✒️ABAP La lógica de procesamiento en el PBO
ABAP La lógica de procesamiento en el PBO
Creación de modulos
en el flujo de la lógica de una dynpro utilizamos modulos para realizar el procesamiento. De aquí viene el hecho que a los programas de dialogo se los denomine Module Pool.
Para llamar a un módulo utlizaremos la sentencia Module seguida del nombre del módulo tal como vemos a continuación:
Module cargar_campos_0100.
Si seleccionamos un modulo con un doble clic, el sistema creara las instrucciones MODULE - ENDMODULE en el lugar donde le indiquemos.
Si creamos un modulo en el PBO, el código del mismo empezará con la sentencia MODULE OUTPUT.
Si creamos un modulo en el PAI, el codigo del mismo comenzara con la sentencia MODULE INPUT.
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.
- Setear el Status GUI y los Titulos 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 titulos
En el PBO es donde definiremos cual es el status gui y los titulos que se utilizaran en la dynpro.
para ello, dentro del pbo de la dynpro 0100 de nuestro programa Zprueba_dialogo crearemos el modulo status_0100
"Process before output. module status_0100"
Cuando creamos una dynpro ya viene creado pero comentado el módulo que se utilizara para configurar el status y el titulo de la dynpro.
Es ampliamente recomendable crear un include para almacenar todos 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 diálogo.
utilizaremos la sentencia SET PF-STATUS para setear STATUS GUI y la sentencia SET TITLEBAR para setear el titulo correspondientes a la dynpro 0100. En ciertas ocasiones al momento de setear un Status GUI podríamos no querer mostrar todos los botones del mismo.
Si solo quisieramos mostrar el el boton1, tendriamos que agregar los codigos de los botones que no queremos 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.
Recordemos que para utilizar las estructuras slis tendremos que agregar el type-pools slis.
Modificacion de los atributos de los campos de la pantalla
los elementos que componen a una dynpro estan almacenados en la estructura Screen. 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 atributos cada vez que el modulo PBO es ejecutado.
Estructura SCREE:
screen-name= nombre del campo
screen-group1= grupo de modificación 1
screen-group2= grupo de modificación 2
screen-required= campo obligatorio
screen-input= campo de entrada
screen-output= campo de salida
screen-intensified = campo intensificado
screen-invisible= campo visible o no visible
screen-lenght = longitud del campo
screen-active = campo activo
screen-display_3D = campo en 3D
Screen-value_help = campo con ayuda de busqueda
screen-request = campo reservado para uso interno del sistema.
PAra activar o desactivar los atributos de los campos de la estructura screen asignamos valores 0 o 1 . para almacenar los cambios realizados a los atributos utilizaremos la sentencia modify screen.
Cargar campos de una dynpro
para cargar 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 la PBO para que luego los mismos se vean reflejados en la pantalla.
 
 
 
Sobre el autor
Publicación académica de Natalia Alejandra Garcia Milla, en su ámbito de estudios para la Carrera Consultor ABAP.
Natalia Alejandra Garcia Milla
Profesión: Ingeniero en Informática - Chile - Legajo: ZE97A
✒️Autor de: 41 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Natalia Garcia