✒️ABAP La pantalla de selección
ABAP La pantalla de selección
1 - PARAMETROS DE SELECCION.
Pantalla de Selección: Area dentro del reporte, en donde se especifican los parámetros deselección por los cuales se va a ejecutar el programa.
Se pueden declarar 2 tipos de objetos:
<PARAMETER[S]:> Para ingresar valores individuales.
Cláusulas:
OBLIGATORY: "Obliga" que el parámetro tenga un valor (aparece un check en el campo).
DEFAULT: Asigna un valor por defecto.
Una de las ventajas de definir un campo como "LIKE" de la Fecha, Hora o campos de Tablas del sistema es la Ayuda y el Matchcode (F4).
Para definir los "textos" de los campos de pantalla, lo haremos por el <Menú>/<Pasar a>/<Elementos de texto>/<Textos de selección
Importante!!!: Para poder rellenar esos campos, el programa ha de estar "activado" previamente.
Existen los parámetros
Checkbox: El usuario puede "tildar" las opciones que quiera.
Ej.: PARAMETER: p_list AS CHECKBOK. "Emitir Listado.
Radiobutton: El usuario selecciona ("tilda") una de las opciones entre las existentes.
Ej.: PARAMETER: p_arg RADIOBUTTON GROUP g1 "Argentino.
p_eng RADIOBUTTON GROUP g1 "Inglés.
p_esp RADIOBUTTON GROUP g1 "Español.
p_otr RADIOBUTTON GROUP g1 "Otra Nacionalidad.
SELECT-OPTIONS: Para ingresar rangos de valores (desde/hasta).
Para definir un "Marco" donde podeamos englobar los campos de selección de entrada, con las siguientes sentencias (Evento SELECTION-SCREEN)
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN END OF BLOCK b1.
b1: Nombre del Marco
text-001(definir en Elto. de textos): Titulo que se mostrará en el extremo superior izquierdo del marco.
2 - CLASES DE MENSAJES.
Evento AT SELECTION-SCREEN. Se define este evento para "validar" los valores introducidos en los campos de selección definidos.
SE91: Transacción para crear/modificar/visualizar una Clase de mensajes.
- Nombre Clase Mensaje: Z_MSG_KW17D
- Objeto parcial: Mensajes/000
<Crear> => Se le dá una descripción y se graba (pedirá un paquete).
- Se define la descripción del mensaje: 000-Fecha Incorrecta
en el Programa se define lo siguiente:
AT SELECTION-SCREEN.
IF <condicion>
MESSAGE e000(Z_MSG_KW17D).
END_IF.
Si queremos incluir el valor de una variable (en este ejemplo la fecha de sistema),
En la definicion incluimos al final $.
000-Fecha Incorrecta $
y en el programa:
MESSAGE e000(Z_MSG_KW17D) BUILDER sy-datum.
Nota: Se pueden definir un máximo de 4 variables en el mensaje.
Existen diferentes tipos de mensajes:
Mensaje de Dialogo (A): el mensaje se mostrará con una ventana de diálogo en la pantalla. Este tipo de mensaje produce la terminación del programa y el control retorna a la última área del menú.
Mensaje de Error (E): este tipo de mensaje produce la terminación del procesamiento de la pantalla de selección. Los campos de la pantalla especificados en el evento AT SELECTION-SCREEN permiten la entrada de datos en donde el usuario del programa debe introducir un nuevo valor.
Mensaje de Información (I): el mensaje se mostrará con una ventana de diálogo en la pantalla. Luego de que se ejecuta un mensaje de este tipo el programa continúa su ejecución normal. Si el programa se ejecuta de forma online, se pausará el procesamiento del programa.
Mensaje de Éxito(S): los mensajes de éxito se visualizan en la barra de status de la pantalla del programa. Luego de su ejecución el procesamiento del programa continúa.
Mensaje de Advertencia (W): los mensajes de advertencia se visualizan en la barra de status de la pantalla del programa. Funciona de manera similar a los mensajes de error, con la excepción que el usuario puede saltear este tipo de mensajes presionando la tecla enter.
Mensaje de Cancelación (X): este tipo de mensajes dispara un error en tiempo de ejecución o dump.
Sobre el autor
Publicación académica de Francisco Javier Gomez Jimenez, en su ámbito de estudios para la Carrera Consultor ABAP.
Francisco Javier Gomez Jimenez
Profesión: Consultor Junior - España - Legajo: KW17D
✒️Autor de: 200 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP MM Nivel Avanzado
- Carrera Consultor en SAP MM Nivel Inicial