🚀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

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 continuación:

MODULE STATUS_0100.

Imagen 1.1 - La sentencia module

Si seleccionamos un módulo con doble clic, el sistema creará las instrucciones MODULE - ENDMODULE

en el lugar donde le indiquemos tal como vemos a continuación:

MODULE status_0100 OUTPUT.

ENDMODULE.

Imagen 1.2 - Ventana de diálogo de creación de un module

Si creamos un módulo en el PBO, el código del mismo empezará con la sentencia MODULE OUTPUT.

MODULE USER_COMMAND_0100 INPUT.

ENDMODULE.

Imagen 1.3 - Creación de un module en el PBO

Si creamos un módulo en el PAI, el código del mismo comenzará con la sentencia MODULE INPUT.

Imagen 1.4 - Creación de un module en el PAI

2 | 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 Títulos de la dynpro.

Modificar los atributos de los campos de la dynpro.

Inicializar o cargar campos de la pantalla con determinados valores.

A continuación veremos en detalle cada una de las acciones mencionadas.

3 | Seteo del Status GUI y de los Títulos

En el PBO es donde definiremos cual es el Status GUI y los títulos que se utilizarán en la dynpro.

Para ello, dentro del PBO de la dynpro 0100 de nuestro programa ZPRUEBA_DIALOGO

crearemos el módulo STATUS_0100 tal como vemos a continuación:

Imagen 3.1 - Creación de un module en el PBO para el status GUI y los títulos

Cuando creamos una dynpro ya viene creado pero comentado el módulo que se utilizará para configurar el status y el título de la dynpro.

Hacemos doble clic en el módulo y el sistema nos propondrá crearlo.

Imagen 3.2 - Ventana de diálogo de creación de un module

Contestaremos que sí y luego veremos la ventana de diálogo en donde elegiremos crear un include para almacenar el código del PBO.

Imagen 3.3 - Creamos un include para todos los modules del PBO

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.

Luego veremos que el módulo tiene el siguiente código comentado.

Imagen 3.4 - Visualizamos el código comentado dentro del module

Utilizaremos la sentencia SET PF-STATUS para setear el Status GUI

y la sentencia SET TITLEBAR para setear el título correspondientes a la dynpro 0100 tal como vemos a continuación:

MODULE status_0100 OUTPUT.

SET PF-STATUS '0100'.

SET TITLEBAR '0100'.

ENDMODULE.

Imagen 3.5 - Configuramos el status GUI y el título

En ciertas ocasiones 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:

Imagen 3.6 - Staus GUI que tiene 3 botones con los códigos BOTON1, BOTON2 y BOTON3

Si solo quisiéramos mostrar el BOTON1, tendríamos 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:

Imagen 3.7 - Agregamos los botones que excluimos a la tabla interna

Recordemos que para utilizar las estructuras SLIS tendremos que agregar el TYPE-POOLS SLIS.

4 | 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.

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 siguiente:

Campo Descripción

SCREEN-NAME Nombre del campo

SCREEN-GROUP1 Grupo de modificación 1

SCREEN-GROUP2 Grupo de modificación 2

SCREEN-GROUP3 Grupo de modificación 3

SCREEN-GROUP4 Grupo de modificación 4

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 búsqueda

SCREEN-REQUEST Campo reservado para uso interno del sistema

Tabla 4.1 / La estructura de SCREEN

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

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

Veamos algunos ejemplos:

Si tenemos una dynpro con el campo de entrada/salida WA_SCREEN_0100-DNI como el siguiente:

Imagen 4.1 - Dynpro con un campo de entrada / salida y un botón

Y queremos hacer no visible al campo, crearíamos un módulo en el PBO con el siguiente 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.

Imagen 4.2 - Lógica para hacer no visible un campo de la pantalla

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:

MODULE definir_atributos_0100 OUTPUT.

LOOP AT SCREEN.

IF screen-name EQ 'WA_SCREEN_0100-DNI'.

screen-invisible = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDMODULE.

Imagen 4.3 - Lógica para no permitir la entrada de datos en un campo de la pantalla

Vale mencionar que para que el campo sea de entrada el atributo INPUT debe ser 1.

Si quisiéramos que el campo WA_USUARIOS-DNI sea obligatorio, crearíamos un módulo en el PBO con el siguiente 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.

Imagen 4.4 - Lógica para hacer obligatorio a un campo de la pantalla

5 | 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.

MODULE cargar_valores_0100 OUTPUT.

WA_SCREEN_0100-DNI = 16462416.

ENDMODULE.

Imagen 5.1 - Asignación de datos a un campo de la pantalla


 

 

 


Sobre el autor

Publicación académica de Alex Francisco Lemos Collazos, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


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

LÓGICA DE PROCESAMIENTO EN PBO. En el flujo de la lógica de una DYNPRO utilizamos módulos para realizar el procesamiento de aquí viene el hecho que los programas de diálogo se les denomine MODULE POOL. MODULE: Palabra reservada del sistema la cual se utiliza para la declaración de módulos en los programas de diálogo. Si el módulo se crea en PBO el código empezará con la sentencia MODULE OUTPUT. Si el módulo se crea en PAI el código empezará con la sentencia MODULE INPUT. En el evento PBO realizamos toda la selección de datos y las configuraciones que queremos que tomen efecto al momento en que se visualice la pantalla. SET PF-STATUS; Sentencia...

Acceder a esta publicación

Creado y Compartido por: Juan Santamaria Borja

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

SAP Master

Lección: Lógica de procesamiento en PBO [ 4º de 9 ] Creación de módulos: Si creamos el modulo en el PBO, el código del mismo empezará con la sentencia Module Output. Si creamos en el PAI, el código empezará con la sentencia Module Imput. Código ABAP enel PBO de una dynpro. Se utilizara 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.Puede incluir las siguientes acciones: Setear el status GUI y los títulos de la dynpro: En el Pbo es donde definiremos cual es el status GUI y los títulos que se utilizarán en la dynpro. Cuando creamos una dynpro ya viene...

Acceder a esta publicación

Creado y Compartido por: Jose Angel Valles Bustos

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

SAP Master

Lección 4: Lógica de procesamiento en PBO. 1.- Creación de Módulos. En el flujo de la lógica de una dynpro utilizamos módulos para realizar el procesamiento. Por eso es que a los programas de diálogo se les denomina Module Pool. Para llamar a un módulo usamos la sentencia MODULE seguida del nombre del módulo. Si creamos un módulo en el PBO, el código empezará con la sentencia MODULE OUTPUT. O si lo creamos en el PAI, comenzará con MODULE INPUT. 2.- Código ABAP en el PBO de una dynpro. Utilizamos 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,...

Acceder a esta publicación

Creado y Compartido por: Calixto Gutiérrez

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

SAP Senior

La lógica de un dynpro es utilizar módulos para realizar procesamientos. Para llamar a un modulo se utilizara la sentecia MODULE <nombre modulo>, este se creará si no existe con dar doble click en el nombre. Se recomienda hacer los modulos como includes para almacenar todos los modulos y subrutinas en la logica de procesamiento del PBO (Process Before Output). PBO es usado para inicair procesos antes de cargar la dynpro. -- Para modificar atributos de los campos, se utiliza la estructura SCREE. para realizar cambios se utiliza la sig. definicion: LOOP AT SCREEN if SCREEN-NAME = 'WA_SCREEN_0100-DNI'. " DONDE WA_SCREEN_0100-DNI ES EL NOMNRE DEL CAMPO SCREEN-INVISIBLE = 1. ENDIF. ENDLOOP. --- O asignar directamente...

Acceder a esta publicación

Creado y Compartido por: Salvador Chávez Gutiérrez

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

SAP Senior

