✒️ABAP La configuración de un IDoc
ABAP La configuración de un IDoc
Lección 2: Configuración de un IDocs
1. 1. Estructura de un Idoc
La estructura de un IDoc consiste de varios segmentos, y los segmentos consisten de una secuencia de campos. La estructura de un tipo de IDoc define la sintaxis de los datos al especificar la organización de los segmentos, atributos de los segmentos y formatos de cada uno de campos.
Un IDoc consiste de la siguiente secuencia de tres tipos de registros:
- Registros de Control
Consiste toda la información administrativa del Idoc, como el origen y el destinatario, y que tipo de IDoc es. Sería algo así como el sobre que acompaña a cualquier carta.
Este registro es muy importante ya que es necesario para saber, entro otras cosas, cuál será el destinatario del Idoc. La tabla Sap donde se guardan es el EDIDC.
Tabla EDIDC
La tabla transparente estándar EDDIC almacena los requisitos de control de un Idoc.
La clave de tabla es el número del Idoc (campo DOCNUM)
La estructura del registro del control es idéntica para todos los IDocs y esta definida por Sap. Son automáticamente creados e insertados por el sistema en tiempos de ejecución.
La estructura del registro de control está definida por la estructura del diccionario EDI_DC40
- Registro de datos:
Los registros de datos se guardan en la tabla EDID4 en campo de 1000 caracteres. Para saber interpretar esa cadena, el registro cuenta con un campo que informa cuál es la estructura con la que se deben interpretar los datos.
Tabla EDID4
La tabla clúster estándar EDID4 almacena los registros de datos de un Idoc.
La clave de la tabla está formada por: el número de IDOC (CAMPO DOCNUM), el contador en la tabla de clúster (Campo COUNTER) y el número del segmento SAP (campo SEGNUM).
Un Idoc puede contener múltiples registros de datos, según haya sido definida la estructura del tipo de IDoc. La estructura de los registros de datos está definida por la estructura del diccionario EDI_DD40
- Registro de Status
Este segmento informa los diferentes status por los que va pasando el mensaje en cuestión, hasta que finalmente es procesado correctamente. Si el receptor reporta un error de comunicaciones, se dispara el manejo de excepciones mediante un WorkFlow, donde será informado el responsable de Idoc. Este paso es opcional.
Los registros de status contienen información de estado, tal como código de estado, fecha y hora en que el punto de control es alcanzado. Estos registros de estado existen solamente en SAP y no son almacenados en el archivo de salida.
La estructura de los registros de estado está definida por la estructura del diccionario EDI ds40. Se almacena en la tabla EDIDS.
Tabla EDIDS
La tabla transparente estándar EDIDS almacena los registros de estado de un IDoc.
La clave de la tabla está formado por: el número del IDOC (Campo DOCNUM), la fecha de la información de status (Campo LOGDAT), la hora de la información de status (Campo LOGTIM) y el contador de status IDOC (Campo COUNTR).
Importante: Cada IDoc consiste en un único registro de control y varios registros de datos y status.
El sistema automáticamente asigna registros de estado durante todo el proceso, a medida que el Idoc va alcanzando diversos puntos de control.
2. Segmentos de Datos:
Como mencionamos anteriormente un registro de datos o segmento de datos define el formato de los datos que se enviaran a recibirán a través de un IDOC. Un IDoc puede tener definidos uno o más segmentos de datos.
Reflexiones: un segmento de datos es en sí una estructura.
Por lo que cuando creemos un segmento, luego podremos visualizarlo a través de la transacción SE11.
La estructura de los segmentos de datos es la siguiente:
Idocs jerárquicos: los segmentos hijos están ubicados debajo de sus padres. Deben respetar la secuencia en la que ingresan al mensaje. La información de la jerarquía esta guardada en los campos de control del segmento.
Idocs no jerárquicos: los segmentos deben ubicarse por tipos, no por jerarquía de padres e hijos. Se relacionan por medio de un valor del segmento de datos.
En la práctica: En ambos tipos, la información debe ser enviado siguiendo el orden de los segmentos ya que sino fallara el Idoc
3. Tipo Base:
Nuevo concepto: También tipo Idoc, define la estructura de los datos de aplicación del IDoc
Desde la transacción WE30 se puede ver el formato de los Tipo Base.
Transacción WE30
Utilizamos la transacción estándar WE30 para la creación de los tipos base de IDocs.
Una extensión de un tipo base es un concepto muy similar al de las estructuras Append con las tablas estándar de Sap. Se utilizan para agregar dentro de un segmento estándar campos Z.
INFO: distintos tipo base pueden utilizar los mismo segmentos.
4. Tipo de Mensajes:
Tipo de mensaje: es una vista del tipo IDoc (tipo base). Representan al objeto de negocio.
El tipo de mensaje (muchas veces se habla de Idoc refiriéndose al tipo de mensaje que puede estar compuesto por diferentes Tipos Bases. Esto se debe a que el mismo objeto de negocios, puede ser enviado a diferentes sistemas, con diferente estructura. Incluso, diferentes versiones de SAP R/3 generaron diferentes tipos de IDocs.
Para crear un tipo de mensaje la transacción es WE81.
Transacción WE81
Utilizamos la transacción estándar WE81 para la creación de los tipos de mensajes de IDocs
Audio Tips: los tipos de mensaje que creemos en SAP, se almacenan en las tablas estándar EDMSG, los tipos bases que creamos en SAP se almacenan en la tabla estándar EDBAS.
 
 
 
Sobre el autor
Publicación académica de Jhon Deibys Cano Pineda, en su ámbito de estudios para la Carrera Consultor ABAP.
Jhon Deibys Cano Pineda
Profesión: Ingeniero de Sistemas - Colombia - Legajo: WZ11E
✒️Autor de: 118 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Jhon Cano Pineda