Creación de Destinos RFC, Puertos y Sistemas Lógicos
Definición de Destinos RFC
Transacción: SM59
Dependiendo del sistema destino, la conexión RFC será de distinto tipo. En general, para envió de Idocs, se crean conexiones del tipo TCP/IP, especificando el nombre del servidor destino y el puerto TCP destino.
Definición de Puerta
Transacción: WE21
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 un 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 el 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 una puerta debe existir para cada sistema externo.
Los tipos de puertos más comunes son los siguientes:
a. 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 via RFC sincrónico 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 estáticos, dado que el archivo es sobreescrito 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.
b. RFC Transaccional
Se usa para escenarios de distrubució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.
c. 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.
d. XML-HTTP
En vez de definir el nombre del archivo XML, se especifica un destino RFC.
e. IP Abap
En estos tipos de puerta se puede definir un módulo de funciones Z, copia del módulo de funciones estandar OWN_FUNCTION, con el cual se puede escribir el Idoc de la forma que queramos. Así podemos construir ficheros planos, CSV,… a partir del Idoc
Definiciòn de Sistemas Lógicos
Un sistema lógico es un nombre que le asignaremos a cualquier sistema externo con el que vayamos a crear interfaces. Por ejemplo, si vamos a crear interfaces con un AS400 podemos crear un sistema lógico llamado AS400 y después asignarle las interfaces con las que vayamos a trabajar.
Transacción BD54.
Creación de los Acuerdos de Interlocutores
Transacción: WE20
Un interlocutor ALE es un sistema SAP remoto, un sistema lógico o un interlocutor (cliente, proveedor,…) con el que se intercambian datos. El acuerdo de interlocutor especifica varias de las características de los datos que se intercambian incluyendo el modo de operación y la organización o persona responsable por el manejo de los errores. Cuando los datos son intercambiados entre interlocutores, es importante que el emisor y el receptor estén de acuerdo en la sintaxis y semántica de los datos intercambiados. Este acuerdo es lo que se llama Acuerdo de Interlocutor, y es lo que le informa al receptor de la estructura de los datos enviados y cómo los contenidos deben ser interpretados.
Los datos definidos en un acuerdo de interlocutor son:
- Tipo de Idoc y Tipo de mensaje, los cuales son el identificador clave del acuerdo de interlocutor.
- Nombre del Emisor y Receptor que intercambiarán los Idocs para el tipo de Idoc y mensaje.
- Puerta por el cual el emisor y el receptor se comunicarán.
En el interlocutor se definen datos específicos de cada mensaje a transmitir en los parámetros de salida o entrada según corresponda.
Mediante la transacción WE20 se crea el acuerdo de interlocutor con el sistema lógico.