✒️ABAP La pantalla de selección
ABAP La pantalla de selección
Pantalla de selección
1. Parámetros de selección
Una 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 pantalla de selección se pueden declarar dos tipos de objetos: PARAMETER en los cuales el usuario podrá ingresar valores individuales y SELECT-OPTIONS en donde el usuario podrá ingresar rangos de valores. En el siguiente ejemplo declaramos los parámetros P_FECHA y P_NOMBRE.
PARAMETERS: p_fecha LIKE sy-datum OBLIGATORY DEFAULT sy-datum,
p_nombre(10) TYPE c OBLIGATORY.
La longitud máxima del nombre de un parámetro es de 8 caracteres.
Se puede utilizar la palabra reservada PARAMETER para declarar un sólo parámetro o utilizarlo para varios en distintas líneas.
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 vamos en el menú a:
Pasar a/Elementos de texto/Textos de selección Y en esta pantalla podremos cambiar las descripciones de los parámetros.
Para poder cambiar las descripciones debemos activar el programa previamente.
También se pueden crear parámetros tipo Checkbox en donde el usuario puede tildar las opciones que prefiera o tipo Radiobutton donde el usuario selecciona una de las opciones entre todas las existentes.
PARAMETERS: plist AS CHECKBOX. "Emitir un listado
PARAMETER: p_arg RADIOBUTTON GROUP bot2, "Argentino
p_col RADIOBUTTON GROUP bot2, "Colombiano
p_mex RADIOBUTTON GROUP bot2, "Mexicano
p_esp RADIOBUTTON GROUP bot2, "Español
p_otr RADIOBUTTON GROUP bot2, "Otra nacionalidad
Los SELECT-OPTIONS son iguales a los PARAMETER salvo que en ellos se puede ingresar rangos de valores, es decir un valor desde y un valor hasta, aparte de valores individuales.
DATA: v_clavep TYPE land1_gp.
SELECT-OPTIONS s_clavep FOR v_clavep. "Clave de país
Al ejecutar el reporte, a la derecha del campo Clave de país nos aparece un ícono que al presionarlo, nos muestra la ayuda de búsqueda correspondiente al tipo LAND1_GP que es un tipo de la tabla KNA1 (Tabla de Maestro de Clientes).
Podemos crear un "Marco" que encuadre a los parámetros de la pantalla de selección. Para ello, debemos colocar a la declaración de los parámetros dentro de las siguientes sentencias:
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á en el extremo superior izquierdo del marco.
2. Clases de mensajes
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.
Supongamos que queremos que la fecha ingresada por pantalla sea mayor o igual a la fecha actual y que si no es así se emita un mensaje en la pantalla advirtiendo que el valor introducido es incorrecto. Para esto, vamos a tener que crear una Clase de mensajes a través de la transacción SE91 que se utliza para la creación, modificación y visualización de las clases de mensajes en SAP, las cuales nos permiten agrupar los mensajes que utilizaremos en una aplicación. En la pantalla que nos muestra agregamos el nombre de nuestra clase, presionamos crear, en la siguiente pantalla asignamos una descripción de la clase y creamos nuestros mensajes.
Luego en nuestro programa, escribiremos el código correspondiente en el evento AT SELECTION-SCREEN para hacer cumplir con esta validación.
AT SELECTION-SCREEN.
IF p_fecha < sy-datum.
MESSAGE e000(z_prueba). "La Fecha debe ser mayor o igual a la fecha actual
ENDIF.
Al ejecutar nuestro reporte con una fecha anterior a la actual veremos el mensaje de error en el extremo inferior izquierdo de la pantalla.
Si queremos que en el mensaje muestre el valor de la variable al final del texto del mensaje agregamos un espacio y el signo & (ampersand), y agregar después de la declaración del mensaje en el programa la cláusula WITH seguida de la variable.
Cada & (ampersand) puede almacenar hasta 50 caracteres y los mensajes maximo pueden contener hasta 4 variables identificadas con &.
El mensaje que mostramos es un mensaje de error. Esto está determinado por la letra e que se antecede al número del mensaje y la clase de mensajes entre paréntesis.
Los tipos de mensajes son:
TIPO SIGNIFICADO DEL MENSAJE COMPORTAMIENTO EL MENSAJE APARECE EN
S Status El programa continua sin interrupción La línea de status
I Información El programa continua después de la interrupción Una ventana de diálogo
W Warning Depende del contexto del mensaje Barra de status
E Error Depende del contexto del mensaje (puede causar la Barra de status
cancelación del programa)
A Terminación El programa termina después de un cuadro de diálogo Una ventana de diálogo
X Dump Error en tiempo de ejecución tipo X Un dump
 
 
 
Sobre el autor
Publicación académica de Pedro Alejandro Arroyo Gutierrez, en su ámbito de estudios para la Carrera Consultor ABAP.
Pedro Alejandro Arroyo Gutierrez
Profesión: Gerente de Sistemas - Mexico - Legajo: MC48F
✒️Autor de: 65 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Pedro Arroyo