✒️ABAP La arquitectura de un programa de diálogo
ABAP La arquitectura de un programa de diálogo
What is a Dialog Program or Module Pool?
A dialog program, also known as a module pool, is a type of ABAP program primarily composed of a series of screens or dynpros through which the user navigates while interacting with the program and performing specific actions.
Within each dynpro, various objects are created or associated to provide functionalities. These include menus, titles, buttons, control tables, texts, subscreens, input and output fields, among others.
Creating a dialog program is similar to creating a report, with the distinction that the program type must be Module Pool instead of Executable Program.
To work with dialog programs, we use transaction SE80, where we can see all the components of a dialog program in detail.
To execute a dialog program, we need to create a dialog transaction and associate it with the program. Dialog programs cannot be executed by pressing F8 or the execute button; a dialog transaction must be created and associated with the program to execute it.
The steps for creating a dialog program are:
Create the ABAP Module Pool program.
Create screens or dynpros within the ABAP program, specifying the data to be displayed on each dynpro, how it will be displayed, and the logic associated with each dynpro.
Create the transaction code in transaction SE93 associated with our program.
Define the menus of the dynpros, specifying their content (function keys, buttons, etc.).
Define the flow of the dynpros in the Module Pool.
Program the corresponding modules for each dynpro in the Module Pool, determining what each screen should do in the PBO (Process Before Output), i.e., before the screen is displayed, and in the PAI (Process After Input), i.e., after data has been entered on the screen.
To create a screen or dynpro, follow these steps:
Define the basic characteristics or attributes of the screen, such as the dynpro number, brief description, type of dynpro, and other attributes like the next dynpro.
Design the screen layout, including buttons, input fields, output fields, checkboxes, radio buttons, text, etc.
Define the attributes of the fields or the field list, specifying for each field displayed on the screen whether it's for input or output, its format, length, etc.
Write the logic flow of the screen, where you'll create the ABAP code that provides functionalities to the dynpro.
Tools for Creating Screens and Menus
ABAP provides two powerful graphical tools for creating screens and menus:
- SCREEN PAINTER: Used to create dynpros and all the objects within them.
- MENU PAINTER: Used to create GUI statuses.
You can access the Menu Painter through standard transaction SE41. From this transaction, you can edit all the characteristics of GUI statuses, titles, menu bars, by simply entering the ABAP program name and the status name.
The PBO-PAI Logic of a Dynpro in a Dialog Program
As mentioned earlier, a dialog program consists of dynpros. The processing logic of each dynpro follows a particular methodology involving two events:
- PBO (Process Before Output): PBO is the event executed before a dynpro is displayed. Here, we define menus, titles, initialization, and the content of the fields on the screen.
- PAI (Process After Input): PAI is the event executed after data is entered in the dynpro and some action is performed, such as pressing a button.
Here, we validate the data entered on the screen and then take action based on our validations, such as displaying an error message or proceeding to another dynpro.
Creating a Module Pool
To create a dialog program or Module Pool, access transaction SE38, enter the program name (e.g., ZPRUEBA_DIALOGO), and click the Create button, as you did with reports.
Then, enter a description for the program and select Module Pool as the program type.
Finally, save the program configuration and assign a development class to it.
From now on, we'll work with transaction SE80.
All the aforementioned processes can also be performed using this transaction.
 
 
 
Sobre el autor
Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP.
Jaime Eduardo Gomez Arango
Profesión: Ingeniero de Sistemas y Computaci?n - Espa?a - Legajo: SW34C
✒️Autor de: 149 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:
Ingeniero de sistemas y computaci?n con 8 a?os de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.
Certificación Académica de Jaime Gomez