![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP La pantalla de selección
ABAP La pantalla de selección
![ABAP La pantalla de selección ABAP La pantalla de selección](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/100.jpg)
PARAMETROS DE SELECCIÓN
Sirven para que el usuario introduzca datos en una pantalla.
PANTALLA DE SELECCIÓN
Es un área dentro de los reportes donde se especifican los parámetros de selección.
Por lo general se colocan después de la declaración de datos.
TIPOS
Existen dos tipos:
PARAMETER para ingresar valores individuales.
Sintaxis:
PARAMETERS <parametro> TYPE <tipo_de_datos>.
PARAMETER para definir un solo parámetro, PARAMETERS: para definir varios.
MODIFICADORES:
OBLIGATORY -> entrada obligatoria para el usuario.
DEFAULT -> valor por defecto.
Ejemplo: PARAMETER: p_fecha LIKE sy-datum OBLIGATORY DEFAULT sy-datum, p_nombre(10) TYPE c OBLIGATORY.
|
NOTA: La Longitud máxima del nombre de una parámetro es de 8 posiciones.
CAMBIAR LAS DESCRIPCIONES DE LOS PARAMETROS
Para cambiar el texto de las descripciones de los parámetros debemos seleccionar PASAR A -> Elemenots de texto -> Textos de selcción del menú y se nos abrirá una pantalla en la que nos permitirá modificar los textos de los parámetros para poner los que mejor indiquen el propósito al usuario.
CLASES DE PARAMETRO
Podemos crear varias clases de parámetro:
CHECKBOXES: permite al usuario marcar o desmarcar una opción
Ejemplo: PARAMETER p_list AS CHECKBOX. |
RADIOBUTTON: permite al usuario seleccionar una opción
Hay que tener en cuenta que ABAP permite agrupar los RADIOBUTTON para que solo se admita una opción para eso hay que indicar el modificador GROUP.
Ejemplo: Un solo RADIOBUTTON. PARAMETER p_arg RADIOBUTTON. |
Ejemplo: Un grupo de RADIOBUTTON agrupado PARAMETERS: p_arg RADIOBUTTON GROUP grupo1, p_col RADIOBUTTON GROUP grupo1, p_rol RADIOBUTTON GROUP grupo1. |
Podemos designar una opción por defecto añadiendo el modificado DEFAULT.
Quedando así:
Ejemplo: Un grupo de RADIOBUTTON agrupado PARAMETERS: p_arg RADIOBUTTON GROUP grupo1, p_col RADIOBUTTON GROUP grupo1, p_rol RADIOBUTTON GROUP grupo1. |
INICIALIZACION
Si queremos establecer un CHECKBOX o RADIOBUTTON marcado por defecto debemos definirlo en el evento INICIALIZATION de esta forma:
Ejemplo: Supongamos que hemos definido un grupo de RADIOBUTTON de esta forma: PARAMETERS: p_arg RADIOBUTTON GROUP grupo1, p_col RADIOBUTTON GROUP grupo1, p_rol RADIOBUTTON GROUP grupo1.
INICIALIZATION.
p_arg = ‘X’. “marca esta opción.
|
SELECT-OPTIONS permite ingresar valores individuales y rangos
Sintaxis:
SELECT-OPTIONS <s_nombre> FOR <tipo_datos>.
MODIFICADORES:
OBLIGATORY -> entrada obligatoria para el usuario.
NO INTERVALS -> para que no se muestre el hasta.
NO EXTENSION -> para que solo se pueda introducir un rango de valores
Ejemplo: SELECT-OPTIONS s_clavep FOR v_clavep. |
CONTROL:
Cuando creamos un PARAMETRO del tipo SELECT-OPTION el sistema genera una tabla con estos datos:
CAMPO |
VALORES |
SIGN |
I = inclusivo, E = Exclusivo |
OPTION |
BT (entre) NB (No entre) EQ (igual) NE (no igual) GT (Mayor que) LT (Menor que) |
LOW |
Valor desde |
HIGH |
Valor Hasta |
INICIALIZACION
Si queremos designar rangos por defecto a un SELECT-OPTION debemos hacerlo en INICIALIZATION de esta forma
Ejemplo: Suponiendo que hemos creado un SELECT-OPTION de esta forma: SELECT-OPTION s_clave FOR i.
INITIALIZATION. s_clave-LOW = 10. s_clave-HIGH = 100. s_clave-OPTION =’EQ’. s_clave-SIGN=’I’.
|
MARCOS PARA LA PANTALLA DE SELECCION
Podemos crear marcos o encuadres en la pantalla de selección que agrupen los PARAMETERS y SELECT-OPTION a fin de que queden mejor estéticamente y organizativamente en pantalla, permite anidado de bloques.
Sintaxis:
SELECTION-SCREEN BEGIN OF BLOCK <id bloque> WITH FRAME TITLE text-001.
…
SELECTION-SCREEN END OF BLOCK <id bloque>.
Nota: hay muchas opciones con SELECTION-SCREEN hay que revisar la documentación de ABAP.
CLASES DE MENSAJES
Son textos que utilizan nuestros programas y que se gestionan con la Tx SE91. Esto se hace por el multi lenguaje ya que así podemos gestionar los textos y los idiomas en nuestros programas.
Podemos crearnos unos mensajes específicos para cada programa creando un grupo de mensajes mediante la Tx SE91 y referenciarlos con la sentencia MESSAGE o en los títulos de los bloques FRAME de SELECTION-SCREEN es decir el text-001
Esto está catalogado como buenas prácticas ya que se referencian los mensajes mediante una variable y permite la gestión de idiomas sin tocar el programa.
MESSAGE
Mediante la sentencia MESSAGE podemos lanzar un mensaje.
Sintaxis:
MESSAGE <tipo><num>(programa).
Donde tipo es:
TIPO->SIGNIFICADO->COMPORTAMIENTO->APARECE EN->EJEMPLO
e -> ERROR -> Depende del contexto puede cancelar el programa -> BARRA DE ESTADO -> MESSAGE e200(z_prog).
s -> STATUS -> El programa continua -> BARRA DE ESTADO -> MESSAGE s100(z_prog).
w -> WARNING -> Depende del contexto del mensaje -> BARRA D E ESTADO -> MESSAGE w100(z_prog).
i -> INFORMATION -> Detiene el programa y luego continua una vez el usuario ha visto el mensaje -> VENTANA DE DIÁLOGO -> MESSAGE i110(z_prog).
a -> TERMINACION -> Detiene el programa después de un cuadro de diálogo -> VENTANA DE DIÁLOGO -> MESSAGE a105(z_prog).
x -> DUMP -> Error en tiempo de ejecución tipo X -> DUMP -> MESSAGE x10(z_prog).
 
 
 
Sobre el autor
Publicación académica de Josep Antoni Lopez Moyano, en su ámbito de estudios para la Carrera Consultor ABAP.
Josep Antoni Lopez Moyano
Profesión: It Manager - España - Legajo: QP26P
✒️Autor de: 375 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP HCM Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial