✒️ABAP / La lógica de procesamiento en el PBO Por Gustavo Betancur Guzmán

Selector Alummnos / Empresas

ABAP La lógica de procesamiento en el PBO

ABAP La lógica de procesamiento en el PBO

Unidad 2 lección 4

La Lógica de procesamiento en el PBO.

1- La creación de módulos

En el flujo de la lógica de una dynpro utilizamos modulos xa realizar el procesamiento de aqui viene el hecho q a los prog de diálogo se les denomine MODULE POOL. xa llamar a un modulo utilizaremos la sentencia "MODULE" seguida de nombre del módulo tal como vemos.

MODULE cargar_campos_0100

si selecciones un modulo con doble clic, el sist creará las instrucciones MODULO ENDMODULE en lugar donde indiquemos tal como los vemos

Crear objeto

Modulo PBO cargar_campos_0100 no existe

si no cancelar

Si creamos un modulo en el PBO, el código del mismo empezará con la sentencia "MODULE OUT"

* Module CARGAR_CAMPOS_0100 OUTPUT.

* text

MODULE cargar_campos_0100 OUTPUT.

ENDMODULE. *cargar_campos0100

2- El código ABAP(Advance Businness Aplication Programing)en el PBO de una dynpro.

utilizaremos el evento PB0 xa seleccionar todos los datos y realizar las configuraciones q queremos q tomen efecto al momento en q se visualice la pantalla. Esto puede incluir entre otras cosas cualquiera de los sgntes acciones.

= Setear el status GUI y los titulos de la dynpro

= modificar los atributos de los campos de la dynpro

= iniciar o cargar campos de la pantalla con determinados valores

Veremos en detalle c/u de estas acciones

3 - El seteo del status Gui y de los títulos

=> En el PBO es donde definiremos cual es el status Gui y los titulos q se utilizarán en la dynpro.

xa ello, dentro de PBO, de la dynpro 0100 de nuestro prog ZPRUEBA_DIALOGO crearemos el módulo STATUS_0100 tal como lo vemos a continuación.

Nro dynpro 100 activo

Atributos / lista elem. / log.process

Process BEFORE OUTPUT.

MODULE status_0100.

Cuando creamos una dynpro ya viene creado pero comentado el módulo q se utilizará xa configurar el status y el titulo de la dynpro.

hacemos doble clic en el modulo y el sist nos propondrá crearlo

Crear objeto

Módulo PBO cargar_campos_0100 no existe

Desea cargar el objeto?

si no cancelar

Contestaremos q si y luego veremos la ventana de diálogo en donde exigiremos crear un include xa almacenar el código de PB0.

ZPRUEBA_DIALOGO_PBO || include ZPRUEBA_DIALOGO_PBO

es ampliamente recomendable crear un incluye xa almacenar todos los módulos y subrutinas q utilizaremos en la lógica de procesamiento del PBO.

Este mismo razonamiento aplica xa el PAI y todas las declaraciones de datos q utilicemos en un prog. de diálogo.

Luego veremos q el módulo tiene el sgnte código comentado

*

* MODULE STATUS_0100 OUTPUT.

*

module STATUS_0100 output

* SET PF-STATUS "xxxxxxx"

* SET TITLEBAR "xxxxxxx"

andmodule.

Utilizaremos la sentencia SET PF-STATUS xa sortear el STATUS GUI y la sentencia SET TITLEBAR xa sortear el titulo correspondiente a la dynpro 0100 tal como lo vemos

*

* MODULE STATUS_0100 OUTPUT.

*

MODULE status_0100 OUTPUT.

SET PF-STATUS '0100'

SET TITLEBAR '0100'

ENDMODULE.

Podemos armar un titulo => utilizando variables => estas pueden ser especificadas mediante la sentecia SET TITLEBAR. Hasta 9 variables de un titulo => de Izquierda a derecha (como paso de parametros a una subrutina). El titulo del menú => en tiempo de ejecución => SY-TITLE (variable del sist)

En ciertas ocasiones al momento de setear un STATUS GUI podriamos no querer todos los botones del mismo.

x ej: en el STATUS GUI q vemos a continuación, existen los botones BOTON1, BOTON2 y BOTON3 asi:

si solo quisieramos mostrar el BOTON1, tendriamos q agregar los códigos de los botones q no queremos mostrar a una tab int del tipo SLIS_T_EXTAB y luego al momento de ejecutar la sentencia SET PF-STATUS incluir es tab int de la sgnte manera

CLEAR ti_botones.

REFRESH ti_botones.

APPEND 'Boton2' TO ti_botones.

APPEND 'Boton3' TO ti_botones.

SET PF-STATUS '0100' EXCLUDING ti_botones.

Recordemos q xa utilizar las estructuras SLIS tendremos q agragar el TYPE-POOLS SLIS.

4- La modificación de los atributos de los campos de la pantalla

Los elementos q componen a una dynpro están almacenados en una estructura SCREEN. la palabra SCREEN es reservada en ABAP.

La estructura SCREEN es inicializada con los campos definidos en el SCREEN PAINTER y con sus atributos c/vez q el modulo PBO es ejecutado.

La estructura SCREEN es la sgnte:

CAMPOS DESCRIPCION
SCREEN-NAME NOMBRE DEL CAMPO
SCREEN-GROUP1 GRUPO DE MODIFICACION 1
SCREEN-GROUP2 GRUPO DE MODIFICACION 2
SCREEN-GROUP3 GRUPO DE MODIFICACION 3
SCREEN-GROUP4 GRUPO DE MODIFICACION 4
SCREEN-REQUIRED CAMPO OBLIGATORIO
SCREEN-INPUT CAMPO DE ENTRADA
SCREEN-OUTPUT CAMPO DE SALIDA
SCREEN-INTENSIFIED CAMPO INTENSIFICADO
SCREEN-INVISIBLE CAMPO INVISIBLE 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 XA USO INTERNO DEL SIST

Activaremos o desactivaremos los atributos de los campos de la estructura SCREEN asignando valores 0 o 1.

xa almacenar los cambios realizados a los atributos utilizaremos la sentencia MODIFY SCREEN.

Ejs: si tenemos una dynpro con campo entrada/salida WA_SCREEN:0100-DNI como sigue:

Buscar usuarios

DNI |_______________| matchcode

lentes Buscar usuarios

y queremos hacer no visible al campo, creariamos un modelo en el PBO con el sgnte código:

MODULE definir_atributos_0100 OUTPUT.

LOOP AT SCREEN

IF screen-name EQ 'wa_screen_0100-DNI'.

screen-invisible = 1.

MODIFY_SCREEN.

ENDIF.

ENDLOOP.

ENDMODULE.

Vale mencionar q xa q el campo sea entrada el atributo

INPUT debe ser 1

si quisiéramos q el campo WA_USUARIOS-DNI sea obligatorio, crearíamos un modulo en el PBO con el sgnte código:

MODULE definir_atributos_0100 OUTPUT.

LOOP AT SCREEN

IF screen-name EQ 'wa_screen_0100-DNI'.

screen-required = 1.

MODIFY_SCREEN.

ENDIF.

ENDLOOP.

ENDMODULE.

Si asignamos en el campo SCREEN-INTENSIFIED = 1 los contenidos de los campos de ENTRADA de la pantalla se cambia de NEGRO a ROJO y el contenido de los campos de SALIDA se cambiará de NEGRO a AZUL.

mediante el atributo de SCREEN LENGHT podremos configurar la longitud de un campo de la pantalla con un valor menor a la longitud de salida del campo especificado en forma estática.

esto funciona xa los campos entrada/salidad y solo salida no se pueden a cortar los otros elementos de la pantalla o a largar los elementos de la misma.

5- Como cargar campos de una dynpro?

