
Programa de diálogo: 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.
Es también conocido como Module Pool ya que el programa, como dijimos anteriormente esta compuesto por dynpros y la lógica de cada dynpro está especificada en distintos módulos.
Dentro de cada dynpro se crearán o asociaran diferentes objetos para darles funcionalidades a las mismas:
- Menús.
- Títulos.
- Botones.
- Tablas de control.
- Textos.
- SubScreens.
- Campos de entrada y salida de datos.
Para trabajar con programas de dialogo debemos utilizar la transacción SE80.
Para ejecutar un programa de diálogo debemos crear una transacción del tipo de diálogo y asociarla al programa.
Pasos para crear un Programa de diálogo:
- Crear el programa ABAP Module Pool.
- Crear en el programa ABAP 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 cual es la lógica asociada a cada dynpro.
- Crear el código de la transacción en la TRX SE93 asociado a nuestro programa.
- 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, en el PBO y PAI.
Herramientas para la creación de pantallas y menús.
- SCREEN PAINTER: mediante el cual crearemos las dynpros y todos los objetos que componen a estas.
- Menú painter: mediante el cual crearemos los STATUS GUI.
Podemos acceder al menú painter a través de la transacción SE41, desde esta podremos editar todas las características de los STATUS GUI, los títulos, barras de menús con solo escribir el nombre del programa ABAP y el nombre del STATUS.
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: es el evento que se ejecuta antes de que se visualice una dynpro. Aquí definiremos los menús, los títulos, la inicialización y el contenido de los campos de la pantalla, o sea que objetos mostraremos y como los mostraremos en la dynpro.
- 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 presionar un botón.
Aquí lo que haremos será validad los datos ingresados en la pantalla y luego tomar alguna acción en base a nuestras validaciones que pueden ser emitir un mensaje de error por pantalla o seguir el flujo del procesamiento hacia otra dynpro.