🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

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

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".


 

 

 


Sobre el autor

Publicación académica de Candela Estefanía Calzada, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


Candela Estefanía Calzada

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

✒️Autor de: 160 Publicaciones Académicas

🎓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 Master

El Evento AT SELECTION-SCREEN y los tipos de mensajes Utilizaremos el evento AT SELECTION-SCREEN pata el analisis de los mensajes y errores que se generan a partir de lo introducido por el usuario en la pantalla de seleccion del programa.

Acceder a esta publicación

Creado y Compartido por: Juan Fernando Guerra Mata / Disponibilidad Laboral: FullTime

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

SAP SemiSenior

Resumen Lección: El evento AT SELECTION-SCREEN y los tipos de mensajes. El evento AT SELECTION-SCREEN se utiliza para el análisis de los mensajes y errores que se generan a partir de lo introducido por el usuario en la pantalla de selección del programa. Por lo tanto si no se coloca en esta sección puede ocurrir un Dump y detener el correcto funcionamiento del sistema.

Acceder a esta publicación

Creado y Compartido por: Alexander José Tovar Rodríguez

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

SAP Senior

Los mensajes se crean en la transaccion se91 se utiliza un & para agregar variables y puede ser de 50 caracteres y solo puede haber hasta 4 variables EVENTO AT-SELECTION-SCREEN es utilizada para validacion de parametros Si hay mas de un parametro que se desea validar se debe de utilizar 1 Evento de AT-SELECTION-SCREEN por parametros, solo se debe de agrega la palabra ON al final MESAGE e000(clase) WITH 'es un mensaje'. donde E es de error, S de exito, I de informacion W de warning, A de terminacion y X es de dump AT-SELECTION-SCREEN ON variable Si la valdiacion se pone en el evento START-OF-SELECTION, si se muestra el mesnajes pero el sistema continua, en cambio en AT-SELECTION-SCREEN el probelma se detiene.

Acceder a esta publicación

Creado y Compartido por: Jesus Caldera

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

SAP Senior

El evento AT SELECTION-SCREEN y los tipos de mensajes /h para entrar en modo debug. At-selection-Screen es el primer evento que se ejecuta luego de ingresado los parametros. Mensajes de error si se ejecutan dentro de start-of-selection se ejecuta como DUMP es decir si interrumpe el proceso si visualiza en la barra inferior el texto del mensaje pero impide la interaccion del usuario con el programa. para evitar esto se pone la clausula display like. Display like para que se vea como mensaje de error

Acceder a esta publicación

Creado y Compartido por: Silvia Marina Carrizo

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

SAP Senior

Evento AT SELECTION-SCREEN y Tipos de mensajes. *En el campo de comandos /h habilita el debug En un reporte ingresar los datos requeridos, en modo debugger verémos que el primer evento que se ejecuta es AT SELECTION-SCREEN La validación indicada sobre fecha menor a hoy nos informará con un mensaje e000(z_prueba) que el valor ingresado no es correcto. Se pueden agregar todas las validaciones deseadas pero siempre dentro de este evento. Tipos de mensaje. S=Status - No hay interrupción E=Error I=Information - Continúa despues de la interrupción W=Warning E=Error A=Terminación X=Dump

Acceder a esta publicación

Creado y Compartido por: Armando Mayo Marquez / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP SemiSenior

Video - El evento AT SELECTION-SCREEN y los tipos de mensajes. Unidad 2 - Lección 9 Se muestra un video utilizando el evento AT SELECTION-SCREEN para el analisis de los mensajes y errores que se generan a partir de lo introducido por el usuario en la pantalla de selección del programa junto con los efectos en pantalla que producen dichos mensajes. Ayuda para la comprensión de la parte teórica explicada en la lección anterior de esta misma unidad.

Acceder a esta publicación

Creado y Compartido por: Jose Angel Duran Fernandez

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

SAP Senior

