CREACION DE MODULOS
En el flujo de la logia de una dynpro utilizamos modulos para realizar el procesamiento.
Para llamar a un modulo utilizaremos la sentencia MODULE
Sintaxis:
MODULE <nombre del modulo>.
Si pulsamos doble clic en el nombre, el sistema creará las instrucciones MODULE – ENDMODULE
En el PBO:
MODULE <nombre modulo> OUTPUT.
ENDMODULE.
En el PAI:
MODULE <nombre modulo> INPUT.
ENDMODULE.
CODIGO ABAP EN EL PBO DE UNA DYNPRO
El PBO lo utilizaremos para:
Establecer y seleccionar todos los datos y configuraciones que queremos tengan efecto en el momento en que se visualice la pantalla.
SETEO DEL STATUS GUI Y DE LOS TÍTULOS:
- Creamos el modulo MODULE satatus_0100.
- Pulsamos 2 veces en status_0100.
- Nos pregunta si queremos crearlo, contestamos que si.
- En la siguiente ventana seleccionamos como include del PBO
- El sistema nos ofrece una ventana con instrucciones pre configuradas y comentadas.
MODULE STATU_0100 OUTPUT.
* SET PF-STATUS ‘xxxxxxxxxx’.
* SET TITLEBAR ‘xxxx’.
ENDMODULE.
NOTA: ES muy recomendable crear un include para almacenar todos los modulos y subrutinas que utilizamos en la lógica de procesamiento del PBO.igualmente valido para el PAI
Sentencia SET PF-STATUS para setear el STATUS GUI
Sentencia SET TITLEBAR para setear el título correspondiente a la dynpro.
Se puede crear un título utilizando variables estas se pueden especifiar mediante la sentencia SET TITLEBAR WITH podemos usar hasta 9 variables en un título, se utilizan como si fueran un paso de parámetros, de izquierda a derecha o según su numeración. En tiempo de ejecución el título se guarda en la variable SY-TITLE.
OMITIR BOTONES EN UNA STATUS GUI:
Puede que nos interese no mostrar todos los botones de una STATUS GUI. Para ello debemos utilizar una tabla interna del tiupo SLIS_T_EXTAB y incluirla en la sentencia SET PF-STATUS, por ejemplo asi:
CLEAR ti_botones.
REFRESH ti_botones.
APPEND ‘BOTON2’ TO ti_botones.
APPEND ‘BOTON3’ TO ti_botones.
SET PF-STATUS ‘0100’ EXCLUDING ti_botones.
NOTA: para utilizar las estructuras SLIS tenemos que agregar el TYPE-POOLS-SLIS.
MODIFICAR ATRIBUTOS DE LOS CAMPOS DE LA PANTALLA
Los elementos de un dynpro están almacenados en la estructura SCREEN. A su vez la palabra SCREEN es una palabra reservada en ABAP.
La estructura SCREEN es inicializada con los campos definidos en el SCREEN PAINTER y con sus atributas cada vez que el módulo PBO es ejecutado.
Estructura:
CAMPO DESCRIPCION
SCREEN-NAME Nombre del campo
SCREEN-GROUP1 Grupo de modificación 1
SCREEN-GROUP2 Grupo de modificación 2
SCREEN-GROUP3 Grupo de modificación 3
SCREEN-GROUP4 Grupo de modificación 4
SCREEN-REQUIRED Campo obligatorioa
SCREEN-INPUT Campo de entrada
SCREEN-OUTPUT Campo de salida
SCREEN-INTENSIFIED Campo intensificado
SCREEN-INVISIBLE Campo visible 0=no 1=si
SCREEN-LENGHT Longitud del campo
SCREEN-ACTIVE Campo activo
SCREEN-DISPLAY_3D Campo en 3D
SCREEN-VALUE_HELP Campo con ayuda de búsqueda
SCREEN-REQUEST Campo reservado para uso interno del sistema
Activamos o desactivamos atributos mediante los valores 0 y 1.
Utilizaremos la sentencia MODIFY SCREEN para hacer los cambios.
Ejemplo:
MODULE definir_atributos_0100 OUTPUT.
LOOP AT SCREEN.
IF screen-name EQ ‘WA_SCREEN_0100-DNI’.
screen-invisible = 1.
ENDIF.
ENDLOOP.
ENDMODULE.
NOTA:
screen-intensify = 1. Los contenidos de los campos de entrada de la pantalla pasan de negro a rojo, los de salida de negro a azul
screen-length podemos configurar la longitud de un campo de la pantalla con un valor menor a la longitud de salida del campo especificado de forma estática, solo validos para entrada-salida y solo salida.
CARGAR CAMPOS DE UNA DYNPRO
Para cargar un campo, estructura o tabla interna con datos y luego mostrar dichos datos en una dynpro, simplemente se asignan los datos a los campos de la dynpro en el PBO.