✒️ABAP La arquitectura de un programa de diálogo
ABAP La arquitectura de un programa de diálogo
1.- QUE ES UN PROGRAMA DE DIALOGO 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.
Programa de Diálogo.
Usuario ------> Pantalla 1 --------> Pantalla 2 ---------> Pantalla N
dynpro: (sinonimo de pantalla el cual tiene asignado un número de cuatro digitos númericos)
También se llama Module Pool ya que el programa, 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 asociarán diferentes objetos para darles funcionalidades a las mismas.Ejemplo dynpros:
Menús, Títulos, Botones, Tablas de Control, Textos, SubScreens, Campo de entrada y Salida de Datos.
Un programa de diálogo se crea exactamente igual que en un reporte, a través de la transacción SE38, con la excepción de que el tipo de programa debe ser Module Pool en vez de Programa Ejecutable.
SE80 "Navegador de objetos": Por medio de esta transacción podemos trabajar con programas de diálogo, de modo que desde allí veremos en detalle todos los componentes de un Programa de Diálogo.
Importante: Los programas de diálogo NO pueden ejecutarse presionando F8 o el botón ejecutar. Debe crearse una transacción de diálogo y asociarla al programa para poder ejecutarlo.
Pasos para la creación de un Programa de diálogo:
- Crear el programa ABAP Module Pool.
- Crear en el programa las pantallas o dynpros que intervienen en la transacción, especificando los datos que se visualizarán en cada dynpro, la forma en que se visualizarán y cual será la lógica asociada a cada dynpro.
- Crear el código de la transacción SE93 asociada 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, es decir antes que se visualice la pantalla en el PAI, es decir despuès de que se hayan introducido los datos en la pantalla.
PBO (Process Before Output). Es el evento que se ejecuta antes de la visualización en pantalla de una dynpro.
PAI (Process After Input). Es el evento que se ejecuta luego de introducidos los datos en pantalla y realizada alguna acción sobre ella como puede ser presionar un botón.
Para crear una pantalla o dynpro:
- Primero definimos los características básicas o atributos de la pantalla, tales como el número de la dynpro,su descripción breve, el tipo de la dynpro y otros atributos como la dynpro siguiente,
- Luego diseñamos, el formato de la pantalla, en donde podemos incluir, botones, radio buttons, etiquetas, etc..
- Definiremos los atributos de los campos o la lista de los campos en donde podremos definir para cada campo que se muestra en la pantalla si es: (de entrada o entrada y salida , formato, longitud,etc)
- Por último escribimos la lógica del flujo de la pantalla donde escribiremos el código ABAP.
2.- Herramientas para la creación de pantallas y menús.
- SCREEN PAINTER: Mediante el cual crearemos la dynpro y todos los objetos que componen a estas.
- MENU PAINTER: Mediante el cual crearemos los STATUS GUI ("sirve para proporcionarle al usuario un amplio rango de funcionalidades en la pantalla")
SE41: Transacción mediante la cual podemos acceder al MENU PAINTER y podremos editar todas las caracteristicas de los STATUS GUI,los titulos las barras de menu con sòlo introducir el nombre del programa ABAP y nombre del estatus.
3.- Lógica PBO-PAI de una dynpro en un programa de dialogo.
La lógica de procesamiento de cada dynpro cumple con una metodología muy particular que consiste en la ejecución de 2 eventos:
PBO (Process Before Output): 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, osea que objetos mostraremos y como los mostraremos en la dynpro.
PBI (Process After Input). Es el evento que se ejecuta luego de introducidos los datos en la dynpro y realizada alguna acción sobre ella, como puede ser presionarun boton. Aquí lo que haremos es válidar los datos ingresados en la pantalla y con ellos despuès tomar una acción, que puede ser emitir un error por pantalla o seguir el flujo del procesamiento hacia otra dynpro.
4.- Creación de un Module Pool.
Mediante al transacción SE38 como los programas, presionamos Crear, "Nombre del Programa" y en el tipo de programa será Module Pool.
Todo el proceso anteriormente descrito también puede ser realizado mediante la transacción SE80, ahora trabajaremos más con esta transacción.
Lógica: PBO --> Usuario ------> PAI -------> PBO------> Usuario --------> PAI
 
 
 
Agradecimiento:
Ha agradecido este aporte: Ruthmary Manrique
Sobre el autor
Publicación académica de Gustavo Alberto Ramirez Franco, en su ámbito de estudios para la Carrera Consultor ABAP.
Gustavo Alberto Ramirez Franco
Profesión: Ingeniero en Sistemas Computacionales - Mexico - Legajo: TA38Q
✒️Autor de: 38 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Gustavo Ramirez