Professional Documents
Culture Documents
de Compra
El siguiente documento explica como generar IDOCs de Orden de Compra(Purchase order) con
Punteros de Modificacin (Changer Pointers).
Con las siguientes configuraciones una vez creada una orden de compra desde la
transaccin ME21N se generar un archivo de salida (OUTBOUND) de formato XML con el
contenido de la orden de compra (IDOC).
Primero un poco de teora para entender qu es un IDOC y para qu se utilizan:
Los IDocs 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 est formato por tres bloques:
Un registro de Control.
Base
de
IDoc:
El primer paso es verificar que contemos en el sistema con el Tipo Base de IdocORDERS05.
Transaccin:
WE30
Transaccin: WE81
Tenemos que encontrar esto.
Transaccin: WE82
Controlamos que figure la siguiente lnea:
Definicin de puerta:
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.
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
va RFC sincrnico 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 estticos, dado que el archivo es sobre escrito
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 distribucin 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
funcinEDI_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.
Para nuestro ejemplo vamos a elegir como salida un Archivo XML. Por lo cual
invocaremos a la funcin EDI_PATH_CREATE_CLIENT_DOCNUM para que genere los
nombres del archivo en forma dinmica.
Transaccin: WE21
Dentro de la carpeta Fichero XML debemos crear y configurar nuestra Puerta de salida de la
siguiente manera.
El Directorio fsico lo podemos elegir a nuestro gusto, tiene que ser un directorio del
servidor. Los directorios disponibles los podemos visualizar desde la transaccin
AL11.
Transaccin: WE20
Dentro de la carpeta Tp.interlocutor EDI Proveedor/Acreedor creamos lo siguiente:
El N interl.EDI debe llevar el mismo nombre del Sistema Lgico que creamos en
el paso anterior.
El Tp.int.EDI tiene que ser LI (Proveedor/Acreedor).
Luego en la tabla Parmetros salida agregamos en Tipo mensaje: ORDERS.
A continuacin hacemos doble click sobre ORDERS y llenamos como muestra esta imagen:
Transaccin: BD50
Agregamos una entrada para el mensaje deseado, y la marcamos como activa.
Con todo esto, nuestro IDOC ya tiene que estar creado!!!. Para verificar vamos a la
Transaccin: WE02
Al apretar el botn ejecutar nos listar nuestro IDOC:
La cantidad de registros de datos puede variar segn la orden que hayamos creado.
Slo nos resta ir a buscar nuestro IDOC en formato XML en el directorio fsico que
hayamos definido en la parte de Definicin de puerta