🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP La lógica de procesamiento en el PBO

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.


 

 

 


Sobre el autor

Publicación académica de Gustavo Betancur Guzmán, en su ámbito de estudios para la Carrera Consultor ABAP.

✒️+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 Master

Cada dynpro tiene una lógica de procesamiento que está especificada en módulos. Con la sentencia MODULE seguido del nombre del módulo podemos llamar a los módulos. PBO (Process before output) evento que se ejecuta antes de la visualización en pantalla de una dynpro. Es recomendable crear un Include para almacenar todos los módulos y subrutinas utilizados en la lógica de procesamiento del PBO. La sentencia SET PF-STATUS se utiliza para la declaración de un STATUS GUI dentro de un programa. La sentencia SET TITLEBAR se utiliza para setear el título de un programa. La palabra reservada SCREEN representa a la tabla interna que almacena los elementos que componen a una dynpro...

Acceder a esta publicación

Creado y Compartido por: Mónica Robles

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

SAP Master

Lógica de procesamiento en PBO 1. Creación de Módulos En la flujo de la lógica de una 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 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. Codigos ABAP en el...

Acceder a esta publicación

Creado y Compartido por: Edward Henry Rosario Piezal / Disponibilidad Laboral: FullTime

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

SAP Master


MODULE POOL Es un tipo de programa ABAP que está formado por una serie de dynpros o pantallas por las que el usuario interactúa mientras navega por la aplicación. Cada dynpro tiene una lógica de procesamiento que está especificada en módulos. Dentro de cada dynpro se define lo que se conoce con el nombre de PBO (Process Before Output) es decir todo lo que sucede antes que se muestre la información en la pantalla y el PAI (Process After Input) es decir todo lo que sucede luego que se realiza alguna cción en la pantalla. Lógica de Procesamiento en PBO Un programa de diálogo está compuesto por dynpros. La lógica de procesamiento de cada dynpro cumple con una...

Acceder a esta publicación

Creado y Compartido por: Cesar Armando Gutierrez Gomez / Disponibilidad Laboral: FullTime

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

SAP Expert


Creación de Módulos: En el flujo de lógica de una dynpro se utilizas módulos para realizar el procesamiento. Por eso a los programas de diálogos se los denomina Module Pool. Se crea usando la sentencia MODULE Nombre programa PBO(Process Before Output): Se usa 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 como. Setear el Status GUI y los titulos de dynpro. Modificar los atributos de los campos de la dynpro. Inicializar o cargar campos de la pantalla con valores determinados. PAI(Process After Input): Nota: Se recomienda crear include para almacenar todos los módulos y subrutinas que...

Acceder a esta publicación

Creado y Compartido por: Dairy Alejandra Torrenegra Cera

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

SAP Senior

En la logica de una dynpro se utilizan modulos para realizar el proceso completo. Es por esto que a los programas de dialogo se les llama module pool. Para llamar un modulo se utiliza la sentencia MODULE seguida del nombre del modulo. Es la palabra reservada del sistema que se utiliza para la declaración de módulos en los programas de diálogo de ABAP. Los MODULE se crean en un programa de diálogo dentro de la Lógica de procesamiento de cada una de las pantallas o dynpros que conforman al programa de diálogo, específicamente tanto dentro del PBO (Procesamiento antes de la salida) como del PAI (Procesamiento después de la entrada). Se utiliza el evento PBO para seleccionar todos los datos...

Acceder a esta publicación

Creado y Compartido por: Andres Gomez / Disponibilidad Laboral: FullTime

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

SAP Master


LÓGICA DE PROCESAMIENTO PBO CREACIÓN DE MÓDULOS En el flujo de la lógica de una dynpro usaremos módulos para realizar el procesamiento. Llamada a un módulo -> MODULE NombreModulo. (Al hacer doble click sobre el nombre del módulo, lo creamemos). Creándolo en el PBO el código comenzará MODULE NombreModulo OUTPUT., si lo creamos en el PAI comenzará MODULE NombreModulo INPUT. CÓDIGO ABAP EN EL PBO DE UNA DYNPRO El evento PBO lo usamos 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 títulos de la dynpro. Modificar atributos...

Acceder a esta publicación

Creado y Compartido por: Ignacio Martín Bolumar

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

SAP Master

Unidad 2: Programación de Diálogo. Lección 4: Lógica de procesamiento PBO. 1.- Creación de Módulos. Los módulos son los elementos de la lógica de una dynpro que realizan el procesamiento. La llamada a un módulo se realiza mediante la sentencia MODULE nombre_modulo. Si marcamos con doble click un módulo inexistente, se nos preguntara si lo queremos crear y donde. El código de un módulo va entre las instrucciones MODULE y ENDMODULE. Si el módulo se crea en el PBO la sentencia inicial sera MODULE nombre módulo OUTPUT. Si lo creamos en el PAI sera MODULE nombre módulo INPUT. 2.- Código ABAP en el PBO de una dynpro. El evento PBO sirve...

Acceder a esta publicación

Creado y Compartido por: Francisco Compte Sanchez / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Senior

MODULE POOL.- En la creación de la lógica de una dynpro utilizaremos módulos para realizar el procesamiento. De aquí el hecho de que se le denomine con el nombre Module Pool a los programas. Dentro de cada dynpro se define lo que se conoce con el nombre PBO es decir todo lo que suceda antes que se muestre la información en la pantalla y el PAI es decir todo lo que suceda después que se realiza una acción en la pantalla. Para la Creación de un Module pool se llama a un módulo con la sentencia MODULE seguida del módulo, ejemplo, >MODULE cargar_campos_0100. Si seleccionamos un Módulo con doble clic, el sistema creará las instrucciones MODULE...

Acceder a esta publicación

Creado y Compartido por: Yair Miguel Ramirez Martinez / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


Creación de módulos: En el flujo de la lógica de una dynpro utilizamos módulos para realizar el procesamiento, de ahí viene el hecho que a los programas de diálogo se los denomine MODULE POOL. 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 empezará con la sentencia MODULE INPUT. Código ABAP en el PBO de una dynpro Usaremos el evento PBO para seleccionar todos los datos y realizar las configuraciones que queremos que tomen efecto al momento de visualizar la pantalla. Esto puede incluir entre otras cosas cualquiera de las siguientes acciones: 1. Setear...

Acceder a esta publicación

Creado y Compartido por: José Luis Zevallos Mamani

*** 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 79.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!