• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
Twitter Linkedin Instagram
S4PCADEMY_Logo
Twitter Linkedin Instagram
SAP ABAP

Módulo de Pool en SAP ABAP

By s4pcademy 

SAP-ABAP admite dos tipos de programas: Programa de informe y Programa de diálogo.

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

En este tutorial aprenderá:

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

  • Entrada de datos
  • Elegir un elemento de menú
  • Hacer clic en un botón
  • Hacer clic o hacer doble clic en una entrada

El programa de diálogo también se utiliza cuando necesitamos navegar de un lado a otro entre pantallas

Los programas de diálogo se crean con el tipo ‘M’ – Module Pool. No se pueden ejecutar de forma independiente y deben estar adjuntos a al menos un código de transacción en el que se especifique una pantalla inicial.

Diferencia entre Programas de Informe y Programas de Diálogo

Diferencia entre Programas de Informe y Programas de Diálogo

Programa de informe:

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

Programa de diálogo:

Un programa de diálogo le permite trabajar de forma interactiva con el sistema y cambiar los contenidos de las tablas de bases de datos. Cada programa de diálogo tiene una secuencia específica de pantallas que son procesadas por el sistema una tras otra.

Procesamiento de transacciones de muestra en Programación de Diálogo

Procesamiento de transacciones de muestra

Componentes de un Programa de Diálogo

A diferencia de un informe, que generalmente implica la creación de un programa autónomo que puede ejecutarse independientemente de otros objetos, el desarrollo de programas de diálogo implica el desarrollo de múltiples objetos ninguno de los cuales se puede ejecutar por sí solo. En su lugar, 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 pantallas.
  • Crea códigos de transacción en el Navegador del Repositorio en ABAP Workbench o usando la transacción SE93.
  • Un código de transacción está vinculado a un programa ABAP y a una pantalla inicial.
  • Puede iniciar una secuencia de pantallas desde cualquier programa ABAP usando la declaración CALL SCREEN.

Pantallas

  • Cada diálogo en un sistema SAP está controlado por una o más pantallas.
  • Crea pantallas utilizando Screen Painter en ABAP Workbench a través de la transacción SE51
  • Cada pantalla pertenece a un programa ABAP.
  • Estas pantallas consisten en una «máscara de pantalla» o «distribución» y su lógica de flujo. La pantalla tiene una disposición que determina las posiciones de 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 GUI

  • Cada pantalla tiene uno o más estados de la GUI que son componentes independientes de un programa.
  • Esto controla las barras de menú, la barra de herramientas estándar, la barra de aplicaciones, con las que el usuario puede elegir funciones en la aplicación.
  • Debe crearlos en ABAP Workbench utilizando Menu Painter.

Programa ABAP

  • Cada pantalla y estado de la GUI en el sistema R/3 pertenece a un programa ABAP.
  • El programa ABAP contiene módulos de diálogo que son llamados por la lógica de flujo de la pantalla, y también procesan 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 pool de módulos (programa tipo M), el primer bloque de procesamiento que se debe llamar siempre es un módulo de diálogo. Sin embargo, también puede usar pantallas en otros programas ABAP, como programas ejecutables o módulos de funciones. El primer bloque de procesamiento se llama de manera diferente; por ejemplo, por el entorno de tiempo de ejecución o una llamada a procedimiento. La secuencia de pantalla se inicia utilizando la declaración CALL SCREEN.

Lógica de flujo de pantalla

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

  • Evento Procesar Antes de la Salida (PBO): que se procesa antes de que se muestre la pantalla
  • Evento Procesar Después de la Entrada (PAI): que se procesa después de una acción del usuario en la pantalla
  • Procesar solicitud de ayuda (POH): que se procesa cuando se presiona F1
  • Procesar solicitud de valor (POV): que se procesa cuando se presiona F4

Dynpro

  • Una pantalla junto con su lógica de flujo se llama 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 están numeradas. La secuencia de flujo de 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.

Pool de Módulos ABAP

  • En un evento PBO o PAI un Dynpro llama a un programa de diálogo ABAP. La colección de estos programas se llama el pool 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 que se deben llamar desde una transacción se refieren a un pool de módulos común.

Estructura de un Programa de Diálogo

Estructura de un Programa de Diálogo

Flujo de procesos para un Programa de Diálogo

Flujo de procesos para un Programa de Diálogo


Crear, Leer, Poblar, Copiar y Borrar.
Previo
Cómo Crear una Empresa en SAP - Guía Paso a Paso
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.