✒️ABAP La arquitectura de un programa de diálogo
ABAP La arquitectura de un programa de diálogo
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 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 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 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 ejecutar. Debe crearse una transacción de diálogo y asociarla al programa para poder 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.
AUDIO ACLARATIVO: Tal como mencionamos una dynpro O Dynamic Program es una pantalla en sap. Para crear una pantalla o dynpro se deben seguir los siguientes pasos. Primero definimos las 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 podremos incluir botones, campos de entrada, salida, check box, radio Button text, 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 entrada salida, cuál es su formato, cuál 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 dynpro.
2 | 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.
AUDIO ACLARATIVO: 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 Status GUI, los títulos, las barras de menús con solo introducir el nombre del programa ABAP y el nombre del status.
3 | 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)
PAI (Process After Input)
El 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.
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 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.
Más adelante en la unidad veremos en detalle estos dos eventos y otros más que intervienen en el procesamiento de un programa de diálogo.
4 | La creación de un Module PoolPara crear el programa de diálogo o 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 hacíamos 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 Pedro Antonio Duarte, en su ámbito de estudios para la Carrera Consultor ABAP.
Pedro Antonio Duarte
Profesión: Consultor de Sap Abap - Argentina - Legajo: JP24O
✒️Autor de: 128 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Pedro Duarte