✒️ABAP La lógica de procesamiento en el PBO
ABAP La lógica de procesamiento en el PBO
Lección 4 lógica del procesamiento en PBO:
Creación de módulos: En el flujo de la lógica de una dynpro se utilizan 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, se utilizará la sentencia “MODULE”, seguida del nombre del módulo. Si se selecciona un módulo pulsando dos veces, el sistema creará las instrucciones “MODULE - ENDMODULE”, en el lugar donde se le indique. Si se crea un módulo en el PBO, el código del mismo empezará con la sentencia “MODULE OUTPUT”. Por el contrario, un módulo en el PAI, comenzará con la sentencia “MODULE INPUT”.
Código ABAP en la PBO de una dynpro: se utilizará el evento PBO para seleccionar todos los datos y realizar las configuraciones que se quieran que tomen efecto al momento en que se visualice la pantalla. Esto puede incluir entre otras cosas, cualquiera de las siguientes acciones:
- Determinar el status GUI y los títulos de la dynpro
- Modificar los atributos de los campos de la dynpro
- Inicializar o cargar los campos de la pantalla con determinados valores.
Definir el Status GUI y los títulos: En el PBO es donde se definirá cual es el Status GUI y los títulos que se utilizarán en la dynpro. Dentro del PBO de la dynpro 0100, del programa “ZPRUEBA_DIALOGO”, se creará el módulo “STATUS_0100”. Hacer doble clic en el módulo y el sistema propondrá crearlo. Después, aparecerá una ventana de diálogo donde se elegirá crear un include para almacenar el código de PBO. Se recomienda crear un include para almacenar todos los módulos y subrutinas que se utilizan en la lógica de procesamiento del PBO. Este mismo razonamiento aplica para el PAI y todas las declaraciones de datos que se utilicen en el programa de diálogo. Se utilizará la sentencia “SET PF-STATUS” para determinar el status gui y la sentencia “SET TITLEBAR” para determinar el título correspondiente a la dynpro 0100. En ciertas ocasiones, en el momento de setear un status gui, se podría no querer mostrar todos los botones del mismo. Por ejemplo, en un status gui existen tres botones “BOTON1”, “BOTON2” y “BOTON3”. Si solo se quisiese mostrar el “BOTON1”, habría que añadir los códigos de los botones que no se quieran mostrar a una tabla interna del tipo “SLIS_T_EXTAB” y luego, en el momento de ejecutar la sentencia “SET PF-STATUS”, para utilizar las estructuras “SLIS” hay que añadir “TYPE-POOLS SLIS”.
NOTA: Se puede armar un título utilizando variables. Éstas pueden ser especificadas mediante la sentencia “SET TITLEBAR WITH”. Se pueden usar hasta nueve variables en el título. Éstas son sustituidas en el título de acuerdo con su numeración o de no haberla de izquierda a derecha, como si se pasase de un paso de parámetros a una subrutina. En tiempo de ejecución, el título del menú se guardará en la variable del sistema “sy-title”.
Modificación de los atributos de los campos de la pantalla: Los elementos que componen a una dynpro están almacenados en la estructura “SCREEN”. La palabra “SCREEN” es una palabra reservada en ABAP. Esta estructura, es inicializada con los campos definidos en el Screen Painter y con sus atributos cada vez que el módulo PBO es ejecutado. Se activarán o desactivarán los atributos de los campos de la estructura SCREEN asignando valores 0 y 1. Para almacenar los cambios realizados a los atributos, se utilizará la sentencia “MODIFY SCREEN”. En el ejemplo, una dynpro con el campo de entrada/salida “WA_SCREEN_0100-DNI”, se requiere hacer no visible al campo, se crearía un módulo en el PBO con el código “SCREEN-INVISIBLE = 1”. Para que el campo sea “INVISIBLE”, el atributo invisible debe ser 0. Si no se quisiera permitir la entrada de datos en el campo “WA_USUARIOS_0100-DNI”, es decir, convertirlo en un campo de salida, se crearía un módulo en el PBO con “SCREEN-INPUT = 1”. Vale mencionar que para que el campo sea de entrada el atributo “INPUT” debe ser 1. Si se quiere que el campo “WA_USUARIOS_0100-DNI” sea obligatorio, se crearía un módulo en el PBO con “SCREEN-REQUIRED = 1”.
NOTA: Si se asigna un 1 al campo de la pantalla “SCREEN-INTENSIFIED”, los contenidos de los campos de entrada de la pantalla se cambiarán de negro a rojo. El contenido de los campos de salida se cambiará de negro a azul. Mediante el atributo “SCREEN-LENGTH”, se podrá configurar la longitud de un campo de la pantalla con un valor menor a la longitud de salida del campo especificada de forma estática. Esto funciona para los campos de entrada/salida y solo salida.
Cargar campos de una dynpro: Para cargar un campo, una estructura o una tabla interna con datos y luego mostrar dichos datos en una dynpro, simplemente se tendrá que asignar los datos a los campos de la dynpro en el PBO para que luego los mismos se vean reflejados en la pantalla.
Audiotip 1 : podemos armar un titulo utilizando variables. estas puede ser especificadas mediante la sentencia set title bar with. podemos usar hasta nueve variables en un titulo, estas son sustituidas en el titulo de acuerdo con su numeracion o , de no haberla, de izquierda a derecha. como si se tratase de un paso de parametros a una subrutina. en tiempo de ejecucion el titulo del menu se guardara en la variable del sistema SY-title
 
 
 
Sobre el autor
Publicación académica de Felipe Estepa Quintero, en su ámbito de estudios para la Carrera Consultor ABAP.
Felipe Estepa Quintero
Profesión: Tecnologo en Gestion Logistica - Colombia - Legajo: QH16V
✒️Autor de: 118 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Felipe Estepa