IF 1 = 2. O que é isso qual a finalidade no ABAP?

domingo, 24 de março de 2013 2 comentários

Todos nós ABP´s principalmente ao DEBUGAR programas STANDARDS já devemos ter visto o código "IF 1 = 2 ..... FAÇA ISSO... ENDIF" e também sabemos que nunca esse código se transformará em verdade. A finalidade principal de tal código é de "manutenção" do programa. Confuso? Leia o seguinte abaixo:

Dependendo do cenário, quando nós emitimos as mensagens no programa usando o comando MESSAGE, ou às vezes podendo ter que chamar o módulo padrão MESSAGE_PREPARE função para preparar toda a mensagem e usá-lo sempre que necessário, ou seja, usando uma lista de mensagens ao invés de apenas uma mensagem que para a execução do programa assim o programa consegue testar todas as mensagens de erro invés de uma por vez e a exibe em uma lista.

CALL FUNCTION 'MESSAGE_PREPARE'
   EXPORTING
     msg_id = msg_id
     msg_no = msg_no
     MSG_VAR1 = sy-msgv1
     MSG_VAR2 = sy-msgv2
     MSG_VAR3 = sy-msgv3
     MSG_VAR4 = sy-msgv4
  IMPORTING
     MSG_TEXT = tdoc-text
  EXCEPTIONS
     FUNCTION_NOT_COMPLETED = 1
     MESSAGE_NOT_FOUND = 2
     OTHERS = 3.


Suponha que nós definimos a classe de mensagem personalizada para a emissão das mensagens. Se temos de modificar certa mensagem nesta classe de mensagem, precisamos primeiro verificar a lista onde será usado a mensagem para estudar o impacto da mudança de mensagem. Se a mensagem é emitida usando a declaração mensagem em qualquer programa, em seguida, que o programa seria exibido na lista onde utilizado. Mas se a mensagem for usado no programa usando o MESSAGE_PREPARE FM ou de qualquer módulo de função similar, então este programa não ira aparecer na lista, onde utilizado. Portanto, a fim de ter este programa incluir na lista onde utilizada, teríamos o seguinte código após a chamada para o MESSAGE_PREPARE módulo de função.

IF  1 = 2.

MESSAGE  E003 (xx).

ENDIF.

"IF 1 = 2" nunca será verdadeiro, a mensagem nunca iria desencadear no programa e este programa seria exibido na lista onde será utilizada a mensagem.


2 comentários:

  • Anônimo disse...

    Parabéns pelo primeiro aniversário do Site Abap Recife. Um lugar para aprender e ensinar através do compartilhamento do conhecimento.
    Ademir Barbosa

  • Anônimo disse...

    Aquele que não compartilha seu conhecimento, deixa morrer consigo os frutos de sua sabedoria.
    Hélcio Macedo.

Postar um comentário