✒️ABAP La configuración de un IDoc
ABAP La configuración 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 sus campos.
Un IDoc consiste de la siguiente secuencia de tres tipos de registros:
Registro de Control
Contiene toda la información administrativa del IDoc, como el origen y el destinatario, y qué 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 la EDIDC.
Tabla EDIDC
- La tabla transparente estándar EDIDC almacena los registros de control de un IDoc.
- La clave de la tabla es el Número del IDOC (campo DOCNUM).
La estructura del registro de control es idéntica para todos los IDocs y está definida por SAP. Son automáticamente creados e insertados por el sistema en tiempo 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 un 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 cluster estándar EDID4 almacena los registros de datos de un IDoc.
- La clave de la tabla esta formada por: el Número del IDOC (campo DOCNUM), el Contador en la tabla de cluster (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 del 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 almacenan 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 esta formada 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).
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 | Los segmentos de datos
Como mencionamos anteriormente un registro de datos o segmento de datos define el formato de los datos que se enviarán o recibirán a través de un IDoc. Un IDoc puede tener definidos uno o más segmentos de datos.
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.
IDocs jerárquicos: los segmentos hijos están ubicados debajo de sus padres. Deben respetar la secuencia en la que se 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 ambos tipos, la información debe ser enviada siguiendo el orden de los segmentos ya que sino fallará el IDoc.
3 | El tipo base
Tipo base: También llamado Tipo IDoc, define la estructura de los datos de aplicación del IDoc.
Transacción WE30: Utilizaremos 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 estructura append con las tablas estándar de SAP. Se utilizan para agregar dentro de un segmento estándar campos Z.
Distintos Tipo Base pueden utilizar los mismos segmentos.
4 | El tipo de mensaje
Tipo de mensaje: Es una vista del Tipo IDoc (Tipo Base). Representa al objeto de negocio.
El Tipo de Mensaje (muchas veces se habla de IDoc refiriéndose al Tipo de mensaje) puede estar compuesto por diferentes Tipos Base. 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.
Transacción WE81: Utilizaremos la transacción estándar WE81 para la creación de los Tipos de mensajes de IDocs.
AUDIO ACLARATIVO: Los tipos de mensajes que creemos en SAP se almacenan en las tablas estándar EDMSG. Los tipos base que creamos en SAP se almacena en la tabla estándar EDBAS.
 
 
 
Sobre el autor
Publicación académica de Pedro Antonio Duarte, en su ámbito de estudios para la Carrera Consultor ABAP.
Pedro Antonio Duarte
Profesión: Consultor de Sap Abap - Argentina - Legajo: JP24O
✒️Autor de: 128 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Pedro Duarte