✒️ABAP Los IDocs de salida
ABAP Los IDocs de salida
Los IDOcs de salida se pueden generar mediante:
- Output types
- Punteros de modificación
- Programa de extracción estándar
- Programa de extracción Z
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 igual a la impresión de formularios:
- Se define un mensaje de salida configurado como salida ALE/EDI
- Se asocia dicho mensaje al documento que desea enviarse
- Se debe configurar además, el mensaje de logística en la herramienta ALE
Los pasos para configurar un mensaje vía Output Type son:
- Identificar el tipo de mensaje IDOc a enviar
- Definir el código de proceso de salida
- Definir el puerto de salida y la forma de envío
- Definir, en caso de que sea necesario, la función de la puerta de ABAP.
Código de proceso de Salida: es el que indica como se debe procesar el IDOc de salida. A diferencia con los cod de procesos de entrada, los cod de procesos 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 define un código de proceso para cada tipo de mensaje (Tipos de IDOc) y cada código de proceso está asociado a un mod de función, que es el encargado de ejecutarlo. En la mayoría de los casos, los procesos de salida utiliza código estándar para la generación de los IDOcs, ya que por lo general la información proviene de documentos de negocio. Igualmente, todos los módulos de función estándar asociados a códigos de proceso, cuentan con una serie 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 se utiliza la tx WE41
Punteros de Modificación: Se utilizan para enviar o duplicar datos maestros en sistemas externos, cuando estos datos son creados o modificados. Para activar todos los punteros de modificación se hace por la tx BD61. Para hacerlo por tipo de mensaje se hace por la BD50. Para generar un puntero de modificación utilizar la transacción BD52.
Para crear la relación entre el tipo de mensaje y el módulo de función, previamente hay que crear el módulo de función. Este módulo es el que se ingresa a la BD60. Para crear el módulo de función Z tomaremos un encabezado de un mod estándar y agregaremos nuestro código. La lógica deberá contener los siguientes pasos:
- Leer los punteros de mod generados usando la función CHANGE_POINTERS_READ
- Analizar los punteros de modificación para determinar cuáles 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 info 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
Finalmente se ejecuta el programa RBDMIDOC para ejecutar el IDoc, introduciendo el tipo de mensaje. Este programa se utiliza para crear IDocs a través de punteros de modificación, para un tipo de mensaje específico. Luego de creados los envía al sistema receptor, y marca los punteros de modificación como procesados en el respectivo mensaje.
Programas de extracción estándar: Se utilizan para enviar datos maestros a sistemas receptores de forma masiva, para cargas iniciales. BD10 (materiales) BD12 (Clientes) BD14 (Proveedores)
Programas de extracción Z: para crear un IDOc desde un programa ABAP hay que seguir los siguientes pasos:
-Seleccionar la información de la base de datos de acuerdo a los parámetros de selección ingresados
-Completar la info correspondiente al registro de control
-Completar una tabla interna del tipo EDIDD con los registros de datos de los segmentos correspondiente
-Llamar al servicio de la capa ALE MASTER_IDOC_DISTRIBUTE para crear los IDocs en la base de datos
-Ejecutar un COMMIT WORK
-Enviar el IDoc a su destinatario invocando al programa RSEOUT00
Mediante la transacción WE05 se pueden visualizar lso IDOCs existentes en el sistema.
 
 
 
Sobre el autor
Publicación académica de Diego Baigorria, en su ámbito de estudios para la Carrera Consultor ABAP.
Diego Baigorria
Profesión: Aux Sistemas - Argentina - Legajo: ZC10B
✒️Autor de: 83 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP Fiori
- Máster Material Management en SAP S/4HANA LOGISTIC
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial