Patrocinado por
Patrocinado por Inetum

Abapinho Dev Tools: Dependencies

images/thumbnail.jpg - Thumbnail

O Nuno Morais desenvolveu uma ferramenta muito útil que permite comparar objectos entre sistemas e que funciona muito melhor do que a transacção SREPO. O Abapinho passa a ser o seu repositório oficial. Código no GitHub. Em breve, instruções. Até lá vai experimentando, é intuitivo. E se gostares ou tiveres sugestões deixa aqui um comentário. Obrigado Nuno por teres desenvolvido isto e por o partilhares com o mundo no Abapinho.

Atalhos para fazer letras grandes e pequenas

images/thumbnail.jpg - Thumbnail

Podes nem sequer saber programar mas se souberes datilografar rápido e conheceres muitos atalhos de teclado vais parecer super profissional. No editor escreve a seguinte palavra: chichisbéu Agora experimenta nos seguintes atalhos: CTRL+U: CHICHISBÉU LETRAS GRANDES! MAIÚSCULAS! CTRL+L: chichisbéu letras minúsculas! minúsculas! CTRL+J: Chichisbéu A Primeira Letra De CaDa PaLaVrA É mAiÚsCuLa! CTRL+K: cHICHISBÉU O gRaNdE fIcOu PeQuEnO e ViCe-VeRsA! Obrigado José Vília pela dica. Obrigado Chris pela foto. O Abapinho saúda-vos.

SE16H - Agrega dados sem precisares do Excel

images/thumbnail.jpg - Thumbnail

No início dos tempos usava-se a transacção SE17 para ver o conteúdo de tabelas. Rapidamente sentiram vergonha e decidiram fazer uma coisa melhorzinha a que chamaram SE16. Depois inventaram a ALV e surgiu a SE16N (e muita gente continuou até hoje a usar a SE16, algo que me ultrapassa).

Hoje apresento-vos a SE16H.

CONCATENATE LINES OF itbl

images/thumbnail.jpg - Thumbnail

Se queres serializar um conjunto de strings que tens guardadas numa tabela interna tens duas formas de o fazer. Uma ranhosa e outra cheia de estilo.

Modificar uma campo em todas as linhas de tabela interna

images/thumbnail.jpg - Thumbnail

O que vos vou mostrar não é propriamente uma novidade. Até já foi usado antes no Abapinho. Mas como se continua a ver por aí muita gente a fazer LOOPs a tabelas internas para alterar um campo, achei que valia a pena recordar.

O READ TABLE vai desaparecer!

images/thumbnail.jpg - Thumbnail

Pré 7.4: DATA l_idade type i. READ TABLE lt_gente INTO ls_gente WITH KEY nome = l_nome. l_idade = ls_gente-idade. Pós 7.4: data(l_idade) = lt_gente[ nome = l_nome ]-idade. Obrigado Sérgio Fraga pela dica. O Abapinho saúda-vos.

Tanta coisa nova no 7.4 que não sei por onde começar

images/thumbnail.jpg - Thumbnail

O Abapinho vai lentamente começar a dar dicas específicas para o AS ABAP 7.4. Lentamente porque ainda são poucas as pessoas com acesso a esse sistema. Mas são tantas as novidades que dá vontade de começar a fazê-lo rapidamente. O ABAP era um gajo de meia idade com barriga e todo flácido. Fizeram-lhe uma operação plástica e agora parece ter 20 anos e montes de músculos, capaz de ir sair à noite até às 9 da manhã, beber 7 gins tónicos e a seguir, antes de se ir deitar, fazer 100 burpees só para adormecer melhor.

Breakpoint em mensagem a partir do depurador

images/thumbnail.jpg - Thumbnail

Já estás a meio de um debug e queres que a execução pare numa determinada mensagem.

O que fazer?

Múltiplas selecções OR na SE16N

images/thumbnail.jpg - Thumbnail

Se tu és daquelas pessoas que ainda usa a SE16, este artigo não é para ti. Se continuares a ler corres o risco de encontrar ainda mais uma razão para finalmente passares a usar a SE16N (como se todas as outras não fossem já suficientes).

Imagina que queres seleccionar todos os materiais que tenham “PREGO" no nome e que sejam do tipo FERRAGENS e além disso todos os materiais que tenham “GUARDANAPO" no nome e que sejam do tipo COMIDA. Ou seja, não deverá aparecer o “PREGO_NO_PAO” nem o “GARDANAPO_PAPEL”. O que tu queres é isto (faz de conta):

(MATNR = “PREGO%” AND MTART = “FERR” ) OR (MATNR = “GUARDANAPO%” AND MAKT = “COMI” )

Como bem sabes, numa utilização normal (sem recorrer a isto que te vou mostrar) da SE16N terias de a executar duas vezes e cruzar manualmente a informação porque o ecrã de selecção não dá para fazer ORs.

Ou dá?

DELETE vs CLEAR vs REFRESH vs FREE

images/thumbnail.jpg - Thumbnail

DELETE CLEAR REFRESH FREE

São várias maneiras de limpar os dados de uma tabela interna. À partida parecem iguais. Mas não são.

CASE dentro de SELECT (brevemente em todos os SAPs)

images/thumbnail.jpg - Thumbnail

Prepara-te porque em breve terás muitas surpresas. É que o ABAP está a aprender troques novos. Repara neste: CONSTANTS: lc_menina TYPE STRING VALUE ‘MENINA', lc_menino TYPE STRING VALUE ‘MENINO’, lc_senhor TYPE STRING VALUE ’SENHOR’, lc_senhora TYPE STRING VALUE ‘SENHORA’. SELECT nome, CASE WHEN sexo_id = ‘M' AND idade < 18 THEN @lc_menino WHEN sexo_id = ‘F’ AND idade < 18 THEN @lc_menina WHEN sexo_id = ‘M' AND idade >=18 THEN @lc_senhor WHEN sexo_id = ‘F’ AND idade >=18 THEN @lc_senhora END AS titulo FROM zpessoa WHERE pessoa_id = @pessoa_id INTO CORRESPONDING FIELDS OF @lt_pessoas.

Procura notas directamente no Google Chrome

images/thumbnail.jpg - Thumbnail

O Google Chrome tem uma app para pesquisar notas SAP de forma integrada. Chama-se SAP Notes finder. Instala-se aqui. Obrigado Fernanda Mirabile e Talita Polanczyk pela dica. O Abapinho saúda-vos.

Tenta converter WRITEs para ALVs

images/thumbnail.jpg - Thumbnail

Relatórios que ainda escrevem directamente no ecrã são muito difíceis de manter quando é necessário alterá-los. Se o tiveres de fazer revê o código e, se o esforço não for demasiado, considera convertê-lo para ALV. Se tiveres dúvidas quanto às consequências disto, envolve um funcional nesta decisão.

Curso online grátis de depuração

images/thumbnail.jpg - Thumbnail

O Pedro Lima (responsável pelo OnSAP) fez um curso online grátis a ensinar os rudimentos da depuração em ABAP. Espreitem pois está bem feito e porque estas iniciativas merecem todo o nosso apoio. Tenho a certeza de que o Pedro fará mais cursos se vir que há público interessado. Aqui Nota: o curso é em inglês. O Abapinho saúda-vos

Acabou-se o inglês

images/thumbnail.jpg - Thumbnail

É com pena que vos digo que não será possível ao Abapinho continuar a publicar também em inglês. Peço desculpa aos leitores que não sabem português. O objectivo principal do Abapinho sempre foi a criação de conteúdos sobre ABAP em português. Mas a possibilidade de publicar também em inglês era uma vantagem pois permitia-nos alcançar um público mais vasto. Pudemos fazê-lo durante vários anos porque as traduções eram patrocinadas. Infelizmente, pelo menos por agora, tal não será mais possível.