✒️ABAP / El evento AT SELECTION-SCREEN y los tipos de mensajes Por Candela Calzada

Selector Alummnos / Empresas

ABAP El evento AT SELECTION-SCREEN y los tipos de mensajes

ABAP El evento AT SELECTION-SCREEN y los tipos de mensajes

Unidad n°2: La declaración y el procesamiento de datos
Lección n°9: El evento AT SELECTION-SCREEN y los tipos de mensajes

Los tipos de mensajes:

Cuando ya tengamos todos los parámetros de entrada en la pantalla de selección de nuestro reporte, vamos a querer que dependiendo de los parámetros introducidos se produzcan determinadas acciones, es decir, que el programa tiene que saber si los parámetros ingresados por el usuario son correctos, en caso contrario, se deberán emitir los mensajes correspondientes de modo que se corrija el erro.

Tipos de mensajes:

  • S: éxito.
  • I: información.
  • E: error.
  • W: warning o advertencia.
  • A: terminación
  • X: dump o error en tiempo de ejecución.

Ejemplos:

  • Mensaje de éxito: se ve en la barra de estado. Luego de su ejecución el procesamiento del programa continúa.
  • Mensaje de información: se muestra en una ventana de diálogo. Si el programa se ejecuta de forma online, se pausará el procesamiento del programa hasta que el usuario interactúe con el programa.
  • Mensaje de error: se produce la terminación del procesamiento de la pantalla. Los campos de la pantalla de selección especificados en el evento AT SELECTION-SCREEN permiten la entrada de datos donde el usuario introducirá un nuevo valor.
  • Mensaje de advertencia: se muestra en la barra de status. Funciona como el msj de error, con excepción que el usuario puede saltear este tipo de mensajes presionando enter.
  • Mensaje de terminación: se muestra en una ventana de diálogo y produce la terminación del programa.
  • Mensaje dump: un dump es un error en tiempo de ejecución que interrumpe el procesamiento del programa. Estos msjs no se usan intencionalmente en los programas ABAP, si no que ocurre cuando se produce un error que no se contempló en la lógica del programa.

Las clases de mensajes:

  • Son objetos de ABAP separados del programa principal, por ende debe activarse e incluirse dentro de los objetos que se transportarán al ambiente de testing.
  • Son usados para almacenar todos los mensajes relativos a un proyecto o transacción de SAP.
  • Se crean por la trans. estándar SE91.
    *Trans SE91: se usa para la creación, modificación y visualización de las clases de mensajes en SAP, las cuales nos permiten agrupar los mensajes que usaremos en una aplicación.
  • Cada clase de mensaje puede almacenar hasta 1000 mensajes

EJ:

  1. Dentro de la trans SE91, pondremos el nombre de la clase de mensajes, que será "Z_CLASE_TEST" y creamos.
  2. En el campo de Texto breve, escribimos algo de referencia y guardamos.
  3. Vamos a la pestaña de mensajes y creamos el 1er mensaje que será el n°000.
  4. En el código del programa, usaremos la sentencia MESSAGE para emitir mensajes, se escribe como vemos:
    MESSAGEe001(ZCLASE_MENSAJE) WITH<parámetro1> <parámetro2>... <parámetroN>
    e tipo de mensaje.
    001 núm. de mensaje
    (ZCLASE_MENSAJE) clase de mensaje
    <parámetro1> parámetros: son opcionales
  5. Declaramos el evento AT SELECTION-SCREEN y dentro escribiremos el código correspondiente para ejecutar la validación.
    AT SELECTION-SCREEN.

    IF p_fecha < sy-datum.

    MESSAGE e000(z_clase_test). "La fecha debe ser mayo o igual a la actual.

    ENDIF.
  6. Ejecutamos el reporte introduciendo en la pantalla de selección una fecha anterior a la actual y veremos un mensaje de error en la barra de status.

EJ: Usaremos parámetros dentro de los mensajes, ya que dentro de estos podemos mostrar el contenido de variables:

  1. Crear mensaje 001 con contenido: "& & & &" (los & pueden guardar hasta 50 caracteres y cuatro variables identificadas con & y si queremos que se vea un "&", debemos ponerlo doble: &&).
  2. En el programa escribiremos el msj usando los parámetros del msj 001 como vemos:
    AT SELECTION-SCREEN.

    IF p_fecha < sy-datum.

    MESSAGE e000(z_clase_test) WITH 'La fecha debe ser mayor o igual a la actual'.

    ENDIF.
  3. Al ejecutar el programa, en la barra de status veremos el mensaje de error.

EJ: la última opción dentro de un msj definido en la clase de mensajes, es usar parte texto y parte parámetros:

  1. Crear el msj 002 con el contenido "La fecha debe ser mayor o igual a la fecha &".
  2. Dentro del programa, escribiremos de la sig. forma usando parte texto y parte parámetro del msj 002:
    AT SELECTION-SCREEN.

    IF p_fecha < sy-datum.

    MESSAGE e000(z_clase_test) WITH 'La fecha debe ser mayor o igual a ' sy-datum.

    ENDIF.
  3. Al ejecutar el programa, si ponemos una fecha menor a la actual, nos saldrá el msj de error en la barra de status.

El evento AT SELECTION-SCREEN:

Para validar datos introducidos en los parámetros (parameters o select-options), usaremos AT SELECTION-SCREEN.
Su función es validar los parámetros de la pantalla de selección. Dentro de este evento se emite un msj de error, que hace que el procesamiento del programa no se cancela y el programa queda esperando a que el usuario vuelva a introducir un valor para el parámetro.

El AT SELECTION-SCREEN y las pantallas de selección de los programas junto con sus parámetros, solo tienen sentido cuando se ejecutan de forma online, es decir, donde hay interacción con el usuario.

Ej: en la pantalla de selección de nuestro programa, tenemos varios parámetros de entrada (parameters o select-options), y deseamos validarlos, para que cuando se ingrese un valor incorrecto, el usuario tenga la posibilidad de reingresar ese campo en particular y no todos, tal como sucedería si las validaciones estuvieran debajo en el AT SELECTION-SCREEN:

REPORT z_test_at_selection_screen.

PARAMETER: p_fecha TYPE sy-datum,
p_nombre(10) TYPE c.

  1. Declarar un evento AT SELECTION-SCREEN ON, para cada parámetro que queremos validar:

    REPORT z_test_at_selection_screen.

    PARAMETER: p_fecha TYPE sy-datum,
    p_nombre(10) TYPE c.

    AT SELECTION-SCREEN ON p_fecha.

    IF NOT p_fecha IS INITIAL AND p_fecha LT sy-datum.
    MESSAGE e000 (ztest_mensajes) WITH 'La fecha introducida es mejor a la del día'.
    ENDIF.

    AT SELECTION-SCREEN ON p_nombre.

    IF NOT p_nombre IS INITIAL AND p_nombre CA '012345678'.
    MESSAGE e000 (ztest_mensajes) WITH 'El nombre introducido no puede contener números'.
    ENDIF.

  2. Al ejecutar el programa, si introducimos un valor incorrecto para el parámetro p_fecha, veremos en la barra de status "La fecha introducida es menor a la del día".
    Si introducimos un valor incorrecto para p_nombre, en la barra de status veremos "El nombre no puede contener números".


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Candela Calzada, en su ámbito de estudios para el Curso SAP ABAP.

SAP Expert


Candela Calzada

Profesión: Técnica Electrónica - Argentina - Legajo: JW91W

✒️Autor de: 160 Publicaciones Académicas

🎓Cursando Actualmente: Curso SAP ABAP Avanzado

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Me encuentro estudiando la ingeniería en sistemas de información. poseo amplia experiencia en edición de videos. tengo bases entorno a la programación que quiero continuar consolidando.

Certificación Académica de Candela Calzada

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El evento AT SELECTION-SCREEN y los tipos de mensajes" de la mano de nuestros alumnos.

SAP Expert


1. El Evento AT SELECTION-SCREEN Este evento es fundamental para la interacción en reportes que poseen pantalla de selección. Objetivo: Su función principal es validar los datos introducidos por el usuario en los parámetros (PARAMETERS o SELECT-OPTIONS) antes de que comience el procesamiento principal del programa,. Comportamiento: Si dentro de este evento se emite un mensaje de tipo Error (E), el procesamiento del programa se detiene y no continúa hacia el evento START-OF-SELECTION. El sistema se queda en la pantalla de selección esperando que el usuario corrija el valor ingresado,. Validación de campo específico: Para evitar que se bloqueen todos los campos de la pantalla...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

El evento AT SELECTION-SCREEN y los tipos de mensajes 1| Los tipos de mensajes Una vez que ingresamos todos los parámetros de entrada en la pantalla de selección de nuestro reporte y lo ejecutamos, lo que vamos a querer es que dependiendo de los parámetros introducidos se produzcan determinadas acciones. Con esto nos referimos a que el programa debe ser capaz de validar que los parámetros introducidos por el usuario en la pantalla de selección son correctos y en caso contrario se deberán emitirlos mensajes correspondientes de modo que el usuario corrija lo introducido. En ABAP existen diferentes tipos de mensajes que podemos utilizar, Cada uno de ellos están pensando para una situación...

Acceder a esta publicación

Creado y Compartido por: Felipe De Jesus Arrona Rodriguez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


El evento AT SELECTION-SCREEN y los tipos de mensajes Tipos de mensajes en ABAP Existen diversos tipos de mensajes: S (éxito), I (información), E (error), W (warning/advertencia), A (terminación), X (dump o error en tiempo de ejecución). Los mensajes tipo S aparecen en la barra de estado con un ícono verde; el programa continúa tras mostrarlos. Los mensajes tipo I se presentan en una ventana de diálogo; el usuario debe interactuar y luego continúa el programa. Los mensajes tipo E detienen el procesamiento en la pantalla de selección y muestran un ícono rojo con exclamación. Los mensajes tipo W (advertencia) se muestran en la barra de estado, con la posibilidad de ser...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Los tipos de mensajes Una vez que ingresamos todos los parámetros de entrada en la pantalla de selección de nuestro reporte y lo ejecutamos, lo que vamos a querer es que dependiendo de los parámetros introducidos se produzcan determinadas acciones. Con esto nos referimos a que el programa debe ser capaz de validar que los parámetros introducidos por el usuario en la pantalla de selección son correctos y en caso contrario se deberán emitir los mensajes correspondientes de modo que el usuario corrija lo introducido. Por ejemplo, imaginemos que nuestro reporte tiene en su pantalla de selección el parámetro fecha y deseamos que la fecha sea mayor o igual a la fecha actual y que...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

El evento AT SELECTION-SCREEN y los tipos de mensajes 1 | Los tipos de mensajes Una vez que ingresamos todos los parámetros de entrada en la pantalla de selección de nuestro reporte y lo ejecutamos, lo que vamos a querer es que dependiendo de los parámetros introducidos se produzcan determinadas acciones. Con esto nos referimos a que el programa debe ser capaz de validar que los parámetros introducidos por el usuario en la pantalla de selección son correctos y en caso contrario se deberán emitir los mensajes correspondientes de modo que el usuario corrija lo introducido. Por ejemplo, imaginemos que nuestro repone tiene en su pantalla de selección el parámetro fecna y deseamos que la fecha...

Acceder a esta publicación

Creado y Compartido por: Gustavo Jose Rondon Hernandez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



¿Qué es el evento AT SELECTION-SCREEN? El evento AT SELECTION-SCREEN es un evento especial en ABAP que se ejecuta cada vez que el usuario interactúa con la pantalla de selección, particularmente cuando hace "ENTER", cambia un valor o realiza alguna acción que implica validar o reaccionar ante la entrada del usuario. Este evento es parte del ciclo estándar de procesamiento de una selección, y se puede usar para implementar: Validaciones de campos de selección. Control de dependencias entre campos. Reacciones ante cambios en la selección. Implementación de lógicas adicionales que no están soportadas...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

1. Tipos de Mensajes ABAP Tipo Icono Comportamiento Uso típico S (Éxito) Muestra en barra de estado. Continúa ejecución. Confirmación de acciones exitosas. I (Información) Ventana emergente. Pausa ejecución hasta confirmación. Notificaciones no críticas. E (Error) Bloquea pantalla de selección. Requiere corrección. Validación de parámetros incorrectos....

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


El evento AT SELECTION-SCREEN y los tipos de mensaje 1 Los tipos de mensajes Son fundamentales para la comunicación con el usuario durante la ejecución de los programas. Existen distintos tipos de mensajes, cada uno con un propósito específico: Mensaje de Éxito (S): Se muestra en la barra de estado. El programa continúa su ejecución normalmente. Se identifica con un ícono verde con una tilde. Mensaje de Información (I): Aparece en una ventana emergente. Detiene momentáneamente el programa hasta que el usuario interactúa....

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

El evento AT SELECTION-SCREEN y los tipos de mensajes 1. Los tipos de mensajes Una vez que ingresamos todos los parámetros de entrada en la pantalla de selección de nuestro reporte y lo ejecutamos, lo que vamos a querer es que dependiendo de los parámetros introducidos se produzcan determinadas acciones. En ABAP existen diferentes tipos de mensajes que podemos utilizar. Cada uno de ellos está pensado para una situación o casuítica particular. Los tipos de mensajes existentes son los siguientes: * S - Éxito: Este tipo de mensaje se visualiza en la barra de estado o estatus de la pantalla. Luego de su ejecución el procesamiento del programa continúa. Tienen la particularidad que...

Acceder a esta publicación

Creado y Compartido por: Yeny Gisela Yanes Bautista

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

• Tipos de mensajes Validar que los parámetros introducidos por el usuario en la pantalla de selección son correctos y en caso contrario se deberán emitir los mensajes correspondientes de modo que el usuario corrija lo introducido. En ABAP existen diferentes tipos de mensajes que podemos utilizar. Cada uno de ellos está pensado para una situación o casuística particular. Tipo de Mensaje Significado del mensaje S Éxito I Información E Error W Warning o Advertencia A Terminación X ...

Acceder a esta publicación

Creado y Compartido por: Mauricio Ezequiel Yedro

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!