✒️ABAP La pantalla de selección
ABAP La pantalla de selección
Pantalla de selección: es un área dentro de los reportes donde se deben especificar los datos de selección que serán usados para ejecutar el programa. Se usan para restringir el procesamiento y la salida de datos. Por lo general se coloca después de la declaración de datos.
Tipos de objetos a declarar dentro de una pantalla de selección:
- PARAMETER: el usuario puede seleccionar valores individuales
- SELECT-OPTIONS: el usuario podrá ingresar rango de valores.
Existe la palabra reservada PARAMETER y PARAMETERS. PARAMETERS se usa seguido de ":" y permite declarar varios parámetros a la vez reduciendo la cantidad de código fuente.
PARAMETERS: p_fecha LIKE sy-datum OBLIGATORY DEFAULT sy-datum,
p_nombre(10) TYPE c OBLIGATORY.
- La longitud máxima que tener el nombre técnico de un parámetro es de 8 posiciones.
- La palabra reservada OBLIGATORY hace que el ingreso del parámetro en la pantalla de selección sea obligatorio
- La palabra reservada DEFAULT asigna un valor por defecto al ingresar al programa.
Para cambiar la descripción de los parámetros que aparecen en pantalla se debe seguir las siguientes indicaciones: Desde
Editor ABAP / Pasar a / Elementos de texto / Textos de selección. Dentro de la solapa Textos de selección ingresamos la descripción mas adecuada para el usuario. Nota: Para poder realizar esto el programa debe estar activo, sino el campo texto dentro de la solapa "Textos de selección" estará bloqueado.
Otros tipos de parámetros:
- Checkbox: el usuario puede tildar las opciones que prefiera
- Radiobutton: el usuario selecciona únicamente una opción entre todas las disponibles.
PARAMETERS: p_list AS CHECKBOX. "Emitir Listado
PARAMETER: p_arg RADIOBUTTON GROUP bot2, "Argentino
p_col RADIOBUTTON GROUP bot2, "Colombiano
p_mex RADIOBUTTON GROUP bot2, "Mejicano
p_esp RADIOBUTTON GROUP bot2, "Español
p_otr RADIOBUTTON GROUP bot2. "Otra Nacionalidad
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, a parte de valores individuales.
DATA: v_clavep TYPE land1_gp.
SELECT-OPTIONS s_clavep FOR v_clavep. "Clave de País
Para generar un marco que encuadre a los parámetros en la pantalla de selección se puede usar el siguiente bloque de código.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
...
...
SELECTION-SCREEN END OF BLOC b1.
Las clases de mensajes
Para analizar el contenido de los parámetros existe el evento AT SELECTION-SCREEN. Aquí se validan los valores ingresados en la pantalla de selección.
Transacción SE91: se usa para crear, modificar y visualizar clases de mensajes
Para crear una clase de mensaje se debe colocar el nombre de la clase de mensaje (siempre debe iniciar con Z) y luego poner crear. A continuación completamos en texto breve una descripción que sea acorde y coherente a los mensajes que se incluirán en la clase de mensajes y posteriormente en la solapa mensajes se pueden agregar los mensajes. Los mismos se encuentran referenciados por la columna mensaje el cual presenta un índice que va desde el número 000 al 999 (se pueden crear hasta 1000 mensajes por clase de mensaje)
Si agregamos en el texto específico de la columna SE91 el símbolo & nos permitirá posteriormente al usar la sentencia MESSAGE el incorporado del contenido de variables disponibles en el programa o texto especificado entre comillas simples <''>. Para agregar textos se usa la palabra clave WITH.
MESSAGE s003(z_prueba) WITH 'Estoy agregando un texto de ejemplo que se incorporará a la derecha del mensaje que este asignado al mensaje 003 de la clase de mensaje Z_prueba'.
Importante destacar que el primer caracter luego de la palabra MESSAGE indica el tipo de mensaje, y dependiendo de este tipo de mensaje el programa se comportará distinto y el mensaje se visualizara diferente. Con el agregado de DISPLAY LIKE 'X' se puede modificar la visualización del mensaje pero no la forma de visualizar el mismo.
Ej: MESSAGE s003(z_prueba) WITH V_Nomb DISPLAY LIKE 'E'
Evento AT SELECTION-SCREEN.
Estas validaciones y restricciones que se realizan en el momento que el usuario que ejecuta el programa ingresa los parámetros de entrada en la pantalla de selección se deben ingresar en el editor ABAP dentro del evento AT SELECTION-SCREEN.
Ejemplo:
IF p_fecha < sy-datum.
MESSAGE e000(z_prueba). "La fecha debe ser mayor o igual a la fecha actual
ENDIF.
Tipos de mensajes:
- S Succes (éxito): El programa continua sin interrupción y el mensaje aparece en la línea de status en color verde
- I Información: el programa continua después de la interrupción. Aparece una ventana de diálogo con el mensaje que luego se deberá cerrar para que el programa pueda continuar.
- W Warning: su comportamiento depende del contexto del mensaje. El mensaje aparece en la barra de status en color rojo.
- E Error: su comportamiento depende del contexto del mensaje. El mensaje aparece en la barra de status en color rojo.
- A Terminación: el programa termina después de un cuadro de díalogo
- X Dump: Error en tiempo de ejecución tipo X
Información adicional en video:
La sentencia SELECTION-SCREEN BEGIN OF LINE y SELECTION-SCREEN COMMENT nos permite introducir un texto a la izquierda de un parámetro. Se usa cuando el texto a especificar en el parámetro es muy largo.
EJ:
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(66) TEXT-002.
PARAMETER p_fecha LIKE sy_datum.
SELECTION-SCREEN END OF LINE.
Evento AT SELECTION-SCREEN OUTPUT: este nos permite ocultar parámetros en la pantalla de selección o bloquear el ingreso de valores a los mismos. Este evento se ejecuta antes de que se muestre la pantalla de selección. Se usa la sentencia LOOP AT SCREEN donde SCREEN es una tabla donde en tiempo de ejecución se encuentran todos los parámetros y select-options especificados en la pantalla de selección del programa. No es necesario declarar la tabla SCREEN.
Para determinar la visibilidad o la posibilidad de ingresar datos en un parámetro dentro de una determinada variable se debe usar un condicional IF para seleccionar los parámetros a modificar (se evalúa el campo screen-name de la tabla screen para identificar el parámetro a modificar) y posteriormente se manipula las variables que se encuentran dentro de la tabla screen asignando como valor '0' o '1'. Las variables son las siguientes: screen-input / screen-active / screen-invisible. Antes de finalizar el IF se debe agregar la sentencia MODIFY SCREEN para consolidar los cambios.
Variantes de ejecución:
Se pueden grabar variantes de ejecución. Estos nos servirá para cargar la inserción se los parámetros de entrada en la pantalla de selección, siendo muy útil cuando se trata de programas donde debemos cargar un número considerable de parámetros. Estas variantes pueden ser usadas por otros usuarios de SAP.
Para guardar variantes de ejecución se debe ejecutar el programa y en la pantalla de selección se deben completar los parámetros con los valores deseados que queden guardados en la versión.
Posteriormente se debe ir al ícono de guardado (disquete) en la barra de herramientas, colocar un nombre en el campo variante y en el campo significado introducimos un texto explicativo de la variante a crear. Posteriormente grabamos.
Una vez generada la primer variante de ejecución, al momento de ejecutar el programa aparecerá un nuevo ícono a la derecha del simbolo del reloj (ejecutar) donde podremos seleccionar las variantes de ejecución generadas previamente.
 
 
 
Sobre el autor
Publicación académica de German Ariel Fritsch, en su ámbito de estudios para la Carrera Consultor ABAP.
German Ariel Fritsch
Profesión: Ingeniero Industrial - Argentina - Legajo: EW95G
✒️Autor de: 20 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de German Fritsch