✒️ABAP Los IDocs de salida
ABAP Los IDocs de salida
- IDOCS DE SALIDA
Los IDocs de salida se pueden generar mediante
- Output types: Cuando la información a enviar se trata de documentos de negocio (transaccionales) como por ejemplo un pedido o una factura. La aplicación de ser EDI/Ale Enable.
- Punteros de modificación: Usado para replicar datos maestros o modificaciones de los mismos.
- Programa de extracción estándar: Usado para replicar datos maestros o modificaciones de los mismos.
- Programa de extracción Z.
- OUTPUT TYPES
Generalmente creados por los administradores del sistema, mediante la NACE que genera resgistros en las tablas de sistema NAST y TNAPR.
Este método de generación de IDocs de salida se usa para datos transaccionales (Ej/ pedidos, facturas).
El manejo del lado funcional es el mismo que el usado para impresión de formularios:
- Definir Output Message (mensaje de salida), configurado somo salida ALE/EDI.
- Asociar dicho mensaje al documento que desea enviarse.
- Configurar 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: Al tratarse de documentos de negocio, por lo general se usan tipo de mensaje estándar y eventualmente se generan ampliaciones para información no contenida en el mismo.
- Definir el código de proceso de salida: Si se usa un tipo de mensaje estándar, se usará un código de proceso estándar. Si se generan ampliaciones se modificará el módulo de función del código de proceso usando User Exits o ampliaciones.
- Definir puerto de salida y forma de envío.
- Definir, si es necesario, la función de la puerta ABAP.
Veremos en profundidad los Códigos de proceso de salida, que indica como se debe procesar el IDoc de salida. Se obtiene información de los documentos de negocio (pedidos, facturas, etc...) y la transforman a formato IDoc para poder ser enviada.
Se definen códigos de proceso para cada tipo de mensaje (tipos de IDocs) 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 procesos de salida, se usan códigos de proceso estándar para la generación de IDocs ya que la información suele venir de documentos de negocio.
Igualmente, todos los módulos de función estándar asociados a códigos de proceso, cuentan con una seria de ampliaciones, donde puede agregarse código Z, en caso que el tipo base vaya asociado a una ampliación Z.
Para definir códigos de proceso de salida Z, usaremos la WE41.
- PUNTEROS DE MODIFICACIÓN
Usados para enviar y duplicar datos maestros en sistemas externos, cuando estos datos son creados o modificados.
Para hacer la activación de punteros de modificación en forma global usaremos la BD61.
Luego haremos la activación de los punteros de modificación por tipo de mensaje con la BD50. Aquí agregaremos una entrada para el mensaje deseado y la marcaremos como activa.
Luego en la DB52 definiremos las tablas y campos relevantes para la generación de punteros de modificación. Primero introducimos el tipo de mensaje y posteriormente el objeto de modificación, la tabla y el campo.
El siguiente paso en la BD60 creamos la relación entre el Tipo de mensaje y el módulo de función.
Para crear el módulo de funciones Z, tomaremos el encabezado de un módulo estándar y agregaremos nuestro código. La lógica 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 los documentos validos.
- Determinar clave de 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 la 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.
- Commit work.
Finalmente ejecutaremos el programa RBDMIDOC para ejecutar el IDoc, introduciendo el tipo de mensaje.
Otras transacciones a tener en cuenta: BD21: Seleccionar punteros de modificación; BD22: Borrar punteros de modificación; BD40: Leer punteros de modificación para grupos.
- PROGRAMAS DE EXTRACCIÓN ESTÁNDAR
Existen programas estándar para la creación de IDocs. Usados para enviar a los sistemas receptores datos maestros en forma masiva, para cargas iniciales, etc.
Algunos programas extractores estándar: BD10: Maestro de materiales; BD12: Maestro de clientes; BD14: Maestro de proveedores.
También podemos programar los propios programas extractores generadores de IDocs. Estos programas usan 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 modelo de distribución para definir cuales serán los sistemas receptores.
- PROGRAMAS DE EXTRACCIÓN Z
Pasos a seguir:
- Seleccionar la información de la base de datos de acuerdo a los parámetros de selección ingresados.
- Completar información correspondiente al registro de control.
- Completar una tabla interna de 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.
- COMMIT WORK
- Enviar el IDoc a su destinatario invocando al programa RSEOUT00.
Con estos pasos queda creado el IDOC, este se guarda físicamente en las tablas EDIDC y EDID4. Se puede ver en la transacción WE05.
 
 
 
Sobre el autor
Publicación académica de Ignacio Mart?n Bolumar, en su ámbito de estudios para la Carrera Consultor ABAP.
Ignacio Mart?n Bolumar
Profesión: Ingeniero Inform?tico - Espa?a - Legajo: ZL84Z
✒️Autor de: 94 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Ignacio Mart?n