segunda-feira, 23 de julho de 2018

Os sys-da-vida giram em torno do ABAP.

Na linguagem ABAP existem códigos que são de utilização obrigatória para qualquer programa que faça alterações no PRD. Não que você venha a usar todos. Mas os principais você deve e pode conhecer.


SY-SUBRC - Orienta se uma determinada ação obteve sucesso. No ABAP, a expressão lógica "IS INITIAL" nos indica que o operador contém seu valor inicial. Isso retorna um teste lógico. Neste ponto você cria o seu "se".
SY-UNAME - Retorna o nome do usuário. Essa é boa para relatórios, cargas e cargas.SY-DATUM - Retorna a data do sistema. Sempre bom saber que dia a "caca" foi feita!SY-UZEIT -   Retorna a hora, minuto e segundo do sistema - Horário exato da "caca"SY-TCODE - Retorna código da transação atual. Usado quando seu código quer testar a transação. Quero que valide pela XK01, coloco isso! A XK02 nem passa.SY-TABIX - Retorna o número da linha da tabela atual (Normalmente usando dentro de loop.) - Regra cuidado com loop de loop, and select de loop e loopppp e loooppppp... SY-LANGU - Retorna o idioma de logon do usuário. Quase não usado quando regionalizado então, nem pisca.SY-DYNNR - Retorna o número da tela atual. Boa. Quero a tela a telaaaa ... essaaa telaaaaa!SY-UCOMM - Retorna o nome de um botão pressionado (OKCODE). Se clicar no X da direita fecha, mas e o X da esquerda. Eu disse somente no dá direitaaaaa. Na dúvida coloque o nome do botão!
Mais abap deste ponto para baixo, mas é bom conhecer. Isso não te ocupará espaço!
SY-MANDT - Retorna o mandante do sistema. Trava este código somente neste mandante!
SY-REPID - Retorna o nome do programa. 
SY-CPROG - Nome do programa principal.
SY-FDPOS - Utilizado na comparação de Strings.SY-BATCH - Indica a execução de um programa em background.SY-LINNO - Retorna a linha corrente de um relatório.SY-LISEL - Retorna a linha selecionada em relatórios interativos.SY-MANDT - Retorna o mandante do sistema.SY-PAGNO - Retorna a página atual de um relatório.SY-TVAR0 .. SY-TVAR9 - Retorna elementos de textos ou títulos de relatórios.SY-VLINE - Efetua a fechamento de bordas em um relatório.SY-ULINE(N) - Imprime uma linha com n posições.SY-DBCNT - Dentro de SELECT, contém o contador de interação.

E para que uso isso??? Como bom especificador, todo Z criado no sistema deve possuir no mínimo alguns destes no código. Imagine que você crie um programa para dar uma carga de dados. E se a carga falhar? E se... e se... Seeeeeee .... Fudxxx!
Claro que não. Se for fazer um Z para gravar alguma coisa, peça ao abap para internamente no programa gravar em uma tabela Z de log acrescentado o antes e o depois em uma coluna marcada com X, o SY-UNAME, SY-DATUM, SY-UZEIT. Pronto, você fez o programa e qualquer um que o executar deixará gravado o que foi feito.
Na dúvida, no erro... Basta desfazer a caca! (ahhhhhh não previu isso). Ainda assim, seu dia foi salvo porque todas alterações foram gravadas. Isso é o que importa!


Nenhum comentário:

Postar um comentário