SAP Tutorial de IDOC en ABAP: Guía paso a paso
⚡ Resumen inteligente
SAP IDoc (Documento Intermedio) es un contenedor de datos estandarizado que mueve información comercial entre SAP y noSAP sistemas a través de ALE y EDI. Este tutorial explica su definición, estructura, tipos, tablas, perfiles de socios, puertos y los procesos de entrada y salida de extremo a extremo.

¿Qué es un IDoc?
IDoc es simplemente un contenedor de datos Se utiliza para intercambiar información entre dos procesos cualesquiera que puedan comprender la sintaxis y la semántica de los datos.
En otras palabras, un IDoc es como un archivo de datos con un formato específico que se intercambia entre dos sistemas que saben cómo interpretar esos datos.
IDoc significa “Documento intermedio".
Cuando ejecutas un saliente En el proceso ALE o EDI, se crea un IDoc. SAP SystemLos IDocs se almacenan en la base de datos y cada IDoc tiene un número único dentro de un cliente.
Características Principales
- Los IDocs son independiente de los sistemas de envío y recepción (SAP-A-SAP así como no-SAP).
- Los IDocs se basan en EDI Estándares ANSI ASC X12 y EDIFACT. En caso de conflicto en el tamaño de los datos, IDoc adopta el de mayor longitud.
- Los IDocs son independiente de la dirección del intercambio de datosPor ejemplo, ORDERS01 en el módulo de Compras admite tanto operaciones de entrada como de salida.
- Los IDocs se pueden ver en un editor de texto porque los datos se almacenan en formato de caracteres en lugar de en formato binario.
Estructura de un IDoc
La estructura IDoc consta de tres partes:
- La parte administrativa (Registro de control) — Contiene el tipo de IDoc, el tipo de mensaje, el estado actual, el remitente, el destinatario y metadatos similares. Esto se conoce como registro de control.
- Los datos de la aplicación (Registro de datos) — contiene los datos comerciales. Estos se denominan registros de datos o segmentos.
- Información de estado (Registro de estado) — proporciona información sobre las distintas etapas por las que ha pasado el IDoc.
Puede ver un IDoc utilizando la transacción WE02 or WE05.
Como se puede apreciar en la captura de pantalla anterior, el registro IDoc consta de tres partes: Control, Datos y Estado. Cada parte se describe en detalle a continuación.
Registro de control
- Todos los datos del registro de control se almacenan en el EDIDC tabla. La clave de esta tabla es el número de IDoc.
- Contiene información como el número de IDoc, la dirección (entrada/salida), el remitente, la información del destinatario, el canal en uso y el puerto en uso.
- La dirección “1” indica salida y la “2” indica entrada.
Registro de datos
- El registro de datos contiene información de la aplicación, como información del encabezado del empleado, detalles semanales, detalles del cliente, etc.
- Todos los datos de Data Record se almacenan en tablas. EDID2 a EDID4 y EDIDD es una estructura cuyos componentes se pueden ver.
- Contiene datos como el número de IDoc, el nombre y el número del segmento en el IDoc, la jerarquía y los datos en sí.
- La carga útil real se almacena como una cadena en un campo llamado SDATA, que es un campo de 1000 caracteres.
Registro de estado
- Se adjunta un registro de estado a un IDoc en cada hito o cuando se produce un error.
- Todos los datos del registro de estado se almacenan en el EDIDS mesa.
- Los estados del 1 al 42 son para llamadas salientes, mientras que del 50 al 75 son para llamadas entrantes.
Tipos de IDoc
Un tipo de IDoc (básico) define la estructura y el formato del documento comercial que se va a intercambiar. Un IDoc es una instancia de un tipo IDoc., al igual que el concepto de variables y tipos de variables en lenguajes de programaciónLos tipos de IDoc se pueden definir mediante transacciones. WE30.
¿Qué es un segmento?
Un segmento define el formato y la estructura de un Registro de datos En un IDoc. Los segmentos son componentes reutilizables.
Para cada segmento, SAP crea los siguientes componentes.
- Tipo de segmento (versión independiente)
- Definición de segmento (dependiente de la versión)
- Documentación del segmento
Los últimos tres caracteres representan la versión del segmento. Las definiciones pueden cambiar a medida que cambia la versión, pero el tipo de segmento permanece igual. Transacción: WE31.
¿Qué es un tipo de IDoc de extensión?
Un IDoc es de dos tipos:
- Básico
- Extension
SAP proporciona muchos tipos de IDoc básicos predefinidos que no se puede modificarSi necesita agregar más datos a un tipo básico restringido, puede usar un tipo de extensión. La mayoría de las veces lo hará. No Necesito extensiones.
Documentación
Cada IDoc está documentado minuciosamente en la transacción. WE60.
Tipo de mensaje
Un mensaje representa un tipo específico de documento que es transmitadosado entre dos socios, por ejemplo Pedidos, Respuestas a Pedidos y Facturas.
Un tipo de IDoc puede estar asociado con muchos tipos de mensaje. A la inversa, un tipo de mensaje puede estar asociado con diferentes tipos de IDoc. Transacción: WE81.
Vistas de IDoc
Un tipo de IDoc puede utilizarse para más de un tipo de mensaje, lo que da como resultado que los IDoc contengan más campos de los necesarios para un tipo de mensaje en particular.
Las vistas de IDoc mejoran el rendimiento en la generación de IDocs al garantizar que solo los segmentos relevantes se rellenen con datos. Las vistas de IDoc son importantes únicamente para el procesamiento de salida.
Perfiles de socios
Un socio es un socio comercial con quien se realizan negocios y se intercambian documentos.
En el perfil de socio de un socio con el que se intercambian IDocs, se mantienen los parámetros necesarios para el intercambio de datos. La transacción utilizada es WE20.
Cerca del puerto deportivo
El Puerto define las características técnicas de la conexión entre su SAP El puerto define el medio a través del cual se intercambian los datos entre ambos sistemas.
Hay diferentes tipos de puertos. Los dos más utilizados son: Puertos TRFC utilizado en ALE y Puertos de archivos utilizado por EDI.
Para los puertos TRFC, debe proporcionar el nombre del destino lógico creado mediante SM59Al usar un puerto de archivo, puede especificar el directorio donde se debe colocar el archivo IDoc. El otro sistema o middleware luego toma el archivo desde allí. Se puede usar un módulo de función para generar un nombre de archivo para el IDoc. las pruebas , puede usar “Archivo de salida” para especificar un nombre de archivo constante. La pestaña “disparador de salidaSe puede utilizar para proporcionar información si se desea activar algún procesamiento en el subsistema cuando se crea un IDoc en esta ubicación. Especifique el nombre del archivo de comandos y el directorio donde se debe ejecutar.
Transacción IDoc común Codes
| transacción Code | Propósito |
|---|---|
| WE02 / WE05 | Visualización y monitorización de IDocs |
| WE30 | Crear o cambiar el tipo de IDoc |
| WE31 | Crear o cambiar segmento |
| WE20 | Mantener perfil de socio |
| WE21 | Mantenimiento de puertos |
| WE42 | Definir el proceso de entrada Code |
| WE57 | Asignar módulo de función de entrada al tipo de mensaje |
| WE60 | Documentación IDoc |
| WE81 / WE82 | Crear tipo de mensaje / asociarlo a un tipo de IDoc |
| BD51 | Definir las características del módulo de función |
| SM59 | Mantener destinos RFC |
Proceso IDoc: Un ejemplo práctico
Consideremos el ejemplo de enviar una orden de compra a un proveedor a través de IDoc.
- Cada vez que se crea una Orden de Compra (OC), el sistema necesita enviar un IDoc al proveedor.
- La orden de compra se envía al proveedor (socio) en formato IDoc. Dicho socio debe tener habilitado el protocolo EDI en el sistema. SAP reconoce que puede enviar el documento a este proveedor electrónicamente.
- La orden de compra enviada como un IDoc saliente por el cliente se convierte en un IDoc entrante para el proveedor. SAP El sistema del proveedor puede procesar esto para crear un documento de solicitud (un pedido de venta) en su sistema.
- Las cotizaciones, las solicitudes de cotización, las órdenes de compra, las órdenes de venta, las facturas y los albaranes son algunos de los documentos que se intercambian con mayor frecuencia a través de IDoc.
El proceso de transferencia de datos fuera de su SAP sistema se llama Proceso de salida, mientras los datos se mueven hacia su SAP sistema se llama Proceso entranteComo desarrollador o consultor que configura estos procesos para su organización, a continuación se detallan los pasos para configurar cada uno.
El proceso de salida
Pasos involucrados:
- Crear segmentos (WE31).
- Cree un tipo de IDoc (WE30).
- Crear un tipo de mensaje (WE81).
- Asocie el tipo de mensaje con el tipo de IDoc (WE82).
- Crear un puerto (WE21).
- Si utiliza el método message-control para activar IDocs, cree el módulo de función que construye el IDoc y vincúlelo a un proceso de salida. Code.
- De lo contrario, cree un módulo de función o un programa independiente que cree el IDoc directamente.
- Cree un perfil de socio (WE20) con la información necesaria en los parámetros de salida para el socio con el que intercambia el IDoc y active el IDoc.
El proceso de entrada
Pasos involucrados:
- Cree el tipo de IDoc básico (Transacción WE30).
- Cree el tipo de mensaje (Transacción WE81).
- Asocie el tipo de mensaje con el tipo de IDoc básico (transacción WE82).
- Cree el módulo de función para procesar el IDoc.
- Defina las características del módulo de función (BD51).
- Asigne el módulo de función de entrada al tipo de mensaje (WE57).
- Definir el proceso Code (Transacción WE42).
- Crear el perfil de socio (Transacción WE20).










