🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP La pantalla de selección

ABAP La pantalla de selección

ABAP La pantalla de selección

Pantalla de selección

1 Parámetros de selección

Si queremos introducir algunas delimitaciones a nuestro programa de modo que nuestro reporte solo ejecute para ciertos datos que el usuario deberá introducir en la pantalla entonces deberemos crear una pantalla de selección.

Una Pantalla de Selección es un área dentro de los reportes en donde se especifican los parámetros de selección por los cuales se va a ejecutar el programa.

Se utiliza para restriguir el procesamiento y la salida de datos. Por lo general se coloca después de la declaración de datos.

Dentro de una pantalla de selección se pueden declarar dos tipos de objetos: PARAMETERS en los cuales el usuario podrá ingresar valores individuales y SELECT-OPTIONS en donde el usuario podrá ingresar rangos de valores. En el siguiente ejemplo se declararn los parámetros P_FECHA y P_NOMBRE.

Audio: Si deseamos en la pantalla de selección un solo parámetro, entonces utilizaremos la palabra reservada PARAMETER. Si deseamos declarar en la pantalla de selección más de un parametro, entonces utilizaremos la palabra reservada PARAMETERS, seguido de dos puntos. Tengamos en cuenta que podemos también usar PARAMETERS y declarar un solo parámetro. El programa compilará igualmente. O también declarar varios parámetros en la pantalla de selección y para cada uno de ellos escribir en la parte izquierda la palabra reservada PARAMETER.

La longitud máxima que puede tener el nombre de un parámetro es de 8 posiciones.

Añadir a PARAMETER la cláusula OBLIGATORY, hace que el parámetro sea obligatorio.

Añadir a PARAMETER la cláusula DEFAULT asigna un valor por defecto al parámetro. Si ejecutamos el ejemplo anterior veremos lo siguiente:

<< imagen 1.2 >>

Lo que vemos es que al ejecutar nuestro reporte nos aparece la pantalla de selección que acabamos de crear. Vemos que al aderecha de la fecha aparece el icono de matchcode. Si presionamos sobre dicho icono o pulsamos F4 dentro del campo de fecha se abrirá la ventana del calendario.

<< imagen 1.3 >>

Esta ventana es la ayuda de búsqueda al campo SY-DATUM, que es el tipo del parámetro que hemos definido.

Ahora vamos a cambiar las descripciones de los parámetros que aparecen en pantalla. Para esto accedemos desde la transacción SE38 al menú: Pasar a >> Elementos de texto >> Textos de selección

<< imagen 1.4 >>

E ingresamos las descripciones que mejor se adapten a nuestro propósito.

<< imagen 1.5 >>

Audio: Es importante tener en cuenta que para poder introducir los correspondientes textos de selección, el programa en cuestión debe activarse previamente, de lo contrario la columna "texto" correspondiente a la solapa "textos de selección", aparecerá grisada.

También se pueden crear parámetros tipo CHECKBOX en donde el usuario puede marcar las opciones que prefiera, o tipo RADIOBUTTON donde el usuario selecciona una de las opciones entre todas las existentes.

<< imagen 1.6 >>

Los cuáles se visualizarán de la siguiente forma en pantalla:

<< imagen 1.7 >>

Para saber qué campo se seleccionó en el RADIOBUTTON podemos utilizar la siguiente estructura de código, preguntando por cuál fue marcado:

IF check_1 EQ 'X'.

ELSEIF check_2 EQ 'X'.

ELSEIF check_3 EQ 'X'.

.......................

ENDIF.

Los SELECT-OPTIONS son iguales a los PARAMETER salvo que en ellos se puede ingresar rangos de valores, es decir un desde y un valor hasta a parte de valores individuales.

En el siguiente ejemplo se declara el SELECT-OPTIONS denominado s_clavep.

<< imagen 1.8 >>

El tipo utilizado land1_gp es un tipo de la tabla KNA1, por lo que si presionamos en el matchcode veremos la ayuda correspondiente a dicho tipo.

La tabla base datos estándar KNA1 se corresponde al Maestro de Clientes. De cada cliente se guarda en SAP información tal como el número de cliente, el país, el nombre, el código postal, etc.

Podemos crear un marco que encuadre a los parámetros de la pantalla de selección. Para ello debemos colocar la declaración de los parámetros dentro de las sentencias:

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

.....

SELECTION-SCREEN END OF BLOCK b1

Donde b1 es el nombre del marco y text-001 es el título que se visualizará en el extremo superior izquierdo del marco.

2 Clases de Mensajes

Una vez que ingresamos todos los parámetros de nuestro reporte y ejecutamos el programa, lo que vamos a querer es que dependiendo de los parámetros introducidos se produzan determinadas acciones.

Para analizar el contenido de los parámetros existe el evento AT SELECTION-SCREEN. En este evento es donde se validan los valores ingresados en la pantalla de selección.

Supongamos que queremos que la fecha ingresada por pantalla 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, vamos a tener que crear una Clase de Mensaje a través de la transacción SE91, tal y como podemos ver en:

<< imagen 2.1 >>

La transacción estándar SE91 se utiliza para la creación, modificación y visualización de las clases de mensajes en SAP, las cuales nos permiten agrupar los mensajes que utilizaremos en una aplicación.

Se le asigna una descripción y grabamos:

<< imagen 2.2 >>

Y creamos nuestro primer mensaje:

<< imagen 2.3 >>

Luego en nuestro programa, escriberemos el código correspondiente al evento AT SELECTION-SCREEN para hacer cumplir con esta validación:

<< imagen 2.4 >>

Vemos como se especifica la clase de mensajes, el número del mensaje, y la letra para expresar el tipo de mensaje que es, que en este caso es "e" de error.

Por último ejecutamos nuestro reporte con una fecha de la pantalla de selección anterior a la fecha actual y vemos el siguiente mensaje en el extremo inferior izquierdo de la pantalla.

<< imagen 2.5 >>

Audio: Dentro de los mensajes que emitimos por pantalla podemos mostrar el contenido de variables. Para ello utilizamos el símbolo ampersand: &. Supongamos que tomamos el mensaje 000 de la clase Z_PRUEBA que utilizamos anteriormente, el cual dice: "La fecha debe ser mayor o igual a la fecha actual" y queremos que al final del mensaje se visualice la fecha del día actual. Entonces, al final de ese mensaje añadimos un espacio y el símbolo &. Luego tendremos que modificar la declaración del mensaje en el programa, agregando a continuación de la clase de mensaje la cláusula WITH seguida de la variable del sistema SY-DATUM que contiene la fecha. Es importante tener en cuenta que cada ampersand puede albergar hasta 50 caracteres, y que como máximo cada mensaje puede contener hasta 4 variables identificadas con ampersand. Si en un mensaje se desea que aparezca el caracter & como texto y no se desea utilizarlo como variable, debemos repetirlo, es decir escribirlo 2 veces juntas.

El mensaje que mostramos es un mensaje de error. Esto está determinado por la letra "e" que antecede al número del mensaje y la clase de mensajes entre paréntesis.

Los tipos de mensajes existentes son:

S: Status.

I: Información.

W: Warning.

E: Error.

A: Terminación.

X: Dump

<< imagen 2.1 >>

Consultas:

El evento AT SELECTION-SCREEN OUTPUT se ejecuta dentro de un programa antes que se muestre la pantalla de selección del mismo, por lo que es el momento que nos proporciona SAP para evaluar si queremos modificar alguna de las propiedades de los parámetros de selección de la pantalla.

En las pantallas de los programas existe una estructura estándar del sistema que almacena cada campo de la pantalla de selección y particularmente de ellos sus propiedades, una de las propiedades de los parámetros de la pantalla de selección es la "Visualización".

La lógica ABAP sería la siguiente:

LOOP AT SCREEN.
CASE screen-name.
WHEN 'CAMPO1'.
SCREEN-INVISIBLE = 1. "Campo Invisible"

SCREEN-INPUT = 1. "Permite entrada de datos"
ENDCASE.

ENDLOOP.

------------------------------

Si debagueando un programa realizas doble clic encima del select options vas a ver que los select options tienen una estructura determinada de campos, es decir son tablas internas, concepto que veremos en detalle en la próxima unidad.

Su estructura de campos es :

SIGN (char de 1 posición)

OPTION (char de 2 posiciones)

LOW (valor individual del tipo de datos del select options)

HIGH (valor individual del tipo de datos del select options)

Ahora bien si en la pantalla de selección ingresamos un rango desde hasta para el select options S_CONNID, por ejemplo AAAA y BBBB entonces los campos contendrán:

SIGN = I

OPTION = BT (Significa between, que quiere decir "entre")

LOW = 'AAAA'

HIGH = 'BBBB'

------------------------------------------------------

Una clase de mensaje puede almacenar hasta 999 mensajes ya que utiliza tres dígitos para identificar cada mensaje.

Los mensajes de la clase de mensajes son textos que son almacenados en la clase. Luego el tipo del mensaje solo dependerá de la letra que anteceda a la clase y número en la sentencia MESSAGE osea si puedes combinar mensaje de cualquier tipo en una misma clase.


 

 

 

Agradecimiento:

Ha agradecido este aporte: Lorena Amoretti

Favorito:

Está publicación ha sido agregada a sus favoritos por: Lorena Amoretti


Sobre el autor

Publicación académica de José Antonio Saavedra Rodríguez, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La pantalla de selección" de la mano de nuestros alumnos.

SAP Master

Una pantalla de selección es aquella que se define al inicio de un programa, la primera que el usuario ve cuando ejecute el programa, sirve para introducir los datos iniciales los cuales seran los criterios para los calculos de busqueda, para poder realizar una pantalla de seleccion podemos utilizar dos eventos ABAP: SELECTION-SCREEN el cual define la pantalla de selección que queremos crear, las sentencias mas importantes dentro de este evento son parameters, select-option, selection-screen begin of block. AT SELECTION-SCREEN el cual permite definir varias situaciones que sucedera antes, durante y después de la ejecución de la pantalla de selección

Acceder a esta publicación

Creado y Compartido por: William Alejandro Lemus

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

PANTALLA DE SELECCION Parámetros de selección. Máximo de 8 posiciones Sentencia PARAMETERS. Pasar a > Elementos de texto > Textos de selección. RECORDAR que deben activarse OBLIGATORY para que sea obligatorio DEFAULT para un valor por defecto Otros parámetros son CHECKBOX y RADIOBUTTON SELECT-OPTIONS también se puede OBLIGATORY y DEFAULT SELECTION-SCREEN BEGIN OF BLOCK .. WITH FRAME TITLE ACLARACIONES SELECTION-SCREEN BEGIN OF LINE se usa para cuando tenemos que mostrar en pantalla un texto largo ya que normalmente son cortos. Se debe cerrar con SELECTION-SCREEN END OF LINE. SELECTION-SCREEN COMMENT 1(66) texto_del_parámetro 1 desde y 66 desplazamiento...

Acceder a esta publicación

Creado y Compartido por: David Brito Melado

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Pantalla de seleccion: Area dentro de los reportes en donde se especifican los parámetros de selección pór los cuales se ejecutará el programa. Compuesta por parámetros de entrada de datos. Hay dos tipos de parámetros 1 Los parameter en los cuales el usuario podrá ingresar valores individuales. Solo puede tener ocho posiciones. 2 Los select-options en donde el usuario podrá ingresar rangos de valores. Vamos a crear lo que llamamos textos de selección para cada uno de los parámetros de la pantalla de selección. Vamos a ir al menú Pasar a/ Elementos de texto/ Textos de selección Los Radiobutton en donde el usuario selecciona una de las opciones entre todas...

Acceder a esta publicación

Creado y Compartido por: Ariel Martucci / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

LOS PARAMETROS DE SELECCIÓN: delimitaciones del programa PANTALLA DE SELECCIÓN: se utiliza para restringir el procesamiento y la salida de los datos , se escribe despues de la declaración de datos , dentro del include La pantalla de selección esta compuesta por parametros de entrada,existen 2: PARAMETER: ingresar valores individuales PARAMETERS: p_fecha LIKE sy-datum - el nombre de un parametro debe ser de maximio 8 posiciones - podemos asginar un texto de selección a cada parametro, es necesario activarlos Existen algunos adiciones para los parametros como: OBLIGATORY: parametro obligatorio DEFAULT: asigna un valor por defecto tenemos dos tipos de parametros: checkbox: escoger dentro...

Acceder a esta publicación

Creado y Compartido por: Valentina Muñoz Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Selection-screen Este evento define la pantalla de selección PARAMETERS p_campo TYPE tipo. PARAMETERS p_campo TYPE elemento_de_datos. PARAMETERS p_campo LIKE tabla-campo. Select-options: mediante esta sentencia podemos declarar un rango de valores. Selection-screen begin of block nombre_bloque … selection-screen end of block nombre_bloque: con estas dos sentencias estamos definiendo un bloque de la pantalla de seleccción. Elemento de Texto/Texto de seleccion: Son los textos que se crean dentro de un programa ABAP y que se utilizan para los parámetros de la pantalla de selección, ya sea para los PARAMETER o los SELECT-OPTIONS. Se suele utilizar la convención de nombre P_ para los PARAMETERS y la...

Acceder a esta publicación

Creado y Compartido por: Santiago Hernández

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Parametros de selección. Si queremos introducir algunas de limitaciones a nuestro programa de modo que nuestro reporte solo ejecute ciertos datos que el usuario deberá introducir en la pantalla entonces deberemos crear una pantalla de selección. Pantalla de selección: Conjunto de campos de entrada y selecciones, que se muestran al ejecutar un reporte y que sirven para filtrar datos en tablas del sistema. Dentro de la pantalla de selección se pueden colocar 2 tipos de objetos: PARAMETER: Objeto de la pantalla de selección que permite ingresar valores individuales que se utilizaran para restringir el procesamiento y salida de los datos posteriores. SELECT-OPTIONS: Objeto de la pantalla de selección...

Acceder a esta publicación

Creado y Compartido por: Rafael Razo

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

PANTALLA DE SELECCIÓN Área dentro de los reportes donde se especifican parámetros de selección para restringir el procesamiento y la salida de datos. Parámetros de selección: longitud máxima del nombre de un parámetro es de 8 caracteres. PARAMETER(S) para ingresar valores individuales. SELECT-OPTIONS para ingresar rangos de valores, desde hasta. Clausula OBLIGATORY para el parámetro sea obligatorio Clausula DEFAULT para asignar al parámetro un valor por defecto. Tecla F4 para desplegar listas de selección o el calendario en caso de pedir fechas. Para cambiar las descripciones de los parámetros vamos al menú: Pasar a --> Elementos de texto --> Textos...

Acceder a esta publicación

Creado y Compartido por: Diego Fernando Londoño Valencia

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Resumen Lección: Pantalla de selección Parámetros de Selección Pantalla de Selección: Es un área dentro de los reportes en donde se especifican los parámetros de selección por los cuales se va a ejecutar el programa. Se utiliza para restringir el procesamiento y la salida de los datos. por lo general se coloca después de la declaración de datos. Dentro de una pantalla de selección se pueden declarar dos tipos de objetos: PARAMETER: en los cuales el usuario podrá ingresar valores individuales. SELECT-OPTIONS: en donde el usuario podrá ingresar rango de valores. La longitud máxima que puede tener el nombre de un parámetro es de 8...

Acceder a esta publicación

Creado y Compartido por: Alexander José Tovar Rodríguez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Pantalla de selección Si queremos introducir algunas delimitaciones a nuestro programa de modo que nuestro reporte solo se ejecute para ciertos datos que el usuario deberá introducir en la pantalla, entonces deberemos crear una pantalla de selección. La pantalla de selección es un área dentro de los reportes en donde se especifican 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: En los cuales el usuario podrá ingresar datos individuales. SELECT-OPTIONS: En donde el usuario podrá ingresar rangos de valores. El parámetro de la cláusula OBLIGATORY...

Acceder a esta publicación

Creado y Compartido por: Abraham Arredondo Caceda / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Transcripción del audio 1 de la lección 8 de la unidad 2 Si deseamos declaran en la pantalla de selección un solo parámetro entonces utilizaremos la palabra reservada Parameter. Si deseamos declaran en la pantalla de selección mas de un parámetro entonces utilizaremos la palabra reservada Parameters seguido de : . tengamos en cuenta que podemos utilizar también Parameters y declarar un solo parámetro el programa compilara igualmente o también declarar varios parámetros en la pantalla de selección y para cada uno de ellos escribir ala izquierda la palabra parameter Transcripción del audio 1 de la lección 8 de la unidad 2 Es importante tener en cuenta...

Acceder a esta publicación

Creado y Compartido por: Jose Romero Salinas / Disponibilidad Laboral: FullTime

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!