✒️ABAP La pantalla de selección
ABAP La pantalla de selección
Lección 8: Pantalla de selección
1. Parámetros de selección
Las pantallas de selección se crean para que el reporte solo ejecute ciertos datos que el usuario ingresará en pantalla. Es decir que es un área del reporte donde se especifícan los parámetros de selección por los cuales se va a ejecutar el programa.
Dentro de una pantalla de selección se pueden declarar dos tipos de objetos:
PARAMETER: Para ingresar valores individuales. Y su longitud máxima es de 8 posiciones. Pero si deseamos mas de un parámetros debemos usar PARAMETERS: Eje.
PARAMETERS: p_fecha LIKE sy-datum OBLIGATORY DEFAULT sy-datum,
p_nombre(10) TYPE c OBLIGATORY.
También como PARAMETERS podemos usar un solo parámetro.
El agregado OBLIGATORY hace el parámetro sea obligatorio y el DEFAULT asigna un valor por defecto al parámetro.
NOTA: En un parámetro el recuadro con un check a la izquierda significa que es obligatorio y en un campo fecha si pulsamos F4 se abre el calendario.
SELECT-OPTIONS: Para ingresar un rango de valores.
Nota: para cambiar las etiquetas a los parámetros estando en el editor de programas seleccionamos: Pasar a Elementos de texto Textos de selección ahí ingresaremos las etiquetas que mejor describan el parámetro a mostrar. Pero antes de esto el programa debe activarse.
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. Ejemplo:
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
Los SELECT-OPTIONS son iguales a los PARAMETER salvo que en ellos podemos ingresar un rango de valores, es decir desde y hasta. Ejemplo:
DATA: v_clavep TYPE land1_gp.
SELECT-OPTIONS s_clavep FOR v_clavep. "Clave de País
a la derecha del campo Clave de País nos aparecerá el icono de la ayuda de búsqueda correspondiente al tipo LAND1_GP que es un tipo de la tabla KNA1.
Tabla KNA1: La tabla base de datos estándar KNA1 corresponde al 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: nombre del marco
text-001: es el título.
2. Clases de Mensajes
Para analizar el contenido de los parámetros existe el evento AT SELECTION-SCREEN. En este evento donde se validan los valores ingresados en la pantlla de selección.
Supongamos que queremos que la fecha ingresada 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 tenemos que crear una clase de mensajes( lista de mensajes a utilizar en SAP) con la SE91. Luego de crear la clase de mensajes podemos usar el siguiente ejemplo:
AT SELECTION-SCREEN.
IF p_fecha < sy-datum.
MESSAGE e000(z_prueba). "La Fecha debe ser mayor o igual a la fecha actual
ENDIF.
Donde:
z_prueba: es el nombre de la clase de mensajes
e: Es el tipo de mensaje que muestra en la barra de status el icono de error. Los tipos pueden ser: S(Status), I( Información): W(Warning), E( Error), A(Terminación), X(Dump).
000: Es el indice del mensaje que creamos dentro de la clase de mensajes z_prueba.
NOTA: Dentro de los mensajes que se emiten por pantallas podemos mostrar el contenido de variables. Para ello al final del mensaje cuando lo creamos con la SE91 agregamos el símbolo ampersan ( & ). Si usamos de ejemplo la clase de mensaje del ejemplo anterior:
Podemos agregar al final del mensaje espacio luego &, esto nos permitirá que cuando se muestre el mensaje nosotros podamos agregar una o mas variables al mensaje el programa quedaría así:
IF p_fecha < sy-datum.
MESSAGE e000(z_prueba) WHIT sy-datum.
ENDIF.
Cada ampersan en los mensajes pueden albergar hasta 50 caracteres y como máximo puede contener 4 variables identificadas como ampersan. Si un ampersan se quiere utilizar como texto en el mensaje que vamos a mostrar y no como variable, debemos repetirlo dos veces juntos para que forme parte del texto.
 
 
 
Sobre el autor
Publicación académica de Eric David Rivas Rivas, en su ámbito de estudios para la Carrera Consultor ABAP.
Eric David Rivas Rivas
Profesión: Ing. en Ciencias de la Computación - El Salvador - Legajo: GO81U
✒️Autor de: 29 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP FI Nivel Avanzado
- Carrera Consultor en SAP FI Nivel Inicial
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Certificación Académica de Eric Rivas