Creación de Módulos: En el flujo de la lógica de una Dynpro, utilizaremos módulos para realizar el procesamiento. De hecho que a los programas de dialogo se los denomina Module Pool. Si se crea un módulo en el PBO, el código del mismo empezara con la sentencia MODULE OUTPUT. Si se crea un módulo en el PAI, el código del mismo empezara con la sentencia MODULE INTPUT. 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 visualicen la pantalla, Esto puede incluir entre otras cosas, cualquiera de las siguientes acciones: Setear Status GUI...

Acceder a esta publicación

Creado y Compartido por: Daniel Fernando Yanez Guevara

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

SAP Senior

Module Pool, es porque la lógica de una dynpro se utilizan módulos para realizar el procesamiento. Para llamar un módulo. MODULE carga_campos_01. Definición de un módulo en el PBO. (OUTPUT) MODULE carga_campos_01 OUTPUT. ENDMODULE. Definición de un módulo en el PAI. (INPUT) MODULE carga_campos_01 INPUT. ENDMODULE. --- EVENTO PBO --- Para seleccionar los datos y realizar configuraciones que tomarán efecto al momento en que se visualice la pantalla. Ejemplo, siguientes acciones: -setear status GUI y título de dynpro. -modificar atributos de los campos de la dynpro. -inicializar campos de la pantalla, con valores default. ***Se recomienda crear un INCLUDE para almacenar todos los...

Acceder a esta publicación

Creado y Compartido por: Elda Martinez Soto

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

SAP Expert


Logica Procesamiento PBO: El flujo de la logica de una dynpro es la utilizacion de modulos para realizar el procesamiento. Para llamar a un modulo se utiliza la Sentencia Module nombre. Codigo ABAP en el PBO de una Dynpro: Se utiliza el evento PBO para seleccionar los dayos y realizar configuraciones, puede incluir las acciones: Setear el Status GUI y los titulos de la dynpro Modificar los atributos en los campos de la dynpro Inicializar o cargar campos de la pantalla con algunos valores. Es Recomendable crear un include para almacenar los modulos y subrutinas en la logica del procesamiento PBO. Para modificar los atributos se activan o desctivan los atributos de los campos de la estructura SCREEN asinando valores 0 o 1. Para almacenar los...

Acceder a esta publicación

Creado y Compartido por: Ernesto Aristides Romano

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

SAP Master


CREACION DE MODULOS Usamos módulos para realizar el procesamiento. De acá el hecho que a los programas de dialogo se les llame MODULE POOL. PBO -> Module ...OUTPUT. PAI -> Module...INPUT CODIGO 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. SETEO DEL STATUS GUI Y DE LOS TITULOS En el PBO definiremos cual es el status gui y los títulos que se utilizarán en la dynpro. Es ampliamente recomendable crear un include para almacenar todos los módulos y subrutinaas que utilizamos en la lógica de procesamiento del PBO. Esto es aplicable a PAI. *Podemos armar...

Acceder a esta publicación

Creado y Compartido por: Ivan Dario Lemus Moya

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

SAP Master

Una vez hemos definido gráficamente las pantallas, será preciso escribir una lógica de proceso para cada una de ellas, pasándose a denominar Dynpros. Para introducir la lógica de proceso de las pantallas, utilizaremos una versión especial del editor de ABAP/4. Goto -> Flow Logic. La lógica de proceso de las pantallas tienen una estructura determinada, y utilizan comandos y eventos propios de manejo de pantallas, similares a los utilizados en ABAP/4. Consistirá en dos eventos fundamentales: PROCESS BEFORE OUTPUT (PBO). PROCESS AFTER INPUT (PAI). El PBO será el evento que se ejecutará previamente a la visualización de la pantalla, mientras que el PAI, se ejecutará...

Acceder a esta publicación

Creado y Compartido por: Juan Carlos Ayala Chira

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

SAP Senior

Lección: Lógica de procesamiento en PBO 1) 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 Si seleccionamos un módulo con doble clic, el sistema creará las intrucciones MODULE- ENDMODULE en el lugar donde le indiquemos 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) Código ABAP en...

Acceder a esta publicación

Creado y Compartido por: Aida Cortina Fernandez

 


 

👌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!