✒️ABAP La lógica de procesamiento en el PBO
ABAP La lógica de procesamiento en el PBO
1|La creación de módulos:
En el flujo de la lógica de un dynpro utilizamos módulos para realizar el procesamiento. De aquí viene el hecho que a los programas de diálogo se los denomine Module Pool.
Para llamar a un módulo utilizaremos la sentencia MODULE seguida del nombre del módulo tal como vemos a continuacion
MODULE cargar_campos_0100.
Si seleccionamos un módulo con doble clic, el sistema creará las intrucciones MODULO - ENDMODULE en el lugar donde le indiquemos tal como vemos a continuación
Si creamos un módulo en el PBO, el código del mismo empezará con la sentencia MODULE OUTPUT
Si creamos un módulo en el PAI, el código del mismo comenzará con la sentencia MODULE INPUT
2|El 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 Titulos de la dynpro
>Modificar los atributos de los campos de la dynpro
>Inicializar o cargar campos de la pantalla con determinados valores
A continuacion veremos en detalle cada una de las acciones mencionadas.
3|El seteo del Status GUI y de los titulos
En el PBO es donde definiremos cual es el Status GUI y los titulos que se utilizan en la dynpro.
Para ello, dentro del PBO sw la dynpro 0100 de nuestro programa ZPRUEBA_DIALOGO creamos el módulo STATUS_0100 tal como vemos a continuación
Hacemos doble clic en el módulo y el sistema nos propondrá crearlo
Contestaremos que si y luego veremos la ventana de diálogo en donde elegiremos crear un include para almacenar el código del PBO
Luego veremos que el módulo tiene el siguiente código comentado.
Utilizamos la sentencia SET PF-STATUS para setear el Status GUI y la sentencia SET TITLEBAR para setear el titulo correspondientes a la dynpro 0100 tal como vemos a continuación:
En ciertas ocaciones al momento de setear un Status GUI podríamos no querer mostrar todos los botones del mismo.Por ejemplo, en el Status GUI que vemos a continuación, existen los botones BOTON1,BOTON2 Y BOTON3 tal como vemos
Si solo quiciéramos mostrar el BOTON1, tendriamos que agregar los Códigos 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 de la siguiente manera.
Recordemos que para utilizar las estructuras SLIS tendremos que agregar el TYPE-POOLS SLIS
4|La modificación 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 módulo PBO es ejecutado
La estructura de SCREEN es la siguientes:
Activamos o deactivaremos los atributos de los campos de la estructura SCREEN asignando valores 0 o 1 Para almacenar los cambios realizados a los atributos utilizaremos ka sentencia MODIFY SCREEN.
Veamos algunos ejemplos:
Si tenemos una dynpro con el campo de entrada/salida WA_SCREEN_0100-DNI
Y queremos hacer no visible al campo, creariamos un módulo en el PBO con el siguiente código:
Vale mencionar que para que el campo sea visible el atributo INVISIBLE debe ser cero.
Si quisiéramos no permitir la entrada de datos en el campo WA_USUARIOS_100-DNI, es decir convertirlo en un campo de salida, crearíamos un módulo en el PBO con el siguiente código:
Vale mencionar que para que el campo sea de entrada el atributo INPUT debe ser 1.
Si quesiéramos que el campo WA_USUARIOS-DNI sea obligatorio, crearíamos un módulo en el PBO con el siguiente código:
5|¿Cómo 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 el PBO para que luego los mismos se vean reflejados en la pantalla
 
 
 
Sobre el autor
Publicación académica de Cristian Mesa, en su ámbito de estudios para la Carrera Consultor ABAP.
Cristian Mesa
Profesión: Analista Programador - Argentina - Legajo: ED13D
✒️Autor de: 26 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP Fiori
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Hola muy buenas tardes, mi nombre es cristian oralndo mesa, estoy muy feliz de poder tener la posibilidad de realizar esta capacitaci?n ya que me parece s?per interesante sap, espero aprender mucho
Certificación Académica de Cristian Mesa