martes, 17 de febrero de 2015

EDI. Definición de puerta y sistemas lógicos

En este post vamos a seguir avanzando con EDI. Ya hemos visto anteriormente los que es un IDOC. Ahora vamos a continuar viendo como definir la puerta y los sistemas lógicos para poder trabajar con EDI desde SAP.

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 puertas. En otras palabras, una puerta es un nombre lógico para un dispositivo de entrada/salida. Los programas se comunican con una puerta 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 puerta, y es esta puerta la que designa realmente al medio. Esto permite definir las características de las puertas individualmente y usar una puerta en múltiples Acuerdos de Interlocutores. Los cambios en una puerta se reflejarán automáticamente en todos los acuerdos que lo estén utilizando.

Al menos debe existir una puerta para cada sistema externo. Los tipos de puertas más comunes son los siguientes (desde la transacción WE21):
  • 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 sobrescrito 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 número 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 puerta, es necesario definir el nombre de la puerta, 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. 

Además de definir la puerta deberemos definir los sistemas lógicos utilizando la transacción BD54 y asignar estos sistemas lógicos al mandante que corresponda con la transacción SCC4.

No hay comentarios:

Publicar un comentario