✒️ABAP La pantalla de selección
ABAP La pantalla de selección
LECCIÓN 8- Pantalla de Selección
8.1 Parámetros de Selección: delimita el reporte que queremos mostrar. Permite al usuario el ingreso de valores asociados al reporte. Es un área del reporte donde se especifican los parámetros que definen los datos de salida. Generalmente se coloca después de la declaración de los datos.
8.1.1 PARAMETER: el usuario ingresa valores individuales.
8.1.2 SELECT-OPTIONS: el usuario ingresa rango de valores.
8.1.1 PARAMETER
Ejemplos:
PARAMETERS: p_fecha LIKE SY-DATUM OBLIGATORY DEFAULT SY-DATUM,
p_nombre(10) TYPE c OBLIGATORY.
· El agregado DEFAULT le asigna un valor.
Parámetros Tipo Checkbox: el usuario tilda las opciones deseadas
Parámetros Tipo Radiobutton: el usuario selecciona una de las opciones de varias existentes. Ejemplo:
PARAMETER: p_arg RADIOBUTTON GROUP bot2,
p_col RADIOBUTTON GROUP bot2,
p_mex RADIOBUTTON GROUP bot2,
p_esp RADIOBUTTON GROUP bot2.
8.1.2 SELECT-OPTIONS: son iguales a los PARAMETER pero permiten ingresar valores individuales o por rangos (desde-hasta).Ejemplo:
Marcos: permiten encuadrar la pantalla de Selección. Se obtiene colocando la definición de los parámetros entre las sentencias:
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH TITLE text-001.
…..
….
SELECTION-SCREEN END OF BLOCK b1.
B1 = Nombre del Marco
Text-001 = Titulo parte Superior Izquierda del Marco.
8.2 Clases de Mensajes: SE91 – Los mensajes son utilizados para válidar el ingreso de los parámetros del reporte. Se realiza en el evento AT-SELECTION-SCREEN.
Una vez creado el mensaje nos referimos a este con la sentencia MESSAGE. Ejemplo:
*--------------------------------------------------------------------------*
AT SELECTION-SCREEN.
*--------------------------------------------------------------------------*
IF p_fecha < sy-datum.
MESSAGE e000(z_prueba). “000 PRIMER MENSAJE CREADO
“z_prueba es la Clase de Mensajes.
8.2.1 Tipos de Mensaje
- 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.
Código Asociado a los ejemplos la Lección:
*&---------------------------------------------------------------------*
*& Report Z_PRUEBA_ABAP_2_8
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT z_prueba_abap_2_8.
* Declaración de variables
DATA: v_nombre(10) TYPE c,
v_edad(2) TYPE n VALUE '29',
v_codigo_postal(4) TYPE c VALUE '1405'.
*---------------------------------------------------------------------*
* Pantalla de selección
*---------------------------------------------------------------------*
PARAMETERS: p_fecha LIKE sy-datum OBLIGATORY DEFAULT sy-datum,
p_nombre(10) TYPE c OBLIGATORY.
DATA: v_clavep TYPE land1_gp.
SELECT-OPTIONS s_clavep FOR v_clavep. "Clave de País
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
*---------------------------------------------------------------------*
AT SELECTION-SCREEN.
*---------------------------------------------------------------------*
IF p_fecha < sy-datum.
MESSAGE e000(z_prueba). "La Fecha debe ser mayor o igual a la fecha actual
ENDIF.
*---------------------------------------------------------------------*
START-OF-SELECTION.
*---------------------------------------------------------------------*
WRITE:/(10) 'NOMBRE:', v_nombre, 20 'EDAD:', v_edad.
WRITE:/(20) 'CÓDIGO POSTAL:', v_codigo_postal(4).
Ejercicio:
Ejercicio de Práctica: Crear el programa ABAP ZABAP_VUELOS_##### con los siguientes campos en la pantalla de selección:
Parámetro Tipo Obligatorio Elemento datos Descripción
P_ CARRID Parameter V_CARRID (CHAR de 3 posiciones) Compañía aérea
S_ CONNID Selectoptions V_CONNID (CHAR de 4 posiciones) Código vuelo
El programa deberá imprimir por pantalla los valores de los parámetros ingresados con el título “Códigos de vuelo de las compañías”. En caso de que no se haya introducido alguno de los dos parámetros se deberá emitir el mensaje de status “Debe completar los parámetros” y se detendrá el procesamiento del programa.
Solución:
*&---------------------------------------------------------------------*
*& Report ZABAP_VUELOS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zabap_vuelos.
* Declaración de Tablas y variables
DATA: v_carrid(3) TYPE c,
v_connid(4) TYPE c.
* Pantalla de selección
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_carrid LIKE v_carrid. "Compañía aérea
SELECT-OPTIONS: s_connid FOR v_connid. "Código de vuelo
SELECTION-SCREEN END OF BLOCK b1.
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
*----------------------------------------------------------------------*
IF p_carrid IS INITIAL OR s_connid-low IS INITIAL.
MESSAGE e001(z_prueba) WITH 'Debe completar los parámetros'.
ENDIF.
*----------------------------------------------------------------------*
START-OF-SELECTION.
*----------------------------------------------------------------------*
WRITE:/ 'Compañía aérea: ', p_carrid.
WRITE:/ 'Código de vuelo desde: ', s_connid-low.
WRITE:/ 'Código de vuelo hasta: ', s_connid-high.
 
 
 
Sobre el autor
Publicación académica de Gustavo Bolivar, en su ámbito de estudios para la Carrera Consultor ABAP.
Gustavo Bolivar
Profesión: Ing Sistemas - Chile - Legajo: EU47Z
✒️Autor de: 45 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
Enfocado en programación sap abap.
Certificación Académica de Gustavo Bolivar