✒️ABAP La pantalla de selección
ABAP La pantalla de selección
Parámetros de selección
Si queremos delimitar a nuestro programa de forma que el reporte solo se ejecute para ciertos datos que el usuario introduce en pantalla, entonces debemos crear una pantalla de selección.
Pantalla de selección
Es un área dentro de los reportes en donde se especifican los parámetros de selección por los cuales se va a ejecutar el programa.
Se utiliza para restringir el procesamiento y la salida de los datos. Por lo general se coloca después de la declaración de datos.
Dentro de una selección se pueden declarar dos tipos de objetos:
- PARAMETER: en los cuales el usuario podrá ingresar valores individuales.
- SELECT-OPTIONS: en donde el usuario podrá ingresar rangos de valores.
PARAMETERS: p_fecha LIKE sy-datum OBLIGATORY DEFAULT sy-datum,
p_nombre(10) TYPE c OBLIGATORY.
Se utiliza PARAMETER para definir un solo parámetro, o PARAMETERS para definir varios parámetros (si definimos uno va a compilar igual).
La longitud máxima que puede tener el nombre de un parámetro es de 8 posiciones.
El agregado de 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.
Para cambiar las descripciones de los parámetros que aparecen en pantalla, antes asegurarse que el programa esta activado, luego vamos a Pasar a -> Elementos de texto -> Textos de selección.
E ingresamos las descripciones que mejor se adapten a nuestro propósito.
También se pueden crear parámetros tipo Checkbox o Radiobutton.
PARAMETERS: p_list AS CHECKBOX.
PARAMETER: p_arg RADIOBUTTON GROUP bot2,
p_col RADIOBUTTON GROUP bot2,
p_mex RADIOBUTTON GROUP bot2,
p_esp RADIOBUTTON GROUP bot2,
p_otr RADIOBUTTON GROUP bot2.
Los SELECT-OPTIONS son iguales a los PARAMETER salvo que en ellos se puede ignresar rangos de valores.
DATA: v_clavep TYPE land1_gp.
SELECT-OPTIONS s_clavep FOR v_clavep.
Podemos crear un "Marco" que encuadre los parámetros de la panatalla de selección. La declaración de los parámetros debe hacerse dentro de la siguiente sentencia:
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
...
...
SELECTION-SCREEN END OF BLOCK b1.
Donde b1 es el nombre del marco y text-001 es el título que se visualizará.
Clases de mensajes
Una vez ingresados los parámetros de nuestro reporte y ejecutamos el programa, vamos a querer que dependiendo los parámetros introducidos se produzcan determinadas acciones.
Para analizar el contenido de los parámetros existe el evento AT SELECTION-SCREEN. En este evento es donde se validan los valores ingresados en la pantalla de selección.
Si quisieramos que la fecha ingresada por pantalla sea mayor o igual a la fecha actual, y que sino se emita un mensaje de pantalla advirtiendolo. Vamos a tener que crear una Clase de mensajes a través de la transacción SE91.
Se le asigna una descripción y se graba.
Y creamos el mensaje.
Luego en el programa, escribiremos el código correspondiente en el evento AT SELECTION-SCREEN para hacer cumplir la validación.
AT SELECTION-SCREEN.
IF p_fecha < sy-datum.
MESSAGE e000(z_prueba).
ENDIF.
El mensaje que vamos a mostrar, es un mensaje de error. Esto está determinado por la letra e que se encuentra antes del número del mensaje, y antes de la clase de mensaje entre paréntesis.
Existen distintos tipos de mensaje: Status (S), Información (I), Warning (W), Error (E), Terminación (A) y Dump (X).
 
 
 
Sobre el autor
Publicación académica de Juan Ignacio Becerra, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Ignacio Becerra
Profesión: Tester Sap - Argentina - Legajo: AJ40A
✒️Autor de: 37 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Juan Becerra