W Pub: ABAP Cursosentenciamessage

Definicin

El sistema permite reaccionar a acciones incorrectas por parte del usuario mostrando un mensaje, el cual afectar al flujo del programa.

Sintaxis:

REPORT <programa> ... MESSAGE-ID

Los mensajes se almacenan en la tabla T100. Los mensajes estn ordenados por el lenguaje, la identificacin de la clase de mensaje (2 caracteres) y por el nmero de mensaje (3 caracteres). En un programa se puede utilizar varias clases de mensaje, pero slo una de ellas podr ser definida estticamente que se define en la sentencia REPORT.

En la sentencia REPORT existe la clusula MESSAGE-ID que nos permite asociar al programa, de manera esttica, una clase de mensaje.

MESSAGE <tipo><num> [ WITH <;c1> <c2> <c3> <c4> ].

<tipo> define el tipo de mensaje.

<num> indentifica el nmero de mensaje. En esta sentencia se mostraran los mensajes de la clase de mensaje definidos en la sentencia REPORT

La clusula WITH permite aadir variables en el mensaje. Existe la limitacin de cuatro variables por mensaje. En el mensaje almacenado en la tabla T100, las variables se definen con un ampersand (&) acompañado de un nmero del 1 al 4.

MESSAGE <tipo><num> TYPE <clase>[ WITH <;c1> <c2> <c3> <c4> ].

Con esta variante especificamos la clase del mensaje de forma dinmica. <clase> determina la clase de mensaje.

La clusula TYPE se utiliza para determinar el tipo de mensaje.

La clusula NUMBER se utiliza para especificar el nmero de mensaje.

La clusula WITH tiene el mismo significado que en la anterior variante.

Un mensaje puede tener cinco diferentes tipos:

  • Tipo A (Abend): El sistema muestra este tipo de mensaje en una ventana de dilogo. Despus de que el usuario confirme el mensaje pulsando la tecla INTRO, el sistema abandona la transaccin donde este.
  • Tipo E (Error) o tipo W(Warning): El sistema muestra el mensaje en la lnea de status. Despus de que el usuario pulsa INTRO el sistema acta en funcin del punto de proceso donde nos encontremos. Si nos encontramos en la creacin del listado bsico, SAP termina el programa. Si nos encontramos en la creacin de un listado secundario, el sistema termina el actual bloque de proceso y presenta el listado del nivel anterior.
  • Tipo I (Informacin): El sistema muestra el mensaje en una ventana de dilogo. Despus de que el usuario pulse INTRO, el sistema contina con el proceso.
  • Tipo S (Success): El sistema muestra el mensaje en la lnea de status del listado creado.

Ejemplo 1:

MESSAGE ID 'XX' TYPE 'E' NUMBER '001' WITH 'Text'.

Ejemplo 2:

MESSAGE E010 WITH 'Example' SY-UNAME.