✒️ABAP La arquitectura de un programa de diálogo
ABAP La arquitectura de un programa de diálogo
LA ARQUITECTURA DE UN PROGRAMA DE DIÁLOGO
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 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 podemos nombrar:
- Menús
- Títulos
- 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 en vez de Programa Ejecutable.
Para trabajar con programas de diálogo debemos utilizar la transacción SE80, de modo que desde allí veremos en detalle todos los componentes de u programa de diálogo.
Para ejecutar un programa de diálogo 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 de ejecutar. Debe crearse una transacción de diálogo y asociarla al programa para ejecutarlo.
Los pasos para la creación de un programa de diálogo son:
- 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 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.
Tal como mencionamos una dynpro o dinamic program es una pantalla en SAP, para crear una pantalla o dynpro se deben seguir los siguientes pasos:
- Definimos las caracteristicas básicas o atributos de las pantallas 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 podremos incluir botones, campos de entrada/salida, checkbox, radiobutton, textos, etc.
- A continuación definimos los atributos de los campos, o la lista de campos en donde podremos definir para cada campo que se muestra en la pantalla si es de entrada, o de entrada/salida, cual es su formato, cual es su longitud,etc..
- Y por último, escribimos la lógica del flujo de la pantalla que es donde escribiremos el código ABAP que le brindará las funcionalidades a las dynpros.
LAS 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.
Podemos acceder al MENÚ PAINTER a través de la transacción estándar SE41, desde esta transacción podremos editar todas las características de los estatus GUI , los títulos, las barras de menú con solo introducir el nombre del programa ABAP y el nombre del estatus.
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 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 visualice una dynpro. Aquí definiremos los menús, los títulos, la inicialización y el contenido de los campos de la pantalla, o se que objetos mostraremos y como los mostraremos en la dynpro.
- PAI (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 presionar un botón.
Aquí lo que haremos 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 otra dynpro.
La Creación de un Module Pool
Para crear el progama de diálogo o Module Pool accedemos a la transacción SE38, ingresamos el nombre del programa, por ejemplo ZPRUEBA_DIÁLOGO 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.
Finalmente guardamos la configuración del programa y asignamos una clase de desarrollo al mismo.
De ahora en más trabajaremos con la transacción SE80. Todo el proceso anteriormente descrito también puede ser realizado mediante esta transacción.
 
 
 
Sobre el autor
Publicación académica de Ducelvis Lolimar Arcia Cova, en su ámbito de estudios para la Carrera Consultor ABAP.
Ducelvis Lolimar Arcia Cova
Profesión: Tsu Relaciones Industriales (rrii) - Argentina - Legajo: WX74T
✒️Autor de: 125 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP FI Nivel Inicial
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Mi principal objetivo al comenzar esta gran experiencia educativa en programación abap es adquirir los conocimientos y competencias necesarias para incorporarme en el ámbito laboral en esta área.
Certificación Académica de Ducelvis Arcia