✒️ABAP La pantalla de selección
ABAP La pantalla de selección
Pantalla de Selección
1. 1)Parámetros de Selección:
Mecanismos para delimitar los programas de manera que los reportes se ejecuten solo para ciertos datos que satisfagan un criterio de selección.
La pantalla de selección es un área en donde se especifican los parámetros de selección. Se utiliza para restringir el procesamiento y salida de los datos. Generalmente se coloca después de la declaración de datos.
Dentro de la pantalla de selección se pueden declarar dos tipos de objetos:
a. PARAMETER: El usuario puede ingresar valores individuales:
b. SELECT-OPTIONS: El usuario puede ingresar un rango de valores.
Ej. PARAMETERS: p_fecha LIKE sy-datum OBLIGATORY DEFAULT sy-atum,
P_nombre(10) TYPE c OBLIGATORY.
La longitud máxima que puede tener el nombre de un parámetro es de 8 posiciones.
La cláusula OBLIGATORY hace que el parámetro sea obligatorio. El agregado de la cláusula DEFAULT asigna un valor por defecto al parámetro. Al ejecutar el reporte del ejemplo veríamos una pantalla en la cual el campo P_FECHA tiene por defecto la fecha del sistema y al apretar F4 se abre una ventana de dialogo a través de la cual fácilmente se puede cambiar el valor de la fecha. El campo P_NOMBRE, esperando a que el usuario introduzca su valor.
Para que el usuario no vea como etiqueta del campo a P_FECHA y P_NOMBRE, se puede ir a:
Pasar a >>> Elementos de texto >>> Textos de Selección.
Aquí podremos asignarle unas etiquetas más “amigables” a nuestros campos de parámetro de selección.
También se pueden crear parámetros tipo Checkbox o Radiobutton.
Ej. PARAMETERS: p_list AS CHECKBOX.
PARAMETERS: p_arg RADIOBUTTONGROUP bot2, “Argentino
P_col RADIOBUTTONGROUP bot2, “Colombiano
P_mex RADIOBUTTONGROUP bot2, “Mexicano
P_otr RADIOBUTTONGROUP bot2. “Otra Nacionalidad
Los SELECT-OPTIONS son similares a los PARAMETER. La diferencia radica en que los primeros permiten ingresar rangos de valores.
Ej: DATA: v_clavep TYPE land1_gp.
SELECT-OPTIONS s_clavep FOR v_clavep.
Al ejecutar este reporte, a la derecha del campo Clave de Pais (s_clavep?, v_clavep?) aparece un icono que al presionarlo nos despliega la ayuda de búsqueda correspondiente al tipo LAND1_GP que es un tipo de la tabla KNA1, la cual es una tabla de bases de datos estándar que corresponde al Maestro de Clientes.
Se puede crear un “Marco” que encuadre los parámetros de la pantalla de selección. Esto lo logramos colocando la declaración de parámetros dentro de las siguientes sentencias:
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
……
……
SELECTION-SCREEN END OF BLOCK b1.
En este bloque, b1 es el nombre del marco y text-001 es el título que se visualizará.
2. 2) Clases de Mensajes.
Una vez ingresados los parámetros y se ejecuta el programa, tenemos que determinar qué acciones se van a ejecutar, dependiendo de los parámetros introducidos.
Para analizar el contenido de los parámetros es que existe el evento AT SELECTION-SCREEN. Es aquí donde se validan los valores introducidos en la pantalla de selección. Si los datos no son válidos, entonces hay que comunicarle al usuario que lo introducido es incorrecto. Para esto se crea una Clase de Mensajes, a través de la transacción SE91. La transacción SE91 nos permite agrupar los mensajes que utilizaremos en nuestra aplicación.
Luego de creada la Clase de mensaje, escribimos el código de validación en el evento
AT SELECTION-SCREEN.
Ej. IF p_fecha < sy-datum.
MESSAGE e000(z_prueba).
Endif.
… donde z_prueba es el nombre de la clase de mensajes y 000 el número del mensaje en la clase de mensajes z_prueba. La letra “e” que aparece antes del 000 indica el mensaje es de tipo Error. A continuación los tipos de mensajes:
Tipo |
Significado |
Comportamiento |
Donde aparece? |
S |
Status |
El programa continúa sin interrupción. |
La línea de status |
I |
Información |
El programa continúa después de la interrupción |
En una ventana de diálogo. |
W |
Warning (Aviso) |
Depende del contexto del mensaje. |
Barra de status |
E |
Error |
Depende del contexto del mensaje (puede causar la cancelación del programa). |
Barra de status |
A |
Terminación (Abort?) |
El programa termina después de una ventana de diálogo |
Una ventana de diálogo. |
X |
Dump |
Error en tiempo de ejecución de tipo X. |
Un “dump” o un log de terminación anormal de cualquier programa. |
 
 
 
Sobre el autor
Publicación académica de Oscar Perez, en su ámbito de estudios para la Carrera Consultor ABAP.
Oscar Perez
Profesión: Ingeniero de Sistemas. Consultor y Desarrollador en Peoplesoft - Canada - Legajo: FD38F
✒️Autor de: 105 Publicaciones Académicas
🎓Cursando Actualmente: Master en Programación ABAP Orientado a Objetos
🎓Egresado de los módulos:
Certificación Académica de Oscar Perez