Tutorial de programación de diálogos: grupo de módulos en SAP ABAP

SAP-ABAP admite dos tipos de programas: programa de informes y programa de diálogo.

Si su programa ABAP exige la entrada del usuario, se utiliza la programación de diálogo.

En este tutorial aprenderás:

Un diálogo de usuario es cualquier forma de interacción entre el usuario y el programa y podría ser cualquiera de los siguientes:

  • Ingresando datos
  • Elegir un elemento del menú
  • Al hacer clic en un botón
  • Hacer clic o doble clic en una entrada

El programa de diálogo también se utiliza cuando necesitamos navegar hacia adelante y hacia atrás entre pantallas.

Los programas de diálogo se crean con el tipo "M" - Grupo de módulos. No se pueden ejecutar de forma independiente y deben adjuntarse al menos a un código de transacción en el que especifique una pantalla inicial.

Diferencia entre programas de informes y diálogos

Diferencia entre programas de informes y diálogos

Programa de informes:

Un informe es un programa que normalmente lee y analiza datos en tablas de bases de datos sin cambiar el base de datos.

Programa de diálogo:

Un programa de diálogo le permite trabajar interactivamente con el sistema y cambiar el contenido de las tablas de la base de datos. Cada programa de diálogo tiene una secuencia determinada de imágenes que el sistema procesa una tras otra.

Un ejemplo de procesamiento de transacciones en programación de diálogos

Un procesamiento de transacciones de muestra

Componentes del programa de diálogo

Diferente a la (reporte) lo que generalmente implica la creación de un programa autónomo que puede ejecutarse independientemente de otros objetos, el desarrollo de un programa de diálogo implica el desarrollo de múltiples objetos, ninguno de los cuales puede ejecutarse por sí solo. En cambio, todos los objetos están vinculados jerárquicamente al programa principal y se ejecutan en una secuencia dictada por el programa principal de diálogo..

Los componentes de un programa de diálogo son:

Código de transacción

  • El código de transacción inicia una secuencia de pantalla.
  • Los códigos de transacción se crean en el Navegador de repositorio en ABAP Workbench o mediante Transaction SE93.
  • Un código de transacción está vinculado a un programa ABAP y una pantalla inicial.
  • Puede iniciar una secuencia de pantalla desde cualquier programa ABAP utilizando la instrucción CALL SCREEN.

Pantallas

  • Cada diálogo en un SAP El sistema está controlado por una o más pantallas.
  • Creas pantallas usando la pantalla Painter en el Workbench ABAP a través de la transacción SE51
  • Cada pantalla pertenece a una programa ABAP.
  • Estas pantallas constan de una “máscara de pantalla” o “diseño” y su lógica de flujo. La pantalla tiene un diseño que determina las posiciones de los campos de entrada/salida y otros elementos gráficos como casillas de verificación y botones de opción. Una lógica de flujo determina el procesamiento lógico dentro de la pantalla.

Estado de la interfaz gráfica de usuario

  • Cada pantalla tiene estados de GUI que son componentes independientes de un programa.
  • Esto controla las barras de menú, la barra de herramientas estándar, la barra de herramientas de la aplicación, con las que el usuario puede elegir funciones en la aplicación.
  • Los creas en ABAP Workbench usando el Menú Painter.

Programa ABAP

  • Cada pantalla y estado de GUI en el Sistema R/3 pertenece a un programa ABAP.
  • El programa ABAP contiene los módulos de diálogo que son llamados por la lógica de flujo de pantalla y también procesa la entrada del usuario desde el estado de la GUI.
  • Los programas ABAP que utilizan pantallas también se conocen como programas de diálogo.
  • En un grupo de módulos (programa tipo M); El primer bloque de procesamiento que se llama es siempre un módulo de diálogo. Sin embargo, también puede utilizar imágenes de otros programas ABAP, como programas ejecutables o módulos de funciones. El primer bloque de procesamiento se llama entonces de forma diferente; por ejemplo, por el entorno de ejecución o una llamada a procedimiento. Luego se inicia la secuencia de pantalla utilizando la instrucción CALL SCREEN.

Lógica de flujo de pantalla

La lógica de flujo de pantalla se divide principalmente en cuatro componentes.

  • Procesar antes de la salida (PBO) evento: que se procesa antes de que se muestre la pantalla
  • Proceso después de la entrada (PAI) evento: que se procesa después de una acción del usuario en la pantalla
  • Procesar en solicitud de ayuda (P.O.H.): que se procesa cuando se presiona F1
  • Procesar en solicitud de valor (Punto de vista):que se procesa cuando se presiona F4

Dynpro

  • Una pantalla junto con su lógica de flujo se denomina Dynpro (“Programa dinámico” ya que la lógica de flujo de la pantalla influye en el flujo del programa).
  • Cada dynpro controla exactamente un paso de su programa de diálogo.
  • Las pantallas pertenecientes a un programa son numerado. La secuencia del flujo de la pantalla puede ser lineal o cíclica. Desde dentro de una cadena de pantalla, incluso puede llamar a otra cadena de pantalla y, después de procesarla, volver a la cadena original. También puede anular la siguiente pantalla definida estáticamente desde los módulos de diálogo del programa ABAP.

Grupo de módulos ABAP

  • En un evento PBO o PAI, un Dynpro llama a un programa de diálogo ABAP. La colección de dichos programas se denomina grupo de módulos ABAP.
  • Por ejemplo, los módulos llamados en el evento PAI se utilizan para verificar la entrada del usuario y activar los pasos de diálogo apropiados, como la tarea de actualización.
  • Todos los dynpros serán llamados desde dentro. one La transacción se refiere a un grupo de módulos común.

Estructura de un programa de diálogo

Estructura de un programa de diálogo

Flujo de proceso para un programa de diálogo

Flujo de proceso para un programa de diálogo