✒️ABAP / La arquitectura de un programa de diálogo Por Juan Romero
ABAP La arquitectura de un programa de diálogo

La arquitectura de un programa de diálogo.
Conceptos básicos de los programas de diálogo (Module Pool)
- Un programa de diálogo en ABAP, también conocido como module pool, consiste en una serie de pantallas o dimpros por las que navega el usuario, permitiendo interactuar con el sistema y afectar tablas de la base de datos SAP.
- Dimpro y pantalla son términos equivalentes en SAP.
- Los module pool están compuestos por pantallas y módulos que definen la lógica de cada una.
- En cada dimpro se pueden incluir menús, títulos, botones, table controls, textos, sub screens y campos de entrada-salida.
- La estructura y creación de un programa de diálogo es similar a la de un reporte, pero el tipo de programa debe especificarse como module pool.
Herramientas para creación y gestión
- Para trabajar con programas de diálogo se utiliza la transacción SE80 (navegador de objetos), que permite gestionar todos los componentes de un module pool, a diferencia de SE38 que es solo para edición de código ABAP.
- La transacción SE80 es esencial para ver y manejar las pantallas, menús y demás objetos asociados.
- Los programas de diálogo no pueden ejecutarse con F8 como los reportes; necesitan una transacción específica creada con SE93.
Pasos para crear un programa de diálogo
- Crear el programa ABAP de tipo module pool.
- Definir las pantallas (dimpros), sus datos a mostrar y la lógica asociada.
- Crear el código de la transacción correspondiente con SE93.
- Definir los menús de cada dimpro, incluyendo teclas de función y botones.
- Establecer el flujo entre las dimpros dentro del module pool.
- Programar los módulos de cada dimpro para definir qué hace en los eventos PBO (antes de mostrar la pantalla) y PAI (tras interacción del usuario).
Herramientas gráficas en ABAP
- ABAP proporciona dos herramientas clave accesibles desde SE80:
- Screen Painter: para crear y diseñar las dimpros y sus objetos.
- Menu Painter: para definir los status viss, barras de menú, barras de pulsadores y teclas de función.
Lógica PBO-PAI en las dimpros
- Cada dimpro sigue una lógica basada en dos eventos principales:
- PBO (Process Before Output): se ejecuta antes de mostrar la pantalla, define menús, títulos, inicialización y contenido de campos.
- PAI (Process After Input): se ejecuta tras la entrada de datos y una acción del usuario (por ejemplo, clic en botón), permite validar datos y decidir el siguiente flujo (mostrar mensaje, cambiar de dimpro, etc).
- Se anuncia que se profundizará en estos eventos y otros relacionados en futuras lecciones.
Creación de Dynpro en SAP
Definición y características de Dynpro
- Una Dynpro (Dynamic Program) es una pantalla en SAP.
- Para crear una pantalla Dynpro se deben definir atributos básicos como número, descripción breve, tipo de Dynpro y la Dynpro siguiente.
Diseño y formato de la pantalla
- El formato permite incluir botones, campos de entrada/salida, check boxes, radio buttons y textos.
- Se define la lista de campos de la pantalla y sus atributos, como si son de entrada o entrada/salida, formato y longitud.
Lógica y funcionalidades
- Es necesario escribir la lógica del flujo de la pantalla utilizando código ABAP.
- El código ABAP proporciona las funcionalidades necesarias para la Dynpro.
Herramientas y edición
- Se puede acceder al menú Painter mediante la transacción estándar SE41.
- Desde SE41 se pueden editar status keys, títulos y barras de menús con solo indicar el nombre del programa ABAP y el del status.
Creación de programas de diálogo
Repaso de programas de diálogo
- Los programas de diálogo pueden crearse inicialmente con las transacciones SE80 o SE38 en SAP.
- Es conveniente utilizar la transacción SE80 después de la creación inicial del programa, ya que permite una mejor gestión y visualización de los objetos relacionados.
- Para crear el programa de diálogo, se accede a SE38, se ingresa el nombre (por ejemplo, Z_prueba_Diálogo) y se define el tipo "module pool" en lugar de "programa ejecutable".
- Una vez creado, se asocia el programa a un paquete local si no se requiere su transporte a otros ambientes.
Diferencias con reportes ABAP
- A diferencia de los reportes ABAP, los programas de diálogo contienen múltiples componentes como includes, dynpros, status GUI, títulos y transacciones.
- SE80 permite visualizar y modificar todos estos objetos en una misma pantalla, lo que no es posible con SE38.
Activación y estados de los objetos
- Es importante activar no sólo el programa principal, sino todos los objetos contenidos en él, ya que pueden tener estados activos o inactivos.
- Los objetos inactivos se muestran en color celeste en la interfaz.
- Al activar, es necesario seleccionar todos los objetos que deban quedar activos.
Herramientas principales: screen painter y menú painter
- El screen painter es la herramienta utilizada para trabajar con las pantallas (dynpros) dentro del programa de diálogo.
- Se mostró cómo crear una dynpro (por ejemplo, la número 100) y acceder a su layout con el screen painter.
- El menú painter permite trabajar con los status GUI, que incluyen barra de menús, barra de pulsadores y teclas de función.
- Se ejemplificó la creación de un status GUI asociado a una dynpro específica.
 
 
 
Sobre el autor
Publicación académica de Juan Ignacio Romero, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.
Juan Ignacio Romero
Profesión: Ing. Sistemas Computacionales - Mexico - Legajo: LJ26F
✒️Autor de: 138 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Juan Romero






Disponibilidad Laboral: FullTime


