EL EVENTO AT SELECTION-SCREEN Y LOS TIPOS DE MENSAJES El evento AT SELECTION-SCREEN analizara los mensajes y errores que se generan a partir de lo introducido por el usuario en la pantalla de seleccion del programa. La particularidad que presentan los mensajes de error es que si el mensaje se ejecuta dentro del evento STAR-OF-SELECTION la ejecucion produce lo que en ABAP se conoce como DUMP, es decir, se interrumpe el procesamiento actual del programa se visualiza en la barra inferior de la pantalla el texto del mensaje con el simbolo rojo caracteristico y lo peor es que impide totalmente la interaccion del usuario con el programa debiendo el usuario volver a ejecutar el programa, esto se verifica facilmente ejecutando un mensaje de error dentro...

Acceder a esta publicación

Creado y Compartido por: Miguel Ochoa

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

SAP Senior

EL EVENTO AT SELECTION-SCREEN Y LOS TIPOS DE MENSAJES ESTANDO EN EL PROGRAMA COLOCAMOS /H EN EL CAMPO DE COMANDOS PARA PODER DEBUGGEAR PASO A PASO NUESTRO PROGRAMA, EJECUTAMOS Y VEMOS QUE EL PRIMER EVENTO QUE SE EJECUTA ES EL AT SELECTION-SCREEN. SE AGREGAN ALGUNAS VALIDACIONES PARA PODER VER LOS TIPOS DE MENSAJES CON LOS QUE CUENTA ABAP MENSAJES E CON ESTE ERROR APARECERA UN MENSAJE EN LA PARTE INFERIOR DE LA PANTALLA QUE CORTA EL PROCESAMIENTO DEL PROGRAMA S CON ESTE ERROR APARECERA UN MENSAJE CON EL ICONO VERDE DE CONTINUAR Y PERMITE CONTINUAR CON EL PROCESAMIENTO DEL PROGRAMA W CON ESTE ERROR APARECERA UN MENSAJE CON EL ICONO AMARILLO Y NO SE PERMITE CONTINUAR CON EL PROCESAMIENTO I CON ESTE ERROR APARECERA UN MENSAJE EN...

Acceder a esta publicación

Creado y Compartido por: Luis Eugenio Leyva Orozco

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

SAP Senior

Evento AT-SELECTION-SCREEN: para el analisis de los mensajes de errores que se generan a partir de lo introducido por los usuarios en la pantalla de seleccion (validaciones, etc). Tipos de Mensajes: S : Imprime un mesaje de exito en la barra de estado, y el procesamiento del programa sigue sin problemas. I: Imprime el mensaje de Informacion en un PopUp. El usuario debe darle click al boton seguir para proceguir con el proceso del programa. W: Imprime el mensaje de advertencia en la barra de estado y finaliza el proceso. E: Imprime el mensaje de Error en la barra de estado y el procesamiento del programa se cancela. Cuando utilizamos el AT-SELECTION-SCREEN, lo mas conveniente es validar cada campo(parametro) por separado por Ej: AT-SELECTION-SCREEN...

Acceder a esta publicación

Creado y Compartido por: Jessica Daiana Garcete Paez / Disponibilidad Laboral: PartTime + Carta Presentación

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

SAP Senior

Lección 9 Video - El evento AT SELECTION-SCREEN y los tipos de mensajes Dos temas fundamentales para un programador ABAP AT SELECTION-SCREEN para el análisis de los mensajes y errores que se generan a partir de lo introducido por el usuario en la pantalla de selección de programa.Veremos cada uno de los tipos de mensajes existentes y los efectos en la pantalla que producen, que van desde la interacción con el usuario, la cancelación del programa o transacción, el bloqueo de la pantalla o la simple aparición de un mensaje en la barra de estado del modo de SAP. AT SELECTION-SCREEN ON validarlo por cada variable es lo recomendable, pero se puede utilizar el AT SELECTION-SCREEN para validar...

Acceder a esta publicación

Creado y Compartido por: Freddy Enrique Sierra Yepez

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.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!