✒️ABAP La configuración de un IDoc
ABAP La configuración de un IDoc
Estructura de un IDOC
Los IDocs permiten intercambiar información entre distintos sistemas. Se lo puede ver como un archivo de texto plano, con registros. Un Idoc es por ejemplo los datos de un proveedor, o una oferta.
Contiene una cabecera y posiciones, pero todos los datos pertenecen a la misma entidad. O sea, para transmitir datos de más de un proveedor, haría falta más de un Idoc.
Los IDocs se crean y luego se envían. Este envío se realiza en un segundo paso; o sea que podría haber IDocs que todavía no se hayan enviado.
Un Idoc está formato por tres bloques:
* Un registro de Control.
* Una tabla con los datos del IDoc.
* Varios registros de Estado
El 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, entre otras cosas, cuál será el destinatario del IDoc. La tabla SAP donde se guardan es la EDIDC.
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.
Generalmente, varios registros de estado se adjuntan a un IDoc. El sistema
automáticamente asigna registros de estado durante todo el proceso, a medida que el IDoc va alcanzando diversos puntos de control.
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 DDIC EDI_DS40. La tabla es EDIDS.
Desde la transacción WE30 se puede ver el formato de los Idocs.
Los Idocs pueden ser enviados y recibidos a través de diferentes medios. Con el objetivo de no acoplar la definición de las características del medio con la aplicación que lo está utilizando, el medio es accedido vía puertos. En otras palabras, un puerto es un nombre lógico para un dispositivo de entrada/salida. Los programas se comunican con un puerto a través de una interfaz estándar.
En vez de definir el medio de comunicación directamente en el Acuerdo de Interlocutor (Partner Profile), se asigna un número de puerto, y es este puerto el que designa realmente al medio. Esto permite definir las características de los puertos individualmente y usar un puerto en múltiples Acuerdos de Interlocutores. Los cambios en un puerto se reflejarán automáticamente en todos los acuerdos que lo estén utilizando.
Al menos un puerto debe existir para cada sistema externo.
Los tipos de puertos más comunes son los siguientes:
Ficheros (File Interface)
Permite intercambiar Idocs a través de archivos del sistema operativo.
El sistema que envía el IDoc crea un archivo en el file system. Luego notifica al sistema receptor vía RFC sincrónico que el archivo ha sido transferido, que está localizado en un determinado directorio, y que tiene un determinado nombre.
SAP recomienda no usar nombres de archivos estáticos, dado que el archivo es sobre escrito cada vez que el Idoc se envía. Se recomienda usar el módulo de funciones EDI_PATH_CREATE_CLIENT_DOCNUM, el cual genera el nombre del archivo a partir del mandante y nro. de Idoc.
RFC Transaccional
Se usa para escenarios de distribución ALE. El nombre del puerto se puede definir a mano o dejar que SAP lo elija. Además del puerto, hay que definir el destino RFC.
Archivo XML Envía documentos en formato XML. Para utilizar este tipo de puerto, es necesario definir el nombre del puerto, el formato del XML, y el nombre del archivo a generar. Al igual que con el tipo de puerto Fichero, se puede invocar a la función EDI_PATH_CREATE_CLIENT_DOCNUM para que genere los nombres del archivo en forma dinámica.
XML-HTTP
En vez de definir el nombre del archivo XML, se especifica un destino RFC.
Los Tipos de Mensajes EDMSG , los Tipos Bases en la tabla EDBAS
 
 
 
Sobre el autor
Publicación académica de Daniel Martinez Chaer, en su ámbito de estudios para la Carrera Consultor ABAP.
Daniel Martinez Chaer
Profesión: Analista Programador - Uruguay - Legajo: SK29Z
✒️Autor de: 76 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Con experiencia en sap fi y mm, migración desde sistema legacy, extracción de datos de la base oracle sap y generación de reportes.
Certificación Académica de Daniel Martinez