Guias

Published on February 9th, 2011 | by Mauricio Cruz

1

ABAPZombie Guide to ABAP – Parte 6 – ASSERT

Taí um comando que pode ajudar muito o seu trabalho. Sabe quando você tem aquele processo chato que só roda em BACKGROUND, ou em UPDATE TASK, e você não consegue debuggar nem por decreto? Ou por falta de permissões, ou por falta de acessos, falta de conhecimento mesmo…

E o pior: ás vezes é só para saber se a variável X está igual a Y, e consequentemente está ferrando toda a lógica!

Então eu te pergunto: Porque não usar o ASSERT para gravar as expressões lógicas do seu programa?

O ASSERT funciona como uma espécie de “IF”, ou seja, ele é um comando que valida se uma expressão lógica é falsa ou não. Veja o código abaixo:

Neste exemplo acima, a expressão lógica é falsa, e o ASSERT irá gerar um DUMP por conta disso – mas, como escrito no comentário, isso só acontece porque não tem nenhum controle externo no ASSERT.

Como fazer isso? É simples! Primeiro acesse a transação SAAB:

Transação SAAB. Coloque um novo nome para o "Grupo de pontos de Verificação" e clique na página em branco, para criá-lo.

Depois de criado, vão aparecer diversas opções para o seu grupo. Deixe do mesmo jeito que na foto abaixo:

Escolhendo "reg.em log", você permite que o comando ASSERT guarde um log de suas validações lógicas neste grupo.

O flag “Interromper”na foto acima, irá fazer o programa parar no debug quando a condição lógica do ASSERT falhar, e “Cancelar” fará com o que o programa dispare um DUMP sempre que a condição lógica do ASSERT falhar.

Pois bem, salve o grupo, e execute o seguinte código:

Nada vai acontecer quando você rodar o programa, mas se voltarmos na transação SAAB, escolhermos o grupo ZTESTE_ASSERT e verificarmos a aba “Log”:

Vamos ver que as desigualdades ficaram logadas aqui no grupo. Animal, não é?

Agora você não tem mais desculpa para não conseguir avaliar direito seus programas.

Como você perceberá, o grupo na SAAB tem várias opções, inclusive para logs de ASSERTs em BACKGROUND. O negócio agora é fuçar.

Eu, particularmente, descobri este comando enquanto estudava para fazer este post, e achei muito bom! Espero que você também tenha gostado!

Abraço!

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Google+Email this to someonePrint this page

Tags: ,


About the Author

é pasteleiro há alguns anos e criou o ABAPZombie junto com o Mauro em 2010. Gosta de filosofar sobre fundamentos básicos da programação e assuntos polêmicos. Músicas estranhas, artes marciais e games indies são legais. Zumbis não. Converse comigo no twitter e conheça o meu livro de ABAP!



One Response to ABAPZombie Guide to ABAP – Parte 6 – ASSERT

  1. Rogério Coimbra says:

    Muito bom!

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to Top ↑