¿Qué es un IDOC?
IDOC es simplemente un contenedor de datos que se utiliza para intercambiar información entre dos procesos que pueden 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 proceso ALE o EDI saliente , se crea un IDOC.
En el sistema SAP, los I DOC se almacenan en la base de datos. Cada IDOC tiene un número único (dentro de un cliente).
En este tutorial aprenderá:
- ¿Qué es un IDOC?
- Estructura de un IDOC
- Tipos de IDOC
- ¿Qué es un segmento?
- ¿Qué es el tipo de extensión IDOC?
- Vistas IDOC
- Perfiles de socios
- Puerto
- El proceso de salida
- El proceso de entrada
- Los IDOC son independientes de los sistemas de envío y recepción. (SAP a SAP y no SAP)
- Los IDOC se basan en los estándares EDI, ANSI ASC X12 y EDIFACT. En caso de cualquier conflicto en el tamaño de los datos, adopta uno de mayor longitud.
- Los IDOC son independientes de la dirección del intercambio de datos, por ejemplo, ORDERS01: 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
La estructura I doc consta de 3 partes:
- La parte de administración ( Registro de control ), que tiene el tipo de idoc, el tipo de mensaje, el estado actual, el remitente, el receptor, etc. Esto se denomina registro de control.
- Los datos de la aplicación ( registro de datos ): que contienen los datos. Estos se denominan registros / segmentos de datos .
- La información de estado ( registro de estado ): le brinda información sobre las diversas etapas por las que ha pasado la idoc.
Puede ver un I-DOC mediante la transacción WE02 o WE05
Como se ve en la captura de pantalla anterior, el registro IDOC tiene tres partes: Control, Datos y Estado. Veámoslos en detalle: Control Record
- 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á usando, qué puerto está usando, etc.
- La dirección '1' indica salida, '2' indica entrada.
Registro de datos
- El registro de datos contiene datos de la aplicación como información del encabezado del empleado, detalles semanales, detalles del cliente, 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 de 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 es un campo de 1000 caracteres de longitud.
Registro de estado
- El registro de estado se adjunta a un I-DOC en cada hito o cuando encuentra errores.
- Todos los datos del registro de estado se almacenan en la tabla EDIDS.
- Los estados del 1 al 42 son para salientes, mientras que el 50-75 para los entrantes.
Tipos de IDOC
Un tipo I DOC (Básico) define la estructura y el formato del documento comercial que se intercambiará. Un IDOC es una instancia de un tipo IDOC , al igual que el concepto de variables y tipos de variables en los lenguajes de programación. Puede definir tipos de IDOC usando 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 crea SAP
- Tipo de segmento (independiente de la versión)
- Definición de segmento (depende de la versión)
- Documentación de 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
¿Qué es el tipo de extensión IDOC?
Un IDOC es de 2 tipos: -
- Básico
- Extensión
SAP proporciona muchos tipos de IDOC básicos predefinidos que no se pueden modificar . En caso de que desee agregar más datos a estos tipos básicos restringidos, puede usar un tipo de extensión. La mayoría de las veces NO utilizará la extensión.
Documentación
Cada IDOC está completamente documentado en la transacción WE60
Tipo de mensaje
Un mensaje representa un tipo específico de documento que se transmite entre dos socios Ej. Pedidos, respuestas a pedidos, facturas, etc.
Un tipo de idoc puede asociarse con muchos tipos de mensajes.
Además, un tipo de mensaje puede asociarse con diferentes tipos de idoc. Transacción WE81
Vistas IDOC
Un tipo de IDOC se puede utilizar 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.
Perfiles de socios
Un socio se define como un socio comercial con el que 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 .
Puerto
El puerto define las características técnicas de la conexión entre su sistema SAP y el otro sistema con el 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 utilizados en ALE y los puertos de archivo que utiliza EDI.
Para los puertos TRFC tenemos que dar el nombre del destino lógico creado usando SM59 .
Al usar 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 de función se puede utilizar para generar un nombre de archivo para el idoc. Durante la prueba, puede utilizar "Archivo de salida" para especificar un nombre de archivo constante. La pestaña " 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.
¡Esto es tan CONFUSO!
Entendamos el proceso de creación de un IDOC con un ejemplo:
- Siempre 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 debe darse cuenta de que puede enviar documentos a este proveedor de forma electrónica.
- La orden de compra enviada como idoc saliente por el cliente será idoc entrante 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, nota de entrega, etc.son algunos de los documentos comúnmente intercambiados 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 la transferencia de datos a su sistema SAP se denomina proceso de entrada . Como desarrollador o consultor que participará en la configuración del proceso de tesis para su organización. Estos son los pasos para configurarlos:
El proceso de salida
Pasos involucrados -
- Crear segmentos (WE31)
- Cree un tipo de idoc (WE30)
- Crear un tipo de mensaje (WE81)
- Asociar un tipo de mensaje al tipo idoc (WE82)
- Crear un puerto (WE21)
- 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 de salida.
- De lo contrario, cree el módulo de función o el programa independiente que creará el idoc
- 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.
El proceso de entrada
Pasos involucrados
- Creación de tipo Idoc básico (Transacción WE30)
- Creando el tipo de mensaje (Transacción WE81)
- Asociación del tipo de mensaje al tipo Idoc básico (transacción WE82)
- Cree el módulo de función para procesar el idoc
- Definir las características del módulo de función (BD51)
- Asignar el módulo de función de entrada al tipo de mensaje (WE57)
- Definición del código de proceso (transacción WE42)
- Creación de perfil de socio (Transacción WE20)