✒️ABAP Los IDocs de salida
ABAP Los IDocs de salida
IDOCS DE SALIDA:
Introducción a las interfaces de salida: Los Idocs de salida se pueden generar mediante output types, punteros de modificación, programa de extracción estándar y programa de extracción Z. Los output types se utilizan cuando la información a enviar se trata de documentos de negocio o transacciones, como por ejemplo un pedido o una factura. Para ello, la aplicación debe ser EDI/ALE Enable. Los punteros de modificación y los programas extractores se utilizan para replicar datos maestros o modificaciones de los mismos.
NOTA: Los output de salida se crean a través de la transacción NACE. Cuando se crea el tipo de salida, se generan automáticamente registros en las tablas NAST y TNAR. Generalmente los tipos de salida son creados por los administradores del sistema.
Output types: Es un método de generación de IDocs de salida que se utiliza para datos transaccionales.El manejo del lado funcional es el mismo utilizado para impresión de formularios: definir un Output Message, configurado como salida ALE/EDI, asociar el mensaje al documento que desea enviarse y configurar además el mensaje de logística en la herramienta ALE (en el acuerdo de interlocutores).
Pasos para configurar un mensaje vía Output Type:
- Identificar el tipo de mensaje Idoc a enviar: por tratarse de documentos de negocio, generalmente se utilizan tipos de mensaje estándar y, eventualmente, se generan ampliaciones de estos mensajes para enviar información contenida en el mismo.
- Definir el código de proceso de salida: si se utiliza un tipo de mensaje estándar, se utilizará un código de proceso estándar. Si se han generado ampliaciones para este tipo de mensaje, se modificará el módulo de función del código de proceso utilizando User Extis o ampliaciones.
- Definir el puerto de salida y la forma de envío.
- Definir la función de la puerta ABAP, en caso de ser necesario.
Código de proceso de salida: También llamado Process Code de salid, es el que indica cómo se debe procesar el IDoc de salida. Los códigos de proceso de salida, no graban información en el documento o en el objeto, sino que obtienen la información del mismo y la transforman a formato IDoc para poder ser enviada. Se definen códigos de proceso para cada tipo de mensaje y cada código de proceso está asociado a un módulo de función, que es el encargado de ejecutarlo. En la mayoría de estos procesos, se utilizan códigos de proceso estándar para la generación de IDocs. Todos los módulos de función estándar asociados a códigos de proceso, cuentan con una serie de ampliaciones donde puede añadirse código Z. Para definir códigos de procesos de salida Z, se utiliza la transacción WE41.
Punteros de modificación: se utilizan para enviar o duplicar datos maestros en sistemas externos, cuando estos datos son creados o modificados. Para realizar la activación de punteros de modificación en forma global, se utilizará la transacción BD61. Después, se realizará la activación de los punteros de modificación por tipo de mensaje a través de la transacción BD50. Se añadirá una entrada para el mensaje deseado y marcarla como activa. A continuación se definirá las tablas y campos relevantes para la generación de punteros de modificación mediante la transacción DB52. Primero se introduce el tipo de mensaje. Luego se introducirá el objeto de modificación, la tabla y el campo. Crear la relación entre el tipo de mensaje y el módulo de función a través de la transacción DB60. Para crear la relación entre el tipo de mensaje y el módulo de función, previamente se deberá crear el módulo de función. Para crear el módulo de funciones Z, se tomara el encabezado de un módulo estándar y se añadirá el código propio. Por último, se ejecutará el programa RBMIDOC para ejecutar el Idoc, introduciendo el tipo de mensaje. La lógica del módulo de función contendrá los siguientes pasos:
- Leer los punteros de modificación generados usando la función “CHANGE_POINTERS_READ”.
- Analizar los punteros de modificación para determinar qué documentos son válidos.
- Determinar la clave del documento de aplicación del paso anterior.
- Seleccionar datos de aplicación de la base de datos usando la clave de objeto identificada.
- Completar la información del registro de control del IDoc.
- Completar una tabla interna de estructura EDIDD con registros de datos para todos los segmentos.
- Llamar al servicio “MASTER_IDOC_DISTRIBUTE” para crear los datos en la base de datos.
- Actualizar el estado de los punteros de modificación.
- Ejecutar un “COMMIT WORK”.
Programa RDBMIDOC: El programa estánsder RDBMIDOC se utiliza para crear IDocs a través de punteros de modificación para un tipo de mensaje específico. Después de creados, los envía al sistema receptor y marca a los punteros de modificación como procesados en el respectivo tipo de mensaje.
Otras transacciones para punteros de modificación:
- BD21: para seleccionarlos
- BD22: para borrarlos
- BD40: para leerl punteros de modificación para grupos.
Programas de extracción estándar: Existen programas estándar para la creación de IDocs. Estos programas se utilizan para enviar a los sistemas receptores datos maestros de forma masiva para cargas iniciales, por ejemplo, se desea replicar gran parte de los datos maestros del sistema central a los subsistemas del ambiente. Se puede programar los propios programas extractores generadores de Idocs. Estos programas utilizan el módulo de función “MASTER_IDOC_DISTRIBUTE” para distribuir la información generada a los sistemas receptores. Se debe actualizar el acuerdo de interlocutores y el módulo de distribución, para definir cuales serán los sistemas receptores.
Algunos programas extractores estándar son:
- BD10: Maestro de materiales
- BD12: Maestro de clientes
- BD14: Maestro de proveedores.
Pasos para la creación de un IDoc de salida desde un programa ABAP:
- Seleccionar la información de la base de datos de acuerdo con los parámetros de selección ingresados.
- Completar la información correspondiente al registro de control.
- Completar una tabla interna del tipo EDIDD con los registros de datos de los segmentos correspondientes.
- LLamar al servicio de la capa ALE MASTER_IDOC_DISTRIBUTE para crear los IDocs en la base de datos.
- Ejecutar COMMIT WORk.
- Enviar el IDoc a su destinatario mediante el programa RSEOUT00
Tras estos pasos el IDoc está creado y se guarda en las tablas EDIDC y EDID2, que se pueden ver en la transacción WE05.
 
 
 
Sobre el autor
Publicación académica de Felipe Estepa Quintero, en su ámbito de estudios para la Carrera Consultor ABAP.
Felipe Estepa Quintero
Profesión: Tecnologo en Gestion Logistica - Colombia - Legajo: QH16V
✒️Autor de: 118 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Felipe Estepa