
Lección "La arquitectura de un programa de diálogo"
La Programación de Diálogo y su objetivo es enseñar qué es un Programa de Diálogo o Module Pool, las herramientas para crear pantallas y menús, y la lógica PBO-PAI de una dynpro.
Los puntos clave de esta lección incluyen:
¿Qué es un Programa de Diálogo o Module Pool?
- Es un tipo de programa ABAP que se compone principalmente de una serie de pantallas o dynpros. Los términos "dynpros" y "pantallas" son sinónimos en SAP.
- El usuario interactúa con estas pantallas para navegar por el programa y realizar acciones que afectan las tablas de la base de datos de SAP.
- Se crea con el tipo "Module Pool", a diferencia de un reporte que es de tipo "Programa Ejecutable".
- Los programas de diálogo no pueden ejecutarse directamente (por ejemplo, presionando F8 o el botón de ejecutar). Requieren la creación de una transacción de diálogo asociada, que se crea usando la transacción estándar SE93.
- Se le denomina "Module Pool" porque el programa está compuesto por módulos.
Proceso de Creación de un Programa de Diálogo:
- Se comienza creando el programa ABAP de tipo Module Pool.
- Luego, se diseñan las pantallas (dynpros), definiendo datos, su visualización y lógica.
- Se crea la transacción asociada al programa utilizando la transacción estándar SE93.
- Se definen los menús de las dynpros, incluyendo teclas de función y botones.
- Se establece el flujo de navegación entre las distintas dynpros del Module Pool.
- Finalmente, se programan los módulos en el PBO y PAI de cada dynpro para su lógica de procesamiento.
Herramientas clave para la creación de pantallas y menús
- Para trabajar con programas de diálogo, se utiliza la transacción estándar SE80, conocida como el "Navegador de Objetos". A diferencia del Editor ABAP (SE38), la SE80 permite ver en detalle todos los componentes que forman parte del programa de diálogo.
- Desde la transacción SE80, se accede a dos potentes herramientas gráficas:
- Screen Painter: Se usa para crear las dynpros y todos los elementos u objetos que las componen.
- Menu Painter: Se usa para crear los Status GUI. Un Status GUI es un componente independiente de un programa ABAP que proporciona al usuario un amplio rango de funciones en la pantalla. Está compuesto por barras de menú, barras de herramientas estándar, barras de herramientas de aplicaciones y la configuración de las teclas de función.
La Lógica PBO-PAI de una dynpro
- La lógica de procesamiento de cada dynpro en un programa de diálogo se basa en la ejecución de dos eventos principales:
- PBO (Process Before Output - Procesamiento Antes de la Salida por pantalla): Este evento se ejecuta antes de que la dynpro se visualice. En el PBO se definen los menús y títulos de la dynpro (usando SET PF-STATUS y SET TITLEBAR), se modifican los atributos de los campos de la dynpro (a través de la estructura SCREEN), y se inicializan o cargan campos con valores. Los módulos que se crean dentro del PBO de una dynpro terminan con la palabra OUTPUT en su definición (ej., MODULE status_0100 OUTPUT).
- PAI (Process After Input - Procesamiento Después de la Entrada por pantalla): Este evento se ejecuta después de que el usuario introduce datos en la dynpro o realiza una acción sobre ella (como hacer clic en un botón). La función principal del PAI es validar los datos ingresados en la pantalla y luego ejecutar alguna acción basada en esas validaciones, como emitir un mensaje o cambiar el flujo de procesamiento. Los módulos que se crean dentro del PAI de una dynpro terminan con la palabra INPUT en su definición (ej., MODULE user_command_0100 INPUT).
Esta lección establece la base conceptual para comprender cómo funcionan los programas de diálogo en ABAP, preparando el terreno para lecciones posteriores que profundizan en el diseño de pantallas y menús, y la implementación de la lógica PBO y PAI.