![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP La arquitectura de un programa de diálogo
ABAP La arquitectura de un programa de diálogo
![ABAP La arquitectura de un programa de diálogo ABAP La arquitectura de un programa de diálogo](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/422.jpg)
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.
Se lo llama también 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 funcionalidades a las mismas. Entre ellos :
- 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 del programa debe ser Module pool env ez de programa ejecutable.
Para trabajar con programas de diálogo debemos utilizar la transacción SE80, de modod que desde allí veremos end etalle todos los componentes de un programa de diálogo.
Transacción SE80
Utilizaremos la transacción estándar SE80 "Navegador de objetos" para trabajar especialmente con los programas de diálogo. Para ejecutar un programa de dialogo debemos crear una transacción del tipo de diálogo y asociarla al programa.
Los programas de diálogo no pueden ejecutarse presionando F8 o el botón ejecutar. Debe crearse una transacción y asociarla al programa para poder ejecutarlo.
Pasos para la creación de un programa de diálogo son:
- Crear el programa ABAP Module Pool
- Crear en el progama 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 al transacción 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, es decir antes que se visualice la pantalla y en el PAI, es decir después de que se hayan introducido los datos en la pantalla.
Herramientas 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. Ellas son:
- 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.
Lógica PBO - PAI de una dynpro en un programa de diálogo
un programa de este tipo esta 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) : evvento que se ejecuta antes que se visualice una dynpro. aqui se definen los menús, los titulos, 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(Process After Input) : 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. Aqui lo que haremos será validar los datos ingresados 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 otra dynpro.
Creación de un module pool
Para crear un module pool accedemos a la transacción se38, ingresamos el nombre del programa por ejemplo "zprueba_dialogo" y presionamos el botón crear, tal como haciamos hasta ahora con los reportes.
Luego ingresamos una descripción para el programa y seleccionamos la opción module pool en el tipo de programa. Luego se guarda y asigna a una clase de desarrollo.
 
 
 
Sobre el autor
Publicación académica de Natalia Alejandra Garcia Milla, en su ámbito de estudios para la Carrera Consultor ABAP.
Natalia Alejandra Garcia Milla
Profesión: Ingeniero en Informática - Chile - Legajo: ZE97A
✒️Autor de: 41 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime