O que diz uma mensagem?
2012-01-02

Queres obter o texto de uma mensagem da qual só sabes o ID e o número e não sabes como? Aprende aqui:
DATA texto TYPE string.
MESSAGE ID '00' TYPE 'E' NUMBER '163' WITH '123' INTO texto.
É só isto. Agora do lado de dentro da variável texto encontras o seguinte texto:
“O mandante 123 não existe no sistema”
Obrigado a Peteris B pela foto.
O Abapinho saúda-vos.
1 de Março de 2012 às 20:17
LEmbrando também que a SE91 também permite visualizar o texto de uma mensagem. Basta inserir a classe da Mensagem e o número da mesma.
A propósito, parabens pelo Site. Sempre encontro coisas novas que me fazem repensar a maneira de desenvolver. Sou seu Fã! hehehe
2 de Março de 2012 às 0:03
Olá Gilson, obrigado pela dica adicional. E obrigado por seres fã. Fico muito feliz por saber que o Abapinho influencia a maneira de alguém desenvolver!
12 de Junho de 2012 às 20:24
Gostaria de deixar mais uma dica que é uma BAPI que busca a mensagem:
BAPI_MESSAGE_GETDETAIL
Para quem não conhece, esta BAPI é executada através da transação SE37.
Parabéns pelo site! Tenho encontrado muitas dicas úteis para meus programas.
14 de Junho de 2012 às 23:37
Olá William, obrigado.
Não entendi qual a vantagem dessa BAPI em relação ao comando MESSAGE INTO txt. Podes explicar-me? Assim de repente ambas parecem devolver o texto da mensagem já com os parâmetros substituidos. Mas entre as duas o comando MESSAGE ainda assim parece-me mais simples e directo.
Obrigado e abraço,
Nuno
22 de Abril de 2014 às 16:59
Creio que o William realça o facto de so ter de se usar a SE37 sem ter de fazer linha de codigo.
No entanto a SE91 é de longe a maneira indicada para se ver o conteudo de uma mensagem pela classe e id.
Ja o método usado no topico é realmente interessante quando sabemos que determinada mensagem tem um texto que queremos usar para sabe-se la o quê dentro de um programa.