
- PROGRAMA DE DIÁLOGO O MODULE POOL
Es un tipo de programa ABAP compuesto principalmente por una serie de pantallas o dynpros por las que el usuario navega mientras interactua con el programa y realiza determinadas acciones. Programa compuesto por dynpros y la lógica de cada dynpro está especificada en distintos módulos.
Objetos que puede tener cada dynpro:
- Menús
- Títulos
- Botones
- Tablas de control
- Textos
- SubScreen
- Campos de entrada y salida de datos.
Se crea igual que un reporte pero seleccionando el tipo de programa Module Pool en lugar de Programa ejecutable. . Usaremos la transacción SE80.
Para ejecutar un module pool debemos crear un transacción del tipo de diálogo y asociarla al programa (No se pueden ejecutar con F8 o con el botón ejecutar).
Pasos para la creación de un Module Pool:
- Crear el programa ABAP Module Pool.
- Crear en ese programa, la pantallas o dynpros que intervienen en la transacción, especificando los datos que se visualizarán en cada dynpro, la forma de visualizarlos y la lógica asociada a cada dynpro.
- Crear transacción en la SE93 asociadado a nuestro programa.
- Definir menús de las dynpros especificando su contenido (teclas de función, botones, etc.)
- Definir flujo de dynpros en el Module Pool.
- Programar en el Module Pool los módulos correspondientes a cada dynpro (lo que debe hacer cada pantalla), en el PBO (antes que se visualice la pantalla) y en el PAI (después de que se hayan introducido datos en la pantalla).
- HERRAMIENTAS PARA LA CREACIÓN DE DYNPROS Y MENÚS
- SCREEN PAINTER (Crear dynpros y los objetos que las componen).
- MENU PAINTER (Crear el status gui).
SE41 -> Para acceder el menú Painter.
- LÓGICA PBO - PAI DE UNA DYNPRO EN UN PROGRAMA DE DIÁLOGO
La lógica de procesamiento de cada dynpro dentro de un Module Pool está compuesta por dos eventos:
- PBO (Process Before Output): Evento que se ejecuta antes de visualizar la dynpro. Aquí definimos menús, títulos, inicialización y contenido de los campos de la pantalla.
- PAI (Process Aflter Input): Evento que se ejecuta después de introducir datos en la dynpro y realizar alguna accion sobre ella (ej/ pulsar un botón). Aquí validaremos datos y tomar alguna acción (ej/ mostrar mensajes, seguir flujo hacia otra dynpro, etc.).
- CREACIÓN DE UN MODULE POOL
Desde la SE38, seleccionando el tipo de programa Module Pool. Una vez creado trabajaremos desde la SE80.