✒️ABAP La lógica de procesamiento en el PBO
ABAP La lógica de procesamiento en el PBO
4° Lógica de Procesamiento en PBO
1- Creación de Módulos
En el flujo de la lógica de una dynpro se utilizan Módulos para realizar el procesamiento a los cuales se los llama con la sentencia MODULE seguida del Nombre del Módulo.
Cuando estos Módulos se crean dentro del evento PBO, el sistema le agrega la palabra OUTPUT después del Nombre del Módulo, mientras que le agrega INPUT cuando se crean dentro del evento PAI.
2- Código ABAP en el PBO de una Dynpro
Se utiliza el evento PBO para seleccionar datos y configurar lo que deseamos que tome efecto al momento en que se visualice la Dynpro. Esto puede incluir entre otras cosas:
- Setear el STATUS GUI y los Títulos de la dynpro
- Modificar los Atributos de los campos
- Inicializar o Cargar los campos con determinados valores
3- Seteo del Status GUI y de los Títulos
En el evento PBO se definen cual es el Status GUI y los Títulos que se utilizarán. Esto se realiza con las sentencias
SET PF-STATUS 'nnnn'. "Donde nnnn es el Código del Status GUI
SET TITLEBAR 'nnnn'. "Donde nnnn es el Código del Título
NOTA: El Título se puede armar utilizando hasta 9 variables agregandole la palabra WITH y escribiendo cada uno de los campos que lo conforman a continuación como si fueran parámetros; y se ubicaran en la variable del sistema SY-TITLE uno a continuación del otro al momento de la ejecución.
Puede ser que en algún momento se necesite modificar lo que se mostrará en la dynpro. Por ejemplo, supongamos que, de los 3 Botones que tiene definidos la dynpro, bajo cierta condición, no queremos que aparezcan 2 de ellos. Para lograrlo debemos crear un Tabla Interna del Tipo SLIS_T_EXTAB a la que le cargaremos los Nombres de los Botones a Excluir y luego en el SET se le agrega la palabra EXCLUDING acompañada del Nombre de la Tabla Interna.
NOTA: Recordar que para utilizar estructuras SLIS se debe agregar el TYPE-POOLS SLIS en el programa.
DATA: ti_botones TYPE SLIS_T_EXTAB.
CLEAR ti_botones.
REFRESH ti_botones.
APPEND 'BOTON2' TO ti_botones.
APPEND 'BOTON3' TO ti_botones.
SET PF-STATUS '0100' EXCLUDING ti_botones.
4- Modificación de los Atributos de los Campos de la Dynpro
Los Elementos que componen una Dynpro están almacenados junto con sus Atributos en la estructura SCREEN la cual es inicializada cada vez que el evento PBO es ejecutado con los Campos definidos en el Screen Painter.
Dentro de los Atributos podemos mencionar
- SCREEN-REQUIRED: Campo Obligatorio
- SCREEN-INPUT: Campo de Entrada
- SCREEN-OUTPUT: Campo de Salida
- SCREEN-INVISIBLE: Campo Invisible
Los cuales se consideran Activados si tienen un valor '1' y Desactivados si tienen un valor '0'. Para que se haga efectivo el cambio de valor se debe emplear la sentencia MODIFY SCREEN.
MODULE definir_atributos_0100 OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'WA_SCREEN_0100-DNI'.
screen-invisible = 1. "Para que el campo DNI sea invisible
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDMODULE.
NOTA: Si asignamos un valor '1' a SCREEN-INTENSIFIED y el campo es de Entrada cambiará de Negro a Rojo y si es de Salida cambiará de Negro a Azul. Modificando el SCREEN-LENGHT se puede acortar la longitud de un Campo de Salida o E/S del valor que tenía originalmente.
5- Cargar Campos de una Dynpro
Para cargar con datos un Campo, Estructura o Tabla Interna y luego mostrarlos, simplemente se le asignan los valores dentro del evento PBO, y luego se verán reflejados en la pantalla.
 
 
 
Sobre el autor
Publicación académica de Victor Norberto Levi, en su ámbito de estudios para la Carrera Consultor ABAP.
Victor Norberto Levi
Profesión: Analista Programador - Argentina - Legajo: VT17H
✒️Autor de: 111 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Victor Levi