✒️ABAP La lógica de procesamiento en el PBO
ABAP La lógica de procesamiento en el PBO
Creación de Módulos:
En el flujo de la lógica de una dynpro utilizamos módulos para realizar el procesamiento. De aquí viene el hecho que los programas de dialogo se los denomine Module Pool.
Para llamar a un módulo utilizaremos la sentencia MODULE seguida del nombre del módulo.
MODULE cargar_campos_0100.
Si seleccionamos un módulo con doble clic, el sistema creara las instrucción MODULE - ENDMODULE en el lugar donde le indiquemos de la siguiente manera:
Si creamos un módulo en el PBO, el código del mismo empezara con la sentencia MODULE OUTPUT.
MODULE cargar_campos_0100 OUTPUT.
ENDMODULE.
Si creamos un módulo en el PAI, el código del mismo comenzara con la sentencia MODULE INPUT.
MODULE user_command_0100 INPUT.
ENDMODULE.
Código ABAP en el PBO de una dynpro:
Utilizaremos el evento PBO para seleccionar todos los datos y realizar las configuraciones que queremos que tomen efecto al momento en que se visualice la pantalla. Esto puede incluir entre otras cosas cualquiera de las siguientes acciones:
- Setear el Status GUI y los Títulos de la dynpro.
- Modificar los atributos de los campos de la dynpro.
- Inicializar o cargar campos de la pantalla con determinados valores.
Seteo del Status GUI y de los títulos:
En el PBO es donde definiremos cual es el Status GUI y los títulos que se utilizaran en la dynpro.
Cuando creamos una dynpro ya viene creado pero comentado el modulo que se utilizara para configurar el status y el título de la dynpro.
Es recomendable crear un Include para almacenar los módulos y subrutinas que utilizamos en la lógica de procesamiento del PBO.
Este mismo razonamiento aplica para el PAI y todas las declaraciones de datos que utilicemos en un programa de dialogo.
Para Setear el Status GUI usaremos la sentencia SET PF-STATUS y para Setear el titulo SET TITLEBAR
SET PF-STATUS: utilizada para la declaración de un Status GUI dentro de un programa.
SET TITLEBAR: Utilizada para Setear el título en un programa.
Podemos armar un título utilizando variables, estas pueden ser especificadas mediante la sentencia SET TITLEBAR WHIT podemos usar hasta 9 variables en un título estas son sustituidas en un título de acuerdo con su numeración o de no haberla de izquierda a derecha como si se tratara de un paso de parámetros a una subrutina, en tiempo de ejecución el título del menú se guardara en la variable del sistema SY-TITLE.
Para Setear un Status GUI donde no queramos mostrar todos los botones del mismo, tendríamos que agregar los códigos de los botones que no queramos mostrar a una tabla interna del tipo SLIS_T_EXTAB y luego al momento de ejecutar la sentencia SET PF-STATUS incluir esta tabla interna.
SLIS_T_EXTAB: estructura estándar de SAP que se utiliza para la creación de Títulos en los programas de dialogo.
CLEAR ti_botones.
REFRESH ti_botones.
APPEND 'BOTON2' to ti_botones.
APPEND 'BOTON2' to ti_botones.
SET PF-STATUS '0100' EXCLUDING ti_botones. ---> en caso de no querer mostrar BOTON1.
Recordemos que para utilizar las estructuras SLIS tendremos que agregar el TYPE-POOLS SLIS (Grupo de tipos que contiene la declaración de todas las estructuras y tablas estándar necesarias para la creación de un reporte ALV).
Modificación de los atributos de las pantallas:
Los elementos que componen una dynpro están almacenados en la estructura SCREEN. La palabra SCREEN es una palabra reservada en ABAP.
SCREEN: representa a la tabla interna que almacena los elementos que componen a una dynpro de un programa ABAP.
La estructura SCREEN es inicializada con los campos definidos en el Screen Painter y con sus atributos cada vez que el módulo PBO es ejecutado.
Activaremos o desactivaremos los atributos de los campos de la estructura SCREEN asignando valores 0 o 1. Para almacenar los cambios realizados a los atributos utilizaremos la sentencia MODIFY SCREEN.
Si asignamos un 1 al campo de la pantalla SCREEN INTENSIFIED los contenidos de los campos de entrada de la pantalla se cambiaran de negro a rojo el contenido de los campos de salida se cambiaran de negro a azul.
mediante el atributo SCREEN LENGHT podremos configurar la longitud de un campo de la pantalla con un valor menor a la longitud de salida del campo especificada en forma estática, esto funciona para los campos de entrada/salida y solo salida, no se puede acortar otros elementos de la pantalla o alargar los elementos de la misma.
Cargar campos de una Dynpro:
Para programar un campo, estructura o tabla interna con datos y luego mostrar dichos datos en una dynpro, simplemente tendremos que asignar los datos a los campos de la dynpro en el PBO para que luego los mismos se vean reflejados en la pantalla.
MODULE cargar_valores_0100 OUTPUT.
wa_screen_0100-dni=123456789.
ENDMODULE.
 
 
 
Sobre el autor
Publicación académica de Jeferson Jos? Pe?a Curvelo, en su ámbito de estudios para la Carrera Consultor ABAP.
Jeferson Jos? Pe?a Curvelo
Venezuela - Legajo: PD49W
✒️Autor de: 128 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Jeferson Pe?a