✒️ABAP Los IDocs de salida
ABAP Los IDocs de salida
Unidad 4: IDocs.
Lección 6: IDocs Salida.
1.- Introducción a las Interfaces de Salida.
Los IDocs de salida se pueden generar mediante:
- Output Types.
Se utilizan cuando lo que mandamos son documentos de negocio también llamados transaccionales. P.e. Pedidos, facturas etc. La aplicación generadora debe ser EDI/Ale Enable.
Se crean a través de la transacción NACE generándose automáticamente registros en las tablas NAST y TNAPR. Normalmente los tipos de salida o Output Types son creados por la gente de SAP Basis.
- Punteros de modificación.
- Programa de extracción estándar.
- Programa de extracción Z.
Tanto los punteros de modificación como los programas extractores, se utilizan para replicar datos maestros o modificaciones de los mismos.
2.- Output Types.
Método de generación de IDocs de salida utilizado para datos transaccionales.
Desde el punto de vista funcional el funcionamiento es el utilizado en la impresión de formularios:
- Se define un Output Message, configurado como salida ALE/EDI.
- Asociamos dicho mensaje al documento a enviar.
- Debe configurarse el mensaje de logística en la herramienta ALE (en Acuerdo de Interlocutores).
Los pasos de configuración son los siguientes:
- Identificamos el tipo de mensaje IDoc a enviar. Tratándose de documentos de negocio, por lo general se utilizarán tipos de mensajes estándar pudiéndose generar ampliaciones si hay datos requeridos que no están contenidos en el mismo.
- Definimos código de proceso de salida. Si el tipo de mensaje es estándar, se utilizara un código de proceso estándar. Si sobre el tipo de mensaje estándar se han generado ampliaciones deberá actualizarse el código mediante User Exits o ampliaciones.
- Definimos el punto de salida y la forma de envío.
- Definimos si se requiere la función del puerto ABAP.
3.- Código de proceso de salida.
Es el que indica como debe procesarse el IDoc de salida. El código de proceso de salida obtienen la información del documento u objeto y lo transforman al formato del IDoc para ser enviada.
Se definen códigos de proceso para cada tipo de Mensaje (Tipos de IDoc) estando cada código de proceso asociado a un módulo de función que es el encargado de su ejecución.
Para la mayoría de procesos de salida, los códigos de proceso son estándar ya que la información a enviar se encuentra en documentos de negocio. En cualquier caso todos los módulos de función estándar asociados a códigos de proceso, cuentan con ampliaciones donde se puede agregar código Z, si el Tipo Base va asociado a una ampliación.
Si se requiere códigos de proceso Z, disponemos de la transacción WE41.
4.- Punteros de modificación.
Se utilizan para enviar o duplicar datos maestros en sistemas externos, cuando estos datos se crean o modifican. Los pasos a seguir son los siguientes:
- La activación de punteros de modificación de manera global, se realiza mediante la transacción BD61. Aquí marcaremos el flag de "Puntero modificación general activado".
- Activamos los punteros de modificación por Tipo de Mensaje con la transacción BD50. El botón "Entradas nuevas" nos permitirá añadir los tipos de mensaje que corresponda. Además del nombre del tipo de mensaje marcamos el flag "Activo".
- Con la transacción BD52 procederemos a añadir las tablas y campos relevantes para la generación de punteros de modificación.
1. Primero se informa el Tipo de Mensaje.
2. Luego creamos una entrada nueva e informamos objeto de modificación, tabla y campo.
- Creamos relación entre Tipo de Mensaje y el módulo de función a través de BD60. Añadiendo nuevas entradas.
Debemos asegurarnos previamente que el módulo de función está creado.
Para crear un módulo de función Z, tomaremos la cabecera de un módulo estándar y agregaremos nuestro código. La lógica del módulo contendrá los siguientes pasos:
1. Leer los punteros de modificación mediante la función CHANGE_POINTERS_READ.
2. Analizar los punteros de modificación para determinar cuales documentos son válidos.
3. Determinar la clave del documento de aplicación del paso anterior.
4. Seleccionar datos de aplicación de la base de datos, usando la clave de objeto identificada.
5. Completar la información del registro de control del IDoc.
6. Completar tabla interna de estructura EDIDD con registros. de datos para todos los segmentos.
7. Llamar al MASTER_IDOC_DISTRIBUTE para crear los datos de la base de datos.
8. Actualizar el estado de los punteros de modificación.
9. Ejecutar un COMMIT WORK.
Finalmente se ejecutará el programa RBDMIDOC para ejecutar el IDoc, tipo de mensaje. Este programa además de crear IDocs a través de punteros de modificación para un tipo de mensaje específico. Una vez creados, los envía al receptor y marca los punteros de modificación como procesados en el tipo de mensaje que les corresponda.
Hay otras transacciones estándar de gran utilidad si se utilizan punteros de modificación:
- BD21. Seleccionar punteros de modificación.
- BD22. Borrar punteros de modificación.
- BD40. Leer punteros de modificación para grupos.
5. Programas de extracción estándar.
Estos programas se utilizan para enviar a los sistemas receptores datos maestros de forma masiva, para cargas iniciales donde deseamos replicar gran parte de los datos maestros del sistema central a los subsistemas del mandante.
Algunos ejemplos de extractores estándar son:
- BD10 - Maestro de Materiales.
- BD12 - Maestro de Clientes.
- BD14 - Maestro de proveedores.
Adicionalmente siempre se pueden programar programas extractores generadores de IDocs. Estos programas utilizarán el módulo de función MASTER_IDOC_DISTRIBUTE para mandar la información generada a los receptores. Recordar que debe actualizarse el Acuerdo de interlocutores y el Modelo de distribución. para definir los sistemas receptores.
6. Programas extracción Z.
Para crear estos programas hay que seguir los siguientes pasos:
- Seleccionar la información de la base de datos en función de los parámetros informados.
- Completar información registro de control del IDoc.
- Completar tabla interna de tipo EDIDD con los registros de datos de los segmentos que correspondan.
- Llamar al servicio de ALE MASTER_IDOC_DISTRIBUTE, para crear los IDocs en la base de datos.
- Ejecutar COMMIT-WORK.
- Enviar IDoc al receptor llamando al programa RSEOUT00.
Con estos pasos se ha creado el IDoc y almacenado en las tablas EDIDC y EDID4. Podremos validarlo con la transacción WE05.
 
 
 
Sobre el autor
Publicación académica de Francisco Compte Sanchez, en su ámbito de estudios para la Carrera Consultor ABAP.
Francisco Compte Sanchez
Profesión: Sap Business&integration Architect - España - Legajo: QQ38S
✒️Autor de: 105 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Consultor sap mm y sd con algún conocimiento abap a nivel de debug. quiero consolidar conocimientos técnicos para reforzar mi perfil profesional.
Certificación Académica de Francisco Compte