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.

  • 📦 Definición básica: IDoc es un contenedor de datos independiente del sistema, basado en estándares EDI como ANSI ASC X12 y EDIFACT.
  • 🧱 Estructura de tres partes: Cada IDoc consta de un registro de control, registros de datos y registros de estado, cada uno almacenado en tablas de base de datos dedicadas.
  • 🆚 Jerarquía de tipos: Los tipos básicos de IDoc se envían con SAP y no se pueden modificar; los tipos de extensión añaden campos personalizados cuando es necesario.
  • 🔁 Flujos de proceso: El módulo de salida crea y envía IDocs; el módulo de entrada los recibe y los publica a través de módulos de función vinculados.
  • 🤖 Habilitación de IA: Las herramientas de monitoreo impulsadas por IA detectan fallas de IDoc tempranamente y mapean automáticamente los campos. SAP y noSAP fogonadura.

SAP Tutorial de IDOC

¿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

Estructura de un IDoc

La estructura IDoc consta de tres partes:

  1. 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.
  2. Los datos de la aplicación (Registro de datos) — contiene los datos comerciales. Estos se denominan registros de datos o segmentos.
  3. 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.

Registro IDoc que muestra Control, Datos y Estado

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.

Segmento en IDoc

¿Qué es un tipo de IDoc de extensión?

Un IDoc es de dos tipos:

  1. Básico
  2. Extension

Tipos de IDoc básicos y de extensión

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.

Ilustración del tipo IDoc de extensión

Documentación

Cada IDoc está documentado minuciosamente en la transacción. WE60.

Documentación IDoc en 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.

Tipo de mensaje en IDoc

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.

Vistas de IDoc

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.

Perfiles de socios en IDoc

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.

Puerto en IDoc

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:

  1. Crear segmentos (WE31).
  2. Cree un tipo de IDoc (WE30).
  3. Crear un tipo de mensaje (WE81).
  4. Asocie el tipo de mensaje con el tipo de IDoc (WE82).
  5. Crear un puerto (WE21).
  6. 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.
  7. De lo contrario, cree un módulo de función o un programa independiente que cree el IDoc directamente.
  8. 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:

  1. Cree el tipo de IDoc básico (Transacción WE30).
  2. Cree el tipo de mensaje (Transacción WE81).
  3. Asocie el tipo de mensaje con el tipo de IDoc básico (transacción WE82).
  4. Cree el módulo de función para procesar el IDoc.
  5. Defina las características del módulo de función (BD51).
  6. Asigne el módulo de función de entrada al tipo de mensaje (WE57).
  7. Definir el proceso Code (Transacción WE42).
  8. Crear el perfil de socio (Transacción WE20).

Preguntas Frecuentes

IDoc es asíncrono, se utiliza para la mensajería de sistema a sistema a través de ALE o EDI. BAPI es síncrono, se utiliza para el acceso en tiempo real a SAP objetos de negocio. El IDoc se pone en cola; la BAPI devuelve el control inmediatamente.

Un tipo de IDoc define la estructura técnica de los segmentos y campos. Un tipo de mensaje define el significado comercial, como pedidos o facturas. Un tipo de IDoc puede servir para varios tipos de mensaje y viceversa.

Utilice las transacciones WE02 o WE05 para visualizar los IDocs e inspeccionar los registros de estado. Para el envío se utilizan los códigos de estado del 1 al 42; para el envío, del 50 al 75. La transacción BD87 reprocesa los IDocs con errores.

El campo SDATA, que almacena la información de cada registro de datos, tiene una longitud de 1000 caracteres. Un IDoc puede contener muchos registros de datos, por lo que la carga útil total aumenta proporcionalmente al número de segmentos.

Sí. Los IDoc son independientes del sistema y siguen estándares EDI como ANSI ASC X12 y EDIFACT. No-SAP Los sistemas pueden producir o consumir archivos IDoc a través de puertos de archivos o middleware como SAP PI/PO.

Los registros de control se encuentran en la tabla EDIDC, los registros de datos en EDID2 a EDID4 y los registros de estado en EDIDS. El número de IDoc es la clave que vincula las tres tablas para un IDoc determinado.

Las herramientas de monitorización basadas en IA agrupan los errores recurrentes de IDoc, predicen fallos a partir de patrones históricos y recomiendan soluciones para los problemas de estado 51 o 56, lo que reduce significativamente el tiempo de reprocesamiento manual.

Sí. Mapa impulsado por IA.ping Los motores comparan las definiciones de los segmentos en SAP y sistemas asociados, proponen mapa de campopingy aprender de las correcciones anteriores, reduciendo drásticamente la configuración manual en los proyectos ALE y EDI.

Resumir este post con: