✒️ABAP La arquitectura de un programa de diálogo
ABAP La arquitectura de un programa de diálogo
Que es un programa de diálogo o Module POOL?
Programa de diálogo: es un tipo de programa ABAP que está compuesto principalmente por una serie de pantalla o dynpros por las cuales el usuario navega mientra interactúa con el programa y realiza determinadas acciones que termina impactando en las tablas de la base de datos de SAP. ( en SAP hablar de dunpros y pantalla es lo mismo).
A los programa de dialogo tambiém se los llama Module POOL ya que el programa, como dijimos anteriormente, está compuesto 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 darles cuncionamiento a las mismas. entre ellos podemos nombrar:
- Menús
- Titulos
- Botones
- Tablas de control
- Textos
- subscreens
- Campos de entrada y salida de datos
Un programa de diálogo se crea exactamente igual que un reporte, con la excepción que el tipo de programa debe ser Module Pool en lugar de Programa ejecutable.
Para trabajar con programas de diálogo vamos a utilizar la transacción estándar SE80 correspondiente al navegador de Objetos, en lugar de la transacción estándar SE38 correspondiente el Editor ABAP ya que en la SE80 podemos ver en detalle todos los componentes que forman parte del programa de diálogo.
Los pasos para la creación de un programa de diálogo son los siguientes:
- Primero debemos crear el programa ABAP de tipo Module Pool.
- Luego en el programa ABAPcreamos las pantallas o dynpros que intervienen en la transacción, especificando los datos que se visualizarán en cada dynpro, de que forma se visualizarán y cuál es la lógica asociada a cada dynpro.
- A continuación, creamos el código de la transacción asociado a nuestro programa utilizado la transacción estándar SE93.
- Luego definimos los números de dynpros especificando su contenido, es decir las teclas de función, los botones, etc.
- También definimos el flujo de las dynpros en el Module Pool.
- Y por último, vamos a programar en el Module Pool los módulos correspondientes a cada dynpro, es decir lo que debe hacer cada pantalla, en el PBO, es decir antes que se visualice la pantalla y en el PAI, es decir después de que se hayan intyroducido los datos en la pantalla.
Las herramientas para para la creación de pantallas y menús
ABAP nos proporciona dos herramientas gráficas muy potentes para la creación de pantallas y menús. A anmbas funcionalidades se accede desde la transacción SE80. Ellas son:
- Screen Painter: mediante el cual creamos las dunpros y todos los objetos que componen a estas.
- Menús Painter: mediante el cual creamos los STATUS GUI, los cuales están compuestos por barras de menús,las barras de pulsadores y las de función.
La lógica PBO-PAI de una dynpro en un programa de diálogo
Como dijimos anteriormente, un programa de diálogo está compuesto por dynpros. La lógica de procesamiento de cada dynpro cumple con una metodologia muy particular que consiste en la ejecución de dos eventos:
- PBO (Process Before Output es el Procesamiento Antes de la salida por pantalla)
- PAI (Process After Input es el procesamiento Después de la salida por pantalla)
El PBO es el evento que se ejecuta entes de que se visualice una dynpro. Aqui definiremos los menús, los titulos, la inicialización y el contenido de los campos de la pantalla, es decir los objetos que mostraremos y como los mostraremos en la dynpro.
El PAI es el evento que se ejecuta luego de introducidos los datos en la dynpro y realizada alguna acción sobre ella, como puede ser hacer clic en un botón.
Aqui lo que hacemos será validar los datos ingresados en la pantalla y luego tomar alguna acción en base a nuestras validaciones, que puede ser emitir un mensaje de error por pantalla o seguir el flujo del procesamiento hacia otro dynpro.
 
 
 
Sobre el autor
Publicación académica de Javier Miguel Angel Barcelo, en su ámbito de estudios para la Carrera Consultor ABAP.
Javier Miguel Angel Barcelo
Profesión: Militar - Argentina - Legajo: DQ34X
✒️Autor de: 107 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: PartTime
Certificación Académica de Javier Angel