Xa cargar un campo, estructura o tab int con datos y luego mostrar dichos datos en un dynpro, simple/ tendremos q asignar los datos a los campos de la dynpro en el PBO xa q luego los mismos se vean reflejados en la pantalla

MODULE cargar_valores_0100 OUTPUT.

wa_screen_0100-dni = 27865898.

ENDMODULE.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Gustavo Betancur Guzmán, en su ámbito de estudios para el Curso SAP ABAP Avanzado.

SAP Expert

Gustavo Betancur Guzmán

Profesión: Ingeniero de Sistemas - Colombia - Legajo: WS86O

✒️Autor de: 164 Publicaciones Académicas

🎓Egresado de los módulos:

Certificación Académica de Gustavo Betancur

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La lógica de procesamiento en el PBO" de la mano de nuestros alumnos.

SAP Expert


1. Concepto Fundamental del PBO El PBO es el evento que se dispara antes de que una pantalla (dynpro) sea visualizada por el usuario. Su propósito principal es preparar el entorno de la interfaz, seleccionando los datos necesarios y realizando las configuraciones que deben surtir efecto inmediato al mostrarse la pantalla. En la lógica de flujo de la dynpro, los módulos de este evento se definen bajo la sección PROCESS BEFORE OUTPUT. 2. Acciones Principales en el PBO De acuerdo con las mejores prácticas y la arquitectura estándar, en este evento realizamos tres tipos de acciones esenciales: • Configuración de la interfaz (Status GUI y Títulos): Se define qué menús,...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


La logica de procesamiento en el PBO Creación y Uso de Módulos en Programas de Diálogo Los programas de diálogo utilizan módulos para realizar el procesamiento, de ahí el término "modulepool". Al crear una nueva Dympro, se visualizan eventos PBO y PAI con líneas comentadas para módulos que deben ser descomentadas y luego creadas. Los módulos se declaran con la palabra reservada "module" en ABAP y se llaman mediante la sentencia module seguida del nombre. Al crear un módulo desde la interfaz, el sistema pregunta dónde ubicarlo: en un include nuevo, existente o en el programa principal....

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Introducción El PBO (Process Before Output) es un evento clave en programas de diálogo (Module Pool) que se ejecuta antes de mostrar una dynpro. Se utiliza para configurar el estado inicial de la pantalla, como asignar títulos, modificar atributos de campos y cargar datos. 1. Creación de Módulos en PBO y PAI Estructura de módulos: PBO: Los módulos se definen con MODULE <nombre> OUTPUT. PAI: Los módulos se definen con MODULE <nombre> INPUT. Sintaxis: Recomendaciones: Usar includes separados para organizar módulos de PBO y PAI. Limitar la longitud del nombre del módulo a 30 caracteres. 2....

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



La lógica de procesamiento en el PBO en SAP En SAP, la lógica PBO (Process Before Output) forma parte del ciclo de eventos de una dynpro (pantalla dinámica), particularmente en módulos de diálogo ABAP. El propósito principal del PBO es preparar la pantalla antes de que se muestre al usuario. Esta preparación puede incluir la asignación de valores a campos, control de elementos de interfaz (ocultar, activar, desactivar), y configuración de estructuras internas, variables o controles de navegación. Se ejecuta automáticamente cada vez que se llama a una dynpro, ya sea por navegación, por presionar una tecla de función o como resultado de lógica de...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

El evento PBO (Process Before Output) es fundamental en la programación de diálogo ABAP, ya que se encarga de preparar y configurar la pantalla antes de que sea visualizada por el usuario. En esta lección se aprende todo lo necesario sobre la lógica de procesamiento en el PBO de un programa de diálogo. • La creación de módulos En ABAP, se utilizan módulos para estructurar el procesamiento de la lógica de una dynpro, por lo que los programas de diálogo también se conocen como Module Pools. · â—¦Declaración de módulos: Se utiliza la sentencia MODULE seguida del nombre del módulo. · â—¦Módulos PBO: Los módulos...

