En este artículo veremos cómo usar configuración dinámicas SAP PI (Process Integration).
Adaptadores de comunicación en SAP FI
Existen en este módulo de SAP diferentes tipos de adaptadores que permiten establecer todo tipo de comunicaciones: RFC, File, SOAP, HTTP, Mail, IDOC…
Cada uno de estos adaptadores en SAP PI ofrece diferentes parámetros para configurar correctamente dicha comunicación. Estos parámetros cambian en función de si el adaptador es de tipo Sender o de tipo Receiver.
La mayoría de estos parámetros son estáticos, esto es, hay que configurarlos desde el Integration Builder introduciendo valores en los campos correspondientes del adaptador. En la siguiente imagen vemos la configuración de un canal de comunicación con adaptador RFC Receiver con los siguientes parámetros estáticos:
- Application Server
- Logon User
- Logon Password
- Logon Language
- Logon Client
- …
Es solo un ejemplo, ya que de hecho, la mayoría de los adaptadores tienen este tipo de parámetros estáticos.
Dynamic Configuration SAP PI
Con las nuevas versiones de SAP Process Integration (SAP PI 7.31, SAP PO 7.40…), cada vez son más los adaptadores que permiten la configuración dinámica de adaptadores. Es decir, adaptadores cuyos parámetros pueden variar en función del mensaje que se vaya a transmitir durante la integración.
A esto se le conoce como Dynamic Configuration y se consigue utilizando un mapeo Java o una UDF (User Defined Function) en la parte de diseño de SAP PI, el Enterprise Service Builder.
Un caso muy claro de este tipo de configuraciones dinámicas, se da en los adaptadores de tipo File. Por ejemplo, un adaptador File Receiver que va a dejar un fichero .TXT cuyo nombre depende de la fecha y hora en el que se produzca el procesamiento.
Usar dynamic configuration
A continuación vamos a ver qué pasos hay que llevar a cabo para configurar dinámicamente este tipo de parámetros:
Activar y configurar los atributos de mensaje específicos del adaptador (variables)
Los adaptadores que permiten Dynamic Configuration disponen de una opción para activar este tipo de atributos. En función del adaptador aparecerán más o menos opciones. En función de estas opciones se debe hacer la correspondiente configuración.
Crear una UDF o mapeo Java para establecer valor dinámico
En el Enterprise Service Builder, se debe un mapeo de mensaje con una UDF (o mapeo Java). Utilizando código JAVA podemos dar valor al atributo variable que corresponda. A continuación se muestra el código para establecer dinámicamente el nombre de un fichero:
Date fecha = new Date(); DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd_000000000"); String nombreDinamico = " dateFormat.format(new Date()) +"_FACTURA.txt"; DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION); DynamicConfigurationKey key = DynamicConfigurationKey.create("https://sap.com/xi/XI/System/File","FileName"); conf.put(key, nombreDinamico);
Con estos dos pasos, conseguiremos que el nombre del fichero que genere el adaptador File Receiver sea dinámico en función de la fecha y hora actual. Este es solo un ejemplo de esta interesante capacidad de SAP PI.
Como habrás podido comprobar, las configuraciones dinámicas en SAP PI son muy sencillas y añaden funcionalidades muy interesantes a nuestras aplicaciones.