Академический Документы
Профессиональный Документы
Культура Документы
title=Manual_para_la_creacion_de_IDOCs
Qu es un Idoc?
Los IDoc permiten intercambiar informacin 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 ms de un proveedor, hara falta ms de un IDoc. Los IDocs se crean y luego se envan. Este envo se realiza en un segundo paso; o sea que podra haber IDOCs que todava no se hayan enviado. Un Idoc, como se mencion ms arriba, est formato por dos bloques:
El registro de control contiene toda la informacin administrativa del IDOC, como el origen y el destinatario, y qu tipo de IDOC es. Sera algo as como el sobre que acompaa a cualquier carta. Este registro es muy importante ya que es necesario para saber, entre otras cosas, cul 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 cul es la estructura con la que se deben interpretar los datos. El nombre de dicha estructura existe en SAP y se la puede ver desde la transaccin SE11. Desde la transaccin WE30 se puede ver el formato de los Idocs.
Por ejemplo, para el Idoc MATMAS01, el formato es el siguiente: MATMAS01 E1MARAM E1MAKTM E1MARCM E1MARDM E1MARMM E1MEANM E1MBEWM E1MLGNM E1MVKEM E1MLANM E1MTXHM E1MTXLM Maestro material Maestro material datos generales (MARA) Maestro material - textos breves (MAKT) Maestro material segmento C (MARC) Maestro material almacn/segmento lotes (MARD) Maestro material unidades de medida (MARM) Maestro mat. nmeros art. europeos (MEAN) Maestro material valoracin stocks (MBEW) Maestro mat. datos por nm.almacn (MLGN) Maestro material datos de ventas (MVKE) Maestro material clasif. impuestos (MLAN) Maestro material texto explicativo cabecera Maestro material texto explicativo lnea
Cada uno de los nombres que ac se muestran son estructuras que se pueden ver desde la SE11. O sea que por ejemplo, para un registro de datos que tiene estructura E1MARAM, para saber cul es el formato con el que hay que interpretarlos, se puede ir a la transaccin SE11 y ver qu campos componen a esa estructura. Dado que la cadena de 1000 caracteres est formada por los datos de un campo atrs del otro, es solo cuestin de saber en qu posicin de la cadena se encuentra cada campo. Generalmente, varios registros de estado se adjuntan a un IDOC. El sistema automticamente asigna registros de estado durante todo el proceso, a medida que el IDOC va alcanzando diversos puntos de control. Contienen informacin de estado, tal como cdigo 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.
define la sintaxis de los datos al especificar la organizacin de los segmentos, atributos de los segmentos y formatos de cada uno de sus campos. En ejecucin, un IDoc consiste de la siguiente secuencia de tres tipos de registros: a Un nico registro de Control Contiene toda la informacin de control del IDoc, incluyendo el nmero de IDoc, emisor y receptor, otra informacin de control tal como el tipo de mensaje que representa y el tipo de de IDoc. La estructura del registro de control es idntica para todos los IDocs y est definida por SAP. Son automticamente creados e insertados por el sistema en tiempo de ejecucin. La estructura del registro de contol est definida por la estructura del DDIC EDI_DC40: Cantidad de campos: 36 Total longitudes de campo: 524 Componente Tipo Long. Tipo Texto breve ___________________________________________________________ ______________ TABNAM MANDT DOCNUM DOCREL STATUS CHAR 10 CLNT 3 CHAR 16 CHAR 4 CHAR 2 EDI4TABNAM EDI4MANDT EDI4DOCNUC EDI4DOCREL EDI4STATUS Nombre de la estructura de tabla Mandante Nmero del IDOC Release SAP del IDOC Status del IDOC
SERIAL
HAR 20
EDI4SERIAL
Serializacin
___________________________________________________________ ______________ Los datos del registro de control se almacenan en la tabla SAP EDIDC. La clave de esta tabla es el mandante (MANDT) y nmero de Idoc (DOCNUM). b Uno o ms registros de Datos Un IDoc puede contener mltiples registros de datos, segn haya sido definida la estructura del Tipo de IDoc. En ejecucin, los segmentos son
convertidos por el sistema a registros de datos. Un registro de datos contiene informacin de la aplicacin (maestro de proveedores, peticin de oferta, oferta, pedidos, etc.). La estructura de los registros de datos est definida por la estructura del DDIC EDI_DD40: Estructura de campo Cantidad de campos: 7 Total longitudes de campo: 1063 Componente Tipo Long. Tipo Texto breve
___________________________________________________________ ____________ SEGNAM MANDT DOCNUM SEGNUM PSGNUM HLEVEL SDATA CHAR 30 CLNT 3 CHAR 16 CHAR 6 NUMC 6 CHAR 2 LCHR 1000 EDI4SEGNAM EDI4MANDT EDI4DOCNUC EDI4SEGNUC EDI4PSGNUC EDI4HLEVEC EDI4SDATA Segmento (nombre externo) Mandante Nmero del IDOC Nmero de segmento Nmero del segmento padre superior Nivel de jerarqua de segmento SAP Datos de la aplicacin
___________________________________________________________ _______________ La seccin de datos es una cadena de 1000 bytes, y es el lugar donde los datos realmente residen. La seccin de datos es mapeada en ejecucin a un tipo de segmento, segn haya sido definida la estructura del tipo de IDoc, a fin de interpretar la estructura de los datos en esta cadena. Los datos de los registros de datos se almacenan en la tabla SAP EDID4. La clave de la tabla es el mandante (MANDT), el nmero de IDoc (DOCNUM), y el nmero de segmento (SEGNUM). c Uno o ms registros de Estado Generalmente, varios registros de estado se adjuntan a un IDoc. El sistema automticamente asigna registros de estado durante todo el proceso, a medida que el IDoc va alcanzando diversos puntos de control. Contienen informacin de estado, tal como cdigo 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. Estructura de campo Cantidad de campos: 24 Total longitudes de campo: 562 Componente Tipo Long. Tipo Texto breve ___________________________________________________________ ________________________ TABNAM MANDT DOCNUM LOGDAT LOGTIM STATUS STAMQU status STAMID CHAR 20 EDI4STAMID Nro. de mensaje para mensaje de status: Clase mensaje STAMNO NUMC 3 EDI4STAMNO Nmero de mensaje en mensaje de status Tipo de mensaje (A, W, E, S, I) en el STATYP CHAR 1 EDI4STATYP mensaje de status STAPA1 CHAR 50 EDI4STAPA1 Primer parmetro de un mensaje en registro de status STAPA2 CHAR 50 EDI4STAPA2 registro de status STAPA3 CHAR 50 EDI4STAPA3 Tercer parmetro de un mensaje en registro de status STAPA4 CHAR 50 EDI4STAPA4 Cuarto parmetro de un mensaje en registro de status STATXT UNAME CHAR 12 CHAR 70 EDI4UNAME EDI4STATXT Texto para status Nombre del usuario Segundo parmetro de un mensaje en CHAR 10 EDI4TABNAM CLNT 3 CHAR 16 DATS 8 EDI4LOGDAT TIMS 6 EDI4LOGTIM CHAR 2 EDI4STATUS CHAR 3 EDI4STAMQU Nombre de la estructura de tabla EDI4MANDT Mandante EDI4DOCNUC Nmero del IDOC Fecha de la informacin de status Hora de la informacin de status Status del IDOC Cualificador para mensaje en registro de
Nmero de segmento Campo de segmento Fichero de transmisin (EDI Interchange) Grupo de mensajes (EDI Message Group) Mensaje (Mensaje EDI) Clave del archivo de mensajes externo
___________________________________________________________ _______________ Los datos de los registros de estado se almacenan en la tabla SAP EDIDS. La clave de la tabla es el mandante (MANDT), nmero de Idoc (DOCNUM), fecha (LOGDAT), hora (LOGTIM), y un contador de registro (COUNTR).
Campo fecha (YYYYMMDD), almacenado como char(8) Clave de idioma Campo carcter con dgitos solamente Campo fecha (HHMMSS), almacenado como char(6)
Creacin de Segmentos
Los segmentos son creados por medio del Editor de Segmentos: Transaccin: WE31. Segmentos IDoc. Desarrollo Camino lgico: Desde el rea de men de EDI (transaccin WEDI), seleccionar Men SAP
Pasos: 2.1 - Ejecutar la transaccin WE31. Ingresar el nombre del tipo de segmento (debe comenzar con Z1) y seleccionar la opcin Crear (F5). 2.2 Entrar una descripcin breve y los valores para los distintos campos. Este paso completa la definicin del segmento. El sistema automticamente asigna un nombre a la definicin del segmento, basado en el nombre del tipo de segmento. Ej.: si el tipo de segmento es Z1WKDET, la definicin del segmento ser Z2WKDET. 2.3 Guardar las entradas. Volver a la pantalla anterior y repetir el mismo procedimiento para todos los segmentos que se necesiten crear para el tipo de IDoc.
Pasos: 3.1 Ejecutar la transaccin WE30. Ingresar el nombre del tipo base de IDoc (debe comenzar con Z). Seleccionar la opcin Tipo base y Crear (F5).
3.2 En la siguiente pantalla, seleccionar la opcin Crear nuevo e ingresar una descripcin para el tipo base de IDoc. Presionar Continuar. 3.3 Posicionar el cursor sobre el nombre del IDoc y seleccionar Crear (Shift+F6). Ingresar a continuacin el tipo de segmento y sus atributos. Al presionar Enter, el sistema transfiere el nombre del tipo de segmento al editor de IDoc. 3.4 Para ingresar ms segmentos, repetir el procedimiento del punto 3.3. Luego de haber creado el primer segmento, debe indicarse para los restantes el nivel (mismo nivel o nivel hijo) en el cual se quiere insertar el nuevo segmento. 3.5 Guardar el tipo base de IDoc.
Extensin de un IDoc.
Las ampliaciones de IDocs son componentes que se utilizan para extender tipos de IDoc base ya existentes de una forma predefinida. Estas extensiones slo pueden ser realizadas por el cliente ya que los tipos de ampliacin no son proporcionados por SAP. Para crear un tipo de ampliacin: Transaccin: WE30 Tipos IDoc. Desarrollo Camino Lgico: Desde el rea de men de EDI (transaccin WEDI), seleccionar Men SAP En el editor de IDOC, elegir el componente Tipo de ampliacin e introducir el nombre en el campo Objeto. Seleccionar Crear Objeto desarrollo . En ste momento, la ventana de dilogo Crear un tipo de ampliacin se mostrar por pantalla. Elegir una de las siguientes tres opciones:
Introducir los nombres de la personas responsables as como una breve descripcin del nuevo tipo de ampliacin a crear. Seleccionar Continuar. 1. Para aadir segmento ampliado a un segmento de referencia, colocar el cursor sobre el segmento de referencia siguiente a donde se pretenda aadir el nuevo segmento y seleccionar Crear. Aparecer un mensaje indicando que los segmentos creados despus de un segmento de referencia slo pueden ser creados como segmentos hijos. La secuencia en la cual aparecen los segmentos de referencia en el tipo de ampliacin es irrelevante. Lo realmente importante es que dichos segmentos existan en el tipo de IDoc base que est siendo ampliado. Las ampliaciones de cliente realizadas utilizando tipos de ampliacin pueden soportarse cuando el sistema se actualice a una nueva versin R/3. Los sucesores a tipos de IDoc base de versiones anteriores se combinan automticamente con los tipos de ampliacin que ya estn siendo utilizados. No se requiere un mantenimiento manual. Los tipos de
IDoc base implementados por el cliente y sus ampliaciones permanecen sin cambios en la actualizacin.
crean conexiones del tipo TCP/IP, especificando el nombre del servidor destino y el puerto TCP destino.
Definicin de puerta.
(A lo largo de este documento se usar la palabra Puerto o Puerta, indistintamente) Transaccin: WE21 Descripcin Puerta. Gestin Camino Lgico: Desde el rea de men de EDI (transaccin WEDI), seleccionar Men SAP Para una descripcin detallada, buscar en SAP Library: Port Definition: Configuring Ports Los Idocs pueden ser enviados y recibidos a travs de diferentes medios. Con el objetivo de no acoplar la definicin de las caractersticas del medio con la aplicacin que lo est utilizando, el medio es accedido va puertos. En otras palabras, un puerto es un nombre lgico para un dispositivo de entrada/salida. Los programas se comunican con un puerto a travs de una interfaz estndar. En vez de definir el medio de comunicacin directamente en el Acuerdo de Interlocutor (Partner Profile), se asigna un nmero de puerto, y es este puerto el que designa realmente al medio. Esto permite definir las caractersticas de los puertos individualmente y usar un puerto en mltiples Acuerdos de Interlocutores. Los cambios en un puerto se reflejarn automticamente en todos los acuerdos que lo estn utilizando. Al menos un puerto debe existir para cada sistema externo. La siguiente figura muestra cmo los Idocs son enviados a dos sistemas va tres puertos.
Los tipos de puertos ms comunes son los siguientes: Ficheros (File Interface) Permite intercambiar Idocs a travs de archivos del sistema operativo. El sistema que enva el IDoc crea un archivo en el file system. Luego notifica al sistema receptor via RFC sincrnico que el archivo ha sido
transferido, que est localizado en un deteminado directorio, y que tiene un determinado nombre. SAP recomienda no usar nombres de archivos estticos, dado que el archivo es sobreescrito cada vez que el Idoc se enva. Se recomienda usar el mdulo 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 distrubucin ALE. El nombre del puerto se puede definir a mano o dejar que SAP lo elija. Adems del puerto, hay que definir el destino RFC. Archivo XML Enva 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 funcin EDI_PATH_CREATE_CLIENT_DOCNUM para que genere los nombres del archivo en forma dinmica. XML-HTTP En vez de definir el nombre del archivo XML, se especifica un destino RFC.
Hacer doble click sobre el mandante que al que se desea asignar, y posteriormente completar con el nombre del sistema lgico.
En el interlocutor se definen datos especficos de cada mensaje a transmitir en los parmetros de salida o entrada segn corresponda. Mediante la transaccin WE20 se crea el acuerdo de interlocutor con el sistema lgico.
En este paso se asigna un tipo de mensaje a los contenidos de datos a ser transferidos en el IDoc. Los mensajes de usuario deben ser nombrados comenzando con Z.
En este paso se asigna el tipo de mensaje creado en el paso anterior a un tipo de IDoc. Esta asociacin no slo sirve a fin de documentar el mensaje en que est basado cada tipo de IDoc, sino que adems verifica esta asociacin el momento en que el IDoc es generado.
departamentos con diferentes requerimientos, ser ms til crear un escenario por departamento. Pasos para crear un Modelo de Distribucin: Transaccin: BD64 Actualizar modelos de Distribucin y Distribuir Vistas Modelar e implementar modelos empresariales Camino Lgico: Desde la transaccin SALE, seleccionar Aplication Link Enabling (ALE) -Ir a la transaccin BD64 -Pasar al modo modificacin -Presionar el botn Crear Modelo Vista (Ctrl+F4) Aparecer la siguiente ventana:
-Completar el texto breve y el nombre tcnico para el modelo de distribucin y presionar continuar. -Seleccionar el registro recin creado y presionar el botn Insertar Tipo Mensaje (CTRL+F7) Aparecer la siguiente ventana:
-Completar el campo Emisor con el nombre del Sistema lgico que transmitir el mensaje. -Completar el campo Destinatario con el nombre del Sistema lgico que recibir el mensaje. -Completar el campo Tipo de mensaje con el mensaje que se transmitir entre estos sistemas lgicos. Importante No se puede mantener un tipo de mensaje entre el mismo emisor y receptor en ms de un modelo de distribucin.
Desde un programa ABAP (desarrollo Z). Desde un puntero de modificacin (Change Pointer).
Crear de un nuevo tipo de IDoc en SAP. Extender un Idoc. Crear sistemas lgicos, puertos y destinos RFC. Crear acuerdos de interlocutores. Crear un nuevo tipo de Mensaje en SAP. Relacionar un tipo de Mensaje con un tipo base de Idoc. Crear de un modelo de distribucin.
fueron explicados ms arriba, por lo cual solamente se proceder a explicar los mnimos pasos necesarios para crear un Idoc.