Acceder a esta publicación

Creado y Compartido por: Roberto Fluder Ahumada

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Podemos armar un titulo utilizando variables estas pueden ser especificadas mediante la sentencia SET TITLEBAR GUI podemos usar hasta 9 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 tratara de un paso de parametros a una subrutina en tiempo de ejecucion el titulo del menu se guardara en la variable del sistema Set title. Si asignamos un 1 al campo de la pantalla SCREEN INTENSIFY los contenidos de los campos de entrada de la pantalla se cambiaran de negro a rojo el contenido de los campos de salida se cambiara de negro a azul mediante el atributo SCREEN LEN podremos configurar la longitud de un campo de la pantalla con un valor menor a la longitud de salida...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

La creación de los módulos. Cuando creamos una dynpro nueva, dentro de la solapa Lógica de procesamiento, Vamos a visualizar los eventos PBO y PAI y dentro de cada uno de ellos, vamos comentada una línea de código en donde se declara un MODULE. Lo que primero vamos hacer es descomentar ambos MODULE y luego los vamos a crear. Para llamar a un módulo utilizamos la sentencia MODULE seguida del nombre del módulo. Si hacemos doble clic en el MODULE status_0100 entonces el sistema identifica que este módulo no existe y nos pregunta si deseamos crearlo. Previo a crear el MODULO, el sistema nos da a elegir en donde deseamos crear el módulo. Podemos hacerlo dentro de un nuevo include, en...

Acceder a esta publicación

Creado y Compartido por: Javier Miguel Angel Barcelo / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

LA CREACIÓN DE MODULOS. Cuando creamos una dynpro nueva, dentro de la solapa Lógica de procesamiento, vamos a visualizar los eventos PBO y PAI y dentro de cada uno de ellos, vemos comentada una linea de codigo en dónde se declara un MODULE. Lo que primero vamos a hacer es descomentar ambos MODULE y luego los vamos a crear. Para llamar a un modulo utilizaremos la sentencia MODULE seguida del nombre del módulo. Hacemos clic sobre el MODULE y el sistema indentificara que el módulo no existe y nos preguntara si deseamos crearlo. A continuación, se crea el módulo en el PBO y vamos a notar en su definición que el mismo se llama MODULE status_0100 OUTPUT. Todo los módulos que se crean...

Acceder a esta publicación

Creado y Compartido por: Gerardo Jose Campos Tovar / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Processing Logic in the PBO Module Creation In the flow of logic within a Dynpro, we use modules to perform processing tasks. This is why dialogue programs are referred to as MODULE POOL programs. To call a module, we use the "MODULE" statement followed by the module name. MODULE STATUS_0100. If you double-click on a module, the system creates the "MODULE ENDMODULE" statements where indicated. When creating a module in the PBO, its code will start with the statement "MODULE OUT". MODULE STATUS_0100 OUTPUT. * Logic ENDMODULE. ABAP Code in the PBO of a Dynpro We utilize the PBO event to select all data and configure what should take effect when the screen is displayed. This includes actions like setting...

Acceder a esta publicación

Creado y Compartido por: Jaime Eduardo Gomez Arango / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


La lógica de procesamiento en el PBO 1 - La creacion de modulos. - En la solapa Logica de procesamiento, se visualiza los eventos PBO y PAI. - descomentar MODULE. - asignale al module un nombre status_0100 por ejemplo (30 caracteres max). - doble clic sobre el nombre del module, para crear el objeto. - seleccionar el lugar en donde crearlo (en nuevo include, en el programa de control, o en un include existente) Es recomendable crear un include para todos los modulos y subrutinas que se va a utilizar en la logica de procesamiento de un PBO y PAI. 2 - El codigo abap en PBO de una dynpro. Se utiliza el evento PBo para selecionar los datos y realizar las configuraciones que necesitamos que se tomen al momento en que se...

Acceder a esta publicación

Creado y Compartido por: Pablo Adrian Oggero

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!