A mensagem travesti
2011-10-31

Nos módulos AT SELECTION-SCREEN de um REPORT é-te possível lançar mensagens de erro e voltar ao ecrã de selecção. Mas uma vez que passes do START-OF-SELECTION, se lançares uma mensagem de erro, o programa termina. A solução para dar um erro e, ainda assim, regressar ao ecrã de selecção, é travestir a mensagem:
START-OF-SELECTION.
IF condicao_desejada.
MESSAGE S208(00) with 'Erro!' DISPLAY LIKE 'E'.
EXIT.
ENDIF.
WRITE 'Olá, eu sou o resto do programa'.
A mensagem do tipo S mascarou-se de E. Parece que É, mas não É.
Se experimentares vais ver que o sistema dá erro mas não sai completamente do programa; Volta ao ecrã de selecção e não corre o resto do programa (por causa do EXIT).
Obrigado Sérgio Lopes pela dica.
(E obrigado Tiago Celestino pela foto)
O Abapinho saúda-vos.
18 de novembro de 2011 às 17:10
É uma pena que este comando não funcione na versão 4.6C.
=/
Abraço
Allan Oliveira
17 de janeiro de 2014 às 17:09
Nuno,
a mensagem S001(00) dá um erro no code inspector porque o sistema está à espera de 4 parâmetros de entrada.
Se trocares para a mensagem 208, uma vez que só tem 1 parâmetro de entrada já passa no code inspector!
Abc
Sérgio
17 de janeiro de 2014 às 17:15
Obrigado Sérgio!