✒️ABAP El diseño de las pantallas
ABAP El diseño de las pantallas
CREACION DE LAS DYNPROS O PANTALLAS
Podeos utilizar el creeen painter mediante la transaccion SE51 o directamente acceder a traves de la ransaccion SE80 tal como haremos de aqui en adelante.
Accedemos a la transaccion SE80 con el programa zprueba_dialogo, presionamos el boton del mouse encima del mismo y seleccionamos la opcion crear/dynpro.
A coninuacion veremos la siguiente ventana de dialogo donde ingresamos un numero de dynpro y presionamos continuar.
Una dynpro se identifica mediante un numero unico dentro de un programa abap el cual esta formado de cuatro digitos.
Luego veremos la pantalla donde configuraremos las opciones de la dynpro (pestañas atributos, lista elementos, logica del proceso)
En atributos completaremos los siguientes atributos:
- descripcion breve: acorde al objetivo de la pynpro.
- tipo de dynpro: tipo de pantalla.
tiypo Normal ocupa toda la pantalla, tipo subscreen puede mostrarse en un area de cualquier panalla dentro del module pool, tipo ventana de dialogo modal ocupa parte de una pantalla.
- dynpro siguiente: el numero de la proxima dynpro que se visualizara.
- posicion del cursor: el elemento de la pantalla en donde quedaráposicionado el cursor cuando la dynpro se visualice.
. grupo de dynpros: es un numero de cuatro caracteres con el cual podemos asignar muchas dynpros a un grupo de dynpros para poder modificarlas a todas de manera uniforme.
En al solapa lista de elementos veremos la lista de elementos que componen a la dynpro. Como hasta el momento no hemos creado ningno en la dynpro, solo veremos el correspondiente al tipo de elemento de la pantalla OK que existira en cada dynpro que creemos.
En este campo asignaremos un nombre de variable que, al momento de ejecutarse la dypro, contendra el codigo de funcion correspondiente al boton presionado o accion realizada en la pantalla. Tradicionamente a este campo se le denomina OK_CODE (se consulta en la pestaña lista elementos y pestaña atributos generales)
En cada una de las dynpros que creamos tendremos que asignar el OK_CODE.
Demtro de la solapa lista de elementos tambien veremos las solapas textos y mascaras de entrada/salida, atributos especiales y otras mas en donde podremos configurar ciertos aspectos de los elementos que componen a una dynpro.
En la solapa logica proceso es donde especificaremos la logica de procesamiento de la dynpro. En un principio cuando hayamos creado la dynpro y no tengamos una logica definida, visualizaremos la siguiente pantalla con la declaracion de los eventos pbo y pai.
Al igual que los programas, las dynpros deben activarse para poder ejecutarse dentro de un programa de dialogo.
Ahora que ya terminamos de definir la configuracion general de la dynpro, vamos a proceder a crear elementos en la misma. Para ello, accedemos al screen painter presionando el boton layout o disposición del menu.
Para modificar o visualiar la dynpro utilizaremos el boton del lapiz en el panel que se encuentra a la izquierda de la pantalla vemos los iconos de los elementos y volvemos a realizar clic en la pantalla.
Los elementos son los siguientes:
- Campo de texto (text field): se uiliza para mostrar textos fijos o estaicos en pantalla.
Si hacemos doble clic en el texto visualizaremos la siguiente ventana de dialogo donde configuraremos los atributos del texto.
NOmbre: nombre del elemento.
texto:el que se mostrara en el elemento.
nombre icono: podremos agreagr un icono al texto entre los que visualizamos al presionar el boton a la derecha del campo.
quick info: es el texto que se visualizara si mantenemos el puntero del mouse encima del texto.
longitud visualizacion: aqui podremos seleccionar la cantidad de caraceres que se visualizaran del texto en pantalla.
En la pantalla inferior de la ventana veremos las solapas dict, programa y visualizacion.
Dict: aqui podremos especificar si el campo hace referencia a u campo declarado en el diccionario de datos marcando la tilde en la opcion del dict, en cuyo caso, el campo tomara todos los atributos de este. En caso contrario, podemos especificar una rutina de conversion,(es un grupo de modulos de funciones de sap que permiten cambiar el aspecto de visualizacion de un dato ) ayuda de busqueda (es un objeto del diccionario abapa que es usado para definir posibles valores de ayuda de un campo de una tabla base de datos o de un campo de una pantalla) y demas.
Programa: aqui especificaremos si e campo es de entrada, salida o entrada/salida. En el caso de un texto esta opcion esta deshabilitada. Tambien podemos configurar ciertoos parametros de la salida como la justificacion y los ceros.
Visualizacion: aqui seleccionarmeos atributos que tienen que ver con la visualizacion del elemento en la pantalla como son el brillo, si esta visible o no, etc.
.------------------------
Campo de entrada/salida (input/output field): son campos de enrada, salida, entrada/salida que se utilizan para modificar o visualizar datos.
Muchos de los atributos de este elemento son los mismos que describimos en los texos. Los que son propios de estos elementos son:
dropdown: configurar al camo como si fuera una lisa desplegable de valores.
scrollable: configuramos la posibilidad de desplazarnos en la lista.
En la solapa dict odemos determinar el formato del campo en la opcion formato.
en la solapa programa es donde determinaremos si el campo es de entrada, salida o entrada/salida en caso de entrada podemos seleccionar que el campo sea obligatorio, recomendado, posible.
Checkbox: podemos crear un checkbox en la dynpro.
Los atributos propios de este elemento son:
-codigo de funcion: especificar un codigo de funcion para el checkbox. El sy-ucomm adapara este codigo cuando se ejecute la dynpro y se seleccione el checkbox.
-radio button: podemos crear un radiobutton en la dynpro.
Los radio button no se puede selecionar en grupo los checkbox si.
Los atributos son los mismos que los checkbox.
Los podemos agrupar de modo que se pueda seleccionar uno dentro de un grupo de radiobutton.
Para ello en todos los radiobutton completarmeos la opcion grupos.
Por ultimo los seleccionamos a todos y vamos a la opcion del menu tratar/agrupacion/grupo de botones de seleccion/definir.
Pushbutton: podemos crear botones en la dynpro.
El atributo mas importante es el codigo de funcion que sera el valor que tome el sy-ucomm (variable del sistema que contiene el codigo de funcion correspondiente al boton de la pantalla presionado por el usuario) cuando presionamos este boton.
Tabstrip control y tabsrip control con asistente (with wizard): existen dos formas de crearlo: manual io con el wizard o asistente:
Tabstrip es un control que tiene una coleccion de una o mas pestañas o solapas. Cada pestaña o objeto tab de un tabstrip es un objeto separado que los usuaros pueden seleccionar.
Utilizando el wizard:
-nombre del tabstrip
-nombres de las solapas minimamente deben existir dos.
- el codigo de funcion de cada una de las solapas.
Y podemos crear icncludes de subrutinas para amacenar la logica de procesamiento.
Y presionamos el boton finalizar para finalizar. En esta pantalla el sistema nos informa que se crearan las subscreen 0101, 0102 y 0103 en nuestro programa.
Luego en la dynpro veremos creado el elemento.
Si hacemos doble click encima del tabstrip podremos cambiar todos sus atributos tal como hacemos con los otros elementos.
Box: se utiliza para organizar los elementos de la dynpro.
En el campo texto completamos el texto que se visualizara en la parte superior izquierd del box.
-subscreen area: es un area dentro de una dynpro donde podremos colocar otra dynpro. Para llamar a una subscreen funciona como otra pantalla independiente.
Tiene las siguientes opciones:
-Nombre del area de subscreen
Nombre del programa principal
Numero de dynpro de la subscreen
Nombre del area de subscreen
------------------------------------------
Tabla de control y tabla de control con asistente (with wizard): son controles que permiten la visializacion y modificacion de los datos de una tabla. Como este control es de suma importancia y presenta cierta dificultad se profundizara el tema.
Custom control: es un contenedor de una dynpro en donde podemos mostrar otro elemento de la pantalla.
Icono de estado (status icon): se utiliza para mostrar elementos indicando el status gui del programa.
Al momento de crear campos en una pantalla o dynpro de un programa tenemos dos posibilidades: utilizar campo que estan guardados en el diccionario de datos ABAP y la otra posibilidad es declarar los campos que vamos a utilizar en el programa de dialogo si es asi lo mas conveniente es declarar dentro del include donde colocamos las declaraciones de datos una estructura diferente para cada dynpro del programa por ej: si tenemos las dynpros 0100, 0200, 0300 dentro de nuestro programa entonces declararemos las estructuras wa_screen0100, wa_screen0200 y wa_screen0300 dichas estructuras contendran los campos de cada pantalla lo unico que debemos tener en cuenta es que los campos deben usar nombres identicos en las pantallas y en el programa de dialogo la otra posibilidad es definir campos en las pantallas provenientes del diccionario de datos abap de esta forma los campos de la pantalla llevaran el nombre exacto del campo definido en el diccionario de datos para configurar esta definicion de los campos de la pantalla deberemos tildar en cada campo de la pantalla la opcion campo diccionario programa
 
 
 
Agradecimiento:
Ha agradecido este aporte: William Lemus
Sobre el autor
Publicación académica de Oscar Guillermo Rodriguez Villate, en su ámbito de estudios para la Carrera Consultor ABAP.
Oscar Guillermo Rodriguez Villate
Profesión: Ingeniero de Sistemas - Colombia - Legajo: WM49P
✒️Autor de: 103 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Oscar Rodriguez