Blog
¿Qué son los IDoc en SAP?
- 05/02/2022
- Escrito por: Grazia Masulli
- Categoría: Introducción a SAP ERP
IDOC significa “Documentos Intermedios”, este es un formato estándar que permite codificar información. Permite intercambiar datos entre dos sistemas SAP, sean dos principales del mismo sistema o dos diferentes. O también entre un sistema SAP ERP y otro ERP que no sea SAP.
Si el flujo de datos es entre dos sistemas que son SAP uno sí y el otro no, también debe usarse la interfaz EDI (Electronic Data Interchange).
En pocas palabras, un IDOC es como un contenedor de datos ASCII y permite el flujo de información entre dos computadores. Como el formato es ASCII, el archivo puede abrirse mediante un editor de texto normal.
Además de los datos llamados “Data Record”, un IDOC se compone de información de control o registro de control. Está información contiene el remitente, destinatario, la definición y el tipo de IDOC, así como el Registro de estado, que registra los pasajes del documento en el sistema de origen y destino y si existen errores.
Los datos pueden ser transaccionales o información de datos maestros. En el campo “Tipo de IDOC” se define la forma en que el sistema debe interpretar los datos de un documento. Por ejemplo, un IDOC tipo “MATMAS01” quiere decir que la información transferida es sobre los Datos Maestros de Material.
Es un formato estándar para codificar la información. Permite el intercambio de datos entre dos sistemas SAP (por ejemplo, dos principales del mismo sistema, o dos sistemas diferentes) o entre un sistema ERP SAP y otro sistema ERP no SAP. Si el flujo de datos se produce entre un sistema SAP y otro que no lo es, también es necesario utilizar la interfaz EDI (Electronic Data Interchange).
En la práctica, un IDOC es simplemente un contenedor que puede llenarse con datos ASCII y que permite el flujo de información entre dos ordenadores. Como el formato es ASCII, el archivo también puede abrirse con un editor de texto normal si es necesario.
Además de los datos propiamente dichos (denominados registro de datos), un IDOC también consta de información de control (los denominados “registros de control” – información como el remitente, el destinatario y la definición del número y el tipo de IDOC) e información de estado (registros de estado, que registran el paso del documento por los sistemas de origen y destino y si hay errores).
Los datos pueden ser transaccionales (por ejemplo, pedidos de venta) o información de los datos maestros.
El campo Tipo de IDOC define cómo los datos contenidos en el documento deben ser interpretados por el sistema. Por ejemplo, el tipo de IDOC “MATMAS01” indica que estamos transfiriendo información relativa a los Datos Maestros de Materiales.
La estructura de los datos del registro de datos siempre es la misma, independientemente del tipo de IDOC y de los datos contenidos. Se utilizan segmentos de longitud estándar, una parte inicial que define el tipo de datos, seguida de una parte de longitud estándar de 1000 caracteres con los datos propiamente dichos. Obviamente, los datos pueden continuar en varias líneas.
En la terminología de SAP los IDOCs generados por nuestro sistema se denominan “Outbound” y los entrantes “Inbound”.
EDI (Electronic Data Interchange) es simplemente un estándar para el intercambio de datos. Una interfaz (también llamada “componente” o “subsistema”) permite a los sistemas SAP y no SAP comunicarse “traduciendo” los IDOCs a un formato EDI. Esta interfaz no ha sido desarrollada por SAP.
Es posible adaptar IDocs a nuestras necesidades. Se trata de un típico ejercicio de “customización” (adaptación del sistema a las necesidades de la empresa). Por ejemplo, es posible crear filtros tanto para la entrada como para la salida, o crear reglas de conversión para reemplazar valores en uno o más campos del documento.
La estructura de los datos será siempre igual, sin importar el tipo de IDOC y los datos que contenga.
Los registros de datos se almacenan en la tabla EDID4 con 1000 caracteres. Para saber interpretarlos, el registro tiene un campo que informa cuál es la estructura con la que los datos deben ser interpretados. El nombre de esta estructura en SAP se puede ver a través de la transacción SE11.
¿Cómo usar IDOCs?
Los IDOCs se usan en la mayoría de las plataformas SAP para la transferencia de información desde el sistema SAP a otros sistemas y viceversa. Debido a su naturaleza técnica, para un consultor funcional entender estos documentos. Aunque no se espera que un consultor conozca todos los conceptos de IDOC, si se ha hecho un esfuerzo en comprender la información mínima necesaria en la que se debe tener conocimiento para poder manejar los IDOCs.
Entonces para resumir, un IDOC es un objeto SAP que envía datos de una transacción comercial de un sistema a otro por medio de mensajes electrónicos. IDOC es el acrónimo de “Documento Intermedio”, y su propósito es transferir datos o información SAP a otros sistemas, o viceversa.
¿Cuándo es necesaria la interfaz IDOC?
Es necesaria en estos escenarios:
- Intercambio Electrónico de Datos, lo que se llama EDI.
- Acompañamiento con otro sistema de aplicaciones empresariales por medio de IDOCs.
- Habilitación de enlace de aplicación (ALE).
Estructura de IDOC
Cada IDOC se estructura de la misma forma. Una interfase IDOC siempre crea tres diferentes tipos de estructuras, estas son:
- Conjunto de controles: el IDOC EDI_DC tiene información vital sobre el interlocutor, emisor y receptor. Un IDOC inicia con un conjunto de controles EDI_DC40.
- Registro: un registro contiene el contenido a transferir. Los registros muestran información como el nombre, número de segmento y una descripción corta. Para los segmentos calificados, el calificador se genera con “.” como valor que determina el significado del segmento.
- Conjunto de status: el status se utiliza para el monitoreo y las estadísticas de la comunicación.
Los IDOCs se pueden encontrar como un formato de longitud de corrección o también como formato basado en XML. Este formato se utiliza sobre todo en sistemas SAP más nuevos. El W3C utiliza el esquema XML para definir la estructura de un documento XML. Un documento XML tiene la siguiente estructura:
- Enrutamiento lógico: este enrutamiento es entre redes VXLAN, redes virtuales y redes físicas por medio del Kernel del enrutador lógico.
- Mapeo: esto es la conversión de mensajes. La asignación de campos de origen a campos de destino es llamada asignación.
- Adaptador IDOC: este convierte el IDOC XML en un formato IDOC nativo y lo envía a un sistema receptor.
Versiones de IDOC y tipos de registro
Versión actual 4.X (= tipo de registro 3) desde Junio de 1998 con SAP R/3 Enterprise Edition 4.0B.
Versiones anteriores: Sistemas 3.0, 3.1, 2.0, 21 y R/2 (= tipos de registro 2 y 1).
La versión del tipo de registro debe elegirse de forma que el sistema, sea EDI o SAP, pueda comprenderla. Si se está utilizando un sistema SAP actual, el tipo de registro es “3”, y es el mismo si se usa un subsistema EDI.
Transacciones con IDOC
- BALE menú de ámbito para gestionar IDOCs.
- BD21 seleccionar puntero modif.
- BD50 Activar puntero mod. Para tp.mensaje.
- BD52 Punt.modif.activo por pos.doc.modif.
- BD53 Reducción de tipos de mensajes.
- BD55 Actualizar conversión doc.interm.
- BD56 Actualizar filtro segmentos IDOC.
- BD59 Asignar tipo obj.a estruc.interm.
- BD61 Activación gral.puntero modificación.
- BD62 Definir regla conversión segmento.
- BD64 Actualización modelo distribución.
- BD71 Act.MF para business object depend.
- BD79 Actual.reglas convers.IDOCs.
- BD82 Generar acuerdo con interlocutores EDI.
- BD87 Monitor status para mensajes ALE.
- BDM2 Monitoring: IDOCs en destinatario.
- BDM5 Verificación técnica de consistencia.
- BDM7 Audit-Ale: Evaluaciones estadísticas.
- SALE Visualizar Customizando ALE.
- SARA Gestión de archivos.
- SM58 Log errores RFC asincrónico.
- SM59 Destinos RFC (Visualizar y actual).
- WE05 listas IDOC.
- WE07 Estadística IDOC.
- WE20 Acuerdos entre interlocutores EDI.
- WE21 Descripción puerta.
- WE47 Actualizar status.
- WE60 Documentación para tipos IDOC.
- WEDI EDI-Base.
Programas IDOC
- RBDMIDOC Generar IDOCs a partir de punteros modif.
- RSEOUToo Proceso de todos los IDOCs seleccionados (EDI).
- RBDAPP01 Proceso de IDOCs entrantes para ser transferidos.
- RSARFCEX ejecutar llamadas que aún no se han ejecutado.
- RBDMOIND Conversión status ejecución correcta del TRFC.
- RBDMANIN Lanzar tratamiento de errores para IDOCs no contabilizados.
- RBDSTATE Envío de notificaciones para ALE-Audit.
EDI vs ALE
Para realizar una transferencia de un sistema SAP a un sistema no SAP, se debe utilizar un subsistema llamado EDI (Electronic Data Interchange), pero para la transferencia entre dos sistemas SAP se usa ALE.
El IDOC puede activarse en SAP o en el subsistema EDI. Esto depende de la dirección a la que se envía el IDOC, y se le llama IDOC de entrada o saliente.
Cuando es un IDOC de salida, se activa en SAP por medio del control de mensaje de documento que es enviado al subsistema EDI. A su vez, EDI convierte los datos de IDOC en formato XML o equivalente y luego envía la información al sistemas de socios vía internet.
Para los datos entrantes, EDI transforma los datos y crea el IDOC en SAP. Una vez que se procese de forma exitosa, el documento de aplicación se contabiliza en SAP.
EDI y IDOC
Cómo dijimos anteriormente, EDI es el intercambio electrónico de documentos de negocios entre las plataformas informáticas de los socios comerciales, que utiliza un formato estándar por medio de una red de comunicación.
Para transmitir estos datos electrónicos, se utilizan frecuentemente dos normas: ANSI ASC X12 y EDIFACT.
ANSI ASC X12 son los representantes de las principales organizaciones, organismos gubernamentales y empresas de Software que forman un comité. Estás definen las normas y directrices para el intercambio de datos sobre EDI.