Tutorial SAP IDOC: Definición, Estructura, Tipos, Formato y Tablas

¿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 2 sistemas que saben interpretar esos datos.

IDOC significa " Documento Intermedio”

Cuando ejecutamos un saliente Proceso ALE o EDI, se crea un IDOC.

En la Sistema SAP, Los DOC se almacenan en la base de datos. Cada IDOC tiene un número único(dentro de un cliente).

Características Principales

  • Los IDOC son independiente de los sistemas emisor y receptor.(SAP a SAP y no SAP)
  • Los IDOC se basan en EDI estándares ANSI ASC X12 y EDIFACT. En caso de conflicto en el tamaño de los datos, adopta uno con mayor longitud.
  • Los IDOC son independiente de la dirección del intercambio de datos p.ej. PEDIDOS01: Módulo de Compras: Entrante y Saliente
  • Los IDOC se pueden ver en un editor de texto. Los datos se almacenan en formato de caracteres en lugar de formato binario.

Estructura de un IDOC

Estructura de un IDOC

La estructura de I doc consta de 3 partes:

  1. La parte de administración (Registro de control)- que tiene el tipo de idoc, tipo de mensaje, el estado actual, el remitente, el receptor, etc. Esto se conoce como registro de control.
  2. Los datos de la aplicación (Registro de datos) – Que contiene los datos. Estos se denominan registros de datos/segmentos.
  3. La información de estado (Registro de estado)- Estos le brindan información sobre las distintas etapas por las que ha pasado el idoc.

Puede ver un I-DOC mediante transacción WE02 or WE05

Estructura de un IDOC

Como se ve en la captura de pantalla anterior, el registro IDOC tiene tres partes: Control, Datos y Estado. Veámoslos en detalle: Registro de control

  • Todos los datos del registro de control se almacenan en la tabla EDIDC. La clave de esta tabla es el número IDOC.
  • Contiene información como el número IDOC, la dirección (entrante/saliente), el remitente, la información del destinatario, el canal que está utilizando, el puerto que está utilizando, etc.
  • La dirección '1' indica saliente, '2' indica entrante.

Registro de datos

  • El registro de datos contiene datos de la aplicación, como información del encabezado del empleado, información semanal.tails, cliente details etc.
  • Todos los datos del registro de datos se almacenan en tablas EDID2 a EDID4 y EDIDD es una estructura donde puede ver sus componentes.
  • Contiene datos como el número idoc, el nombre y el número del segmento en el idoc, la jerarquía y los datos.
  • Los datos reales se almacenan como una cadena en un campo llamado SDATA, que tiene una longitud de 1000 caracteres.

Registro de estado

  • El registro de estado se adjunta a un I-DOC en cada hito o cuando se encuentran errores.
  • Todos los datos del registro de estado se almacenan en la tabla EDIDS.
  • Los estados 1-42 son para salida, mientras que 50-75 para entrada

Tipos de IDOC

Un tipo I DOC (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ón. Puede definir tipos IDOC utilizando WE30

¿Qué es un segmento?

Un segmento define el formato y la estructura de un registro de datos en I-DOC. Los segmentos son componentes reutilizables.

Para cada segmento que SAP crea

  • Tipo de segmento (versión independiente)
  • Definición de segmento (dependiente de la versión)
  • Documentación del segmento

Los últimos 3 caracteres son la versión del segmento.

Las definiciones siguen cambiando según la versión, pero el tipo de segmento sigue siendo el mismo.

transacción:WE31

Segmento en IDOC

¿Qué es el tipo IDOC de extensión?

Un IDOC es de 2 tipos: -

  1. Basic
  2. Extensión

Tipo IDOC de extensión

SAP proporciona muchos tipos de IDOC básicos predefinidos que no se puede modificar. En caso de que desee agregar más datos a este tipo básico restringido, puede usar un tipo de extensión. La mayoría de las veces lo harás NO utilizar extensión.

Tipo IDOC de extensión

Documentación

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

Documentación

Tipo de mensaje

Un mensaje representa un tipo específico de documento que se transmite entre dos socios Ej. Pedidos, respuestas de pedidos, facturas, etc.

Un tipo idoc se puede asociar con muchos tipos de mensajes.

Además, un tipo de mensaje se puede asociar con diferentes tipos de idoc. Transacción WE81

Tipo de mensaje

Vistas IDOC

Se puede utilizar un tipo IDOC 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 IDOC se utilizan para mejorar el rendimiento en la generación de IDOC para garantizar que solo se llenen con datos los segmentos relevantes. Las vistas IDOC son importantes sólo para el procesamiento de salida.

Vistas IDOC

Perfiles de socios

Un socio se define como un socio comercial con quien realiza negocios e intercambia documentos.

En el perfil de socio de un socio con el que intercambiamos Idocs, mantenemos los parámetros necesarios para el intercambio de datos. La transacción utilizada es WE20.

Perfiles de socios en IDOC

Puerto

El puerto define las características técnicas de la conexión entre su sistema SAP y el otro sistema al que desea transferir datos (subsistema). El puerto define el medio en el que se intercambian datos entre los 2 sistemas.

Hay diferentes tipos de puertos. Los 2 más utilizados son los Puertos TRFC utilizado en ALE y Archive puertos que utiliza EDI.

Para los puertos TRFC tenemos que dar el nombre del destino lógico creado usando SM59.

Al utilizar el puerto de archivos, puede especificar el directorio donde se debe colocar el archivo IDOC. El otro sistema o el middleware recogerá el archivo desde aquí. El módulo Función se puede utilizar para generar un nombre de archivo para el idoc. Mientras Pruebas puede utilizar "Archivo saliente" para especificar un nombre de archivo constante. La tabla "disparador de salida"Se puede utilizar para proporcionar información si queremos activar algún procesamiento en el subsistema cuando se crea un idoc en esta ubicación. Tenemos que especificar el nombre del archivo de comando y el directorio que se debe ejecutar.

Puerto en IDOC

¡Esto es tan CONFUNDIDO!

Entendamos el proceso de creación de un IDOC con un ejemplo:

  • Cada vez que se crea una orden de compra (PO), queremos enviar el IDOC a un proveedor.
  • La orden de compra se envía en forma de IDOC al proveedor (socio). Ese socio debe estar habilitado para EDI en ese sistema. SAP debería darse cuenta de que podría enviar documentos a este proveedor de forma electrónica.
  • La orden de compra enviada como idoc de salida por el cliente será idoc de entrada para el proveedor. El sistema SAP del lado del proveedor puede procesar esto para crear un documento de aplicación (una orden de venta) en su sistema.
  • Cotización, RFQ, PO, SO, factura, albarán de entrega, etc. son algunos de los documentos que se intercambian comúnmente a través de IDOC.

El proceso de transferencia de datos fuera de su sistema SAP se denomina Proceso de salida, mientras que el de los datos que ingresan a su sistema SAP se llama Proceso entrante. Como desarrollador o consultor que participará en la configuración de estos procesos para su organización. Estos son los pasos para configurarlos.

El proceso de salida

Pasos involucrados –

  1. Crear segmentos(WE31)
  2. Crear un tipo idoc (WE30)
  3. Crear un tipo de mensaje (WE81)
  4. Asociar un tipo de mensaje al tipo idoc (WE82)
  5. Crear un puerto (WE21)
  6. Si va a utilizar el método de control de mensajes para activar idocs, cree el módulo de función para crear el idoc y asocie el módulo de función a un código de proceso saliente.
  7. Otroswise, cree el módulo de función o programa independiente que creará el idoc
  8. Cree un perfil de socio (WE20) con la información necesaria en los parámetros de salida para el socio con el que desea intercambiar el idoc. Active el idoc.

El proceso de entrada

Pasos involucrados-

  1. Creación de tipo Idoc básico (Transacción WE30)
  2. Creando tipo de mensaje (Transacción WE81)
  3. Asociación del tipo de Mensaje al tipo de Idoc básico (Transacción WE82)
  4. Cree el módulo de funciones para procesar el idoc.
  5. Definir las características del módulo de funciones (BD51)
  6. Asigne el módulo de función entrante al tipo de mensaje (WE57)
  7. Definición del código de proceso (Transacción WE42)
  8. Creación de perfil de socio (Transacción WE20)