
Arquitectura de un programa de Diálogo.
1| ¿Qué es Programa de Diálogo o Module Pool?
Es un tipo de programa ABAP que está compuesto principalmente por una serie de pantallas o Dynpros por las cuales el usuario navega mientras interactúa con el programa y realiza determinadas acciones.
Se le llama Module Pool ya que el programa, está compuesta por Dynpros y la lógica de cada Dynpro está especificada en distintos módulos.
Dentro de cada Dynpro se crearán o asociarán diferentes objetos para darle funcionalidades a las mismas. Estas son:
- Menús
- Títulos
- Botones
- Tablas de Control
- Textos
- SubScreens
- Campos de entrada y salida de datos
Un Programa de Diálogo se crea igual que un Reporte, con la diferencia de que el tipo de programa debe ser de Module Pool y no Ejecutable.
Para ejecutar un Programas de Diálogo, debemos crear una transacción del tipo de diálogo y asociarla al programa.
Nota: Los programas de Diálogo no pueden ejecutarse con F8 o el botón de Ejecutar.
Transacción SE80: Navegador de Objetos, también se utiliza para trabajar con Programas de Diálogo. Desde allí vemos el detalle de todos los componentes.
Componentes de un Programa de Diálogo:
- Estructuras Dict
- Campos
- Módulos PBO
- Módulos PAI
- Subrutinas
- Dynpros
- Status GUI
- Títulos GUI
- Includes
Los pasos para la creación de un Programa de Diálogo son:
- Crear el programa ABAP tipo Module Pool.
- Crear en el programa ABAP las Pantallas o las Dynpros que intervienen en la transacción, especificando los datos que se visualizarán en cada Dynpro, de que forma se visualizarán y cual es la lógica asociada a cada Dynpro.
- Crear el Código de la Transacción (SE93) asociado a nuestro programa. También se puede crear con la transacción SE80.
- Definir los menús de las Dynpros, especificando su contenido (teclas de función, botones, etc).
- Definir el flujo de las Dynpros en el Module Pool.
- Programar en el Module Pool los módulos correspondientes a cada Dynpro, es decir lo que debe hacer cada pantalla, antes (PBO) y después (PAI) de que se hayan introducidos los datos.
Pasos para la creación de una Pantalla o Dynpro:
- Definimos las características básicas o atributos de la pantalla tales como: Número, descripción, tipo y otros atributos como la Dynpro siguiente.
- Atributos o lista de los campos donde se define para todos los campos el tipo de campo (entrada o salida), formato, longitud, etc.
- Lógica del flujo de la pantalla, es donde escribimos el código ABAP que le brindará las funcionalidades a las Dynpro.
2| Herramientas para la creación de las pantallas y menús
ABAP nos proporciona dos herramientas gráficas muy potentes, ellas son:
- Screen Painter: Se crean las Dynpros y todos los objetos que la componen.
- Menú Painter: Se crean los STATUS GUI.
Tips: Podemos acceder al Menú Painter a través de la Transacción Estándar SE41, desde aquí podemos editar las características de los STATUS GUI, los títulos, las barras de menú con sólo introducir el nombre del programa ABAP y el nombre del estatus.
3| Lógica PBO - PAI de una Dynpro en un programa de diálogo
La lógica de procesamiento de cada Dynpro, cumple con una metodología muy particular que consiste en la ejecución de dos eventos:
- PBO (Process Before Output): Es el evento que se ejecuta antes de que se ejecute una Dynpro. Aquí se definen los menús, los títulos, la inicialización y el contenido de los campos de la pantalla. Ósea, Que y Como mostraremos los objetos en la pantalla.
- PAI (Process After Input): Es el evento que se ejecuta después de introducidos los datos en la Dynpro y realiza alguna acción sobre ella. Aquí se validan los datos y se toman las acciones en base a la validación, como puede ser emitir el mensaje de error o continuar con el flujo de procesamiento.
4| Creación de un Module Pool
Se crea el programa (Transacción SE38 o SE80). Ingresamos el nombre y el tipo del programa que debe ser Module Pool. Finalmente guardamos el programa y asignamos la Clase de Desarrollo al mismo.
Creado OK.