✒️ABAP Los IDocs de salida
ABAP Los IDocs de salida
Unidad-4-Lección-6: IDocs de Salida 1) 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.
Ø Programa de extracción Z.
Los Output Types se utilizan cuando la información a enviar se trata de documentos de negocio o transaccionales, como por ejemplo un pedido o factura. 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 (Audio Tip 1): Los Output Type se crean a través de la Transacción NACE. Al crear el tipo de salida se genera de forma automática registros en las tablas NAST y TNAPR. Generalmente los tipos de salida son creados por los administradores.
2) 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 la impresión de formularios.
Ø Se define un Output Message configurado como salida ALE/EDI.
Ø Se asocia dicho mensaje al documento que se desea enviar.
Ø Se debe configurar además el mensaje de logística en le herramienta ALE (en Acuerdo de Interlocutores).
Los pasos para configurar un mensaje vía Output Type son:
Ø Identificamos 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 no contenida en el mismo.
Ø Definimos 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 Exits o ampliaciones. Este tema lo veremos en detalle en los próximos puntos.
Ø Definimos el puerto de salida y la forma de envío.
Ø Definimos (en el caso en que sea necesario) la función de la puerta ABAP.
3) Código de proceso de salida.Es un método de generación de IDocs de salida que se utiliza para datos transaccionales. También llamado Process Code de salida, es el que indica cómo se debe procesar el IDoc.
A diferencia de los códigos de proceso de entrada, que realmente procesan el IDoc para crear o modificar información en documentos de negocio, 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. (Tipo 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 los procesos de salida, se utilizan códigos de proceso estándar para la generación de IDocs, ya que la información a enviar proviene, por lo general, 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 procesos de salida Z, se utiliza la Transacción WE41.
4) 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 usaremos la Transacción BD61.
Lugo realizaremos la activación de los punteros de modificación por Tipo de mensaje a través de la Transacción BD50.
Aquí debemos agregar una entrada para el mensaje deseado y marcarlo como activo.
Ahora debemos definir las tablas y campos relevantes para la generación de punteros de modificación mediante la Transacción BD52.
Para crear la relación entre el Tipo de mensaje y el módulo de función, previamente deberemos crear el módulo de función. Este módulo de función será el que ingresemos en la transacción BD60.
Para crear el módulo de funciones Z, tomaremos el encabezado de un módulo estándar y agregaremos nuestro código. Lógica del módulo de función contiene 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.
Finalmente ejecutaremos el programa RBDMIDOC para ejecutar el IDoc, introduciendo el tipo de mensaje.
Programa RDBMIDOC: El programa estándar RDBMIDOC 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 a los punteros de modificación como procesados en el respectivo tipo de mensaje.
NOTA (Audio Tip 2):
Otras transacciones para punteros de modificación:
BD21: para seleccionar punteros
BD22: para borrar punteros
BD40: para leer punteros de modificación para grupos.
5) 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 en forma masiva, para cargas iniciales, por ejemplo, donde se desea replicar gran parte de los datos maestros del sistema central a los subsistemas del ambiente.
Algunos programas de extracción estándar.
Ø BD10: Maestro de materiales
Ø BD12: Maestro de clientes
Ø BD14: Maestro de proveedores
Además, podemos 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 bene actualizar el Acuerdo de Interlocutores y el modelo de distribución para definir quiénes serán los sistemas receptores.
6) Programas de extracción Z.Los pasos para la creación de un IDoc de salida desde un programa ABAP:
Ø Seleccionar la info 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 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.
Ø Ejecutar un COMMIT WORK.
Ø Enviar el IDoc a su destinatario invocando al programa RSEOUT00.
Una vez completados estos pasos, queda creado el IDoc. El mismo se guarda físicamente en las tablas EDIDC y EDID4. Se puede el listado de los IDoc desde Transacción WE05.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Francisco Ortega Aguilar
Favorito:
Está publicación ha sido agregada a sus favoritos por: Francisco Ortega Aguilar
Sobre el autor
Publicación académica de Oscar Perez, en su ámbito de estudios para la Carrera Consultor ABAP.
Oscar Perez
Profesión: Ingeniero de Sistemas. Consultor y Desarrollador en Peoplesoft - Canada - Legajo: FD38F
✒️Autor de: 105 Publicaciones Académicas
🎓Cursando Actualmente: Master en Programación ABAP Orientado a Objetos
🎓Egresado de los módulos:
Certificación Académica de Oscar Perez