Entre las herramientas que nos ofrece el editor gráfico de SAP PI se encuentra la conversión de unos valores a otros, que se puede realizar de diferentes formas, dependiendo de dónde interesa hacer el mantenimiento de las tablas de mapeo.

A todas ellas se accede a través de la opción Conversions, que nos propone las siguientes funciones para trabajar.

   Mapeo de valores dentro del Graphical Mapping Editor en SAP PI - Opción Conversions

Fix Values Value Mapping Lookups
El mantenimiento de las tablas se realiza desde el ES Repository El mantenimiento de las tablas de mapeo se realiza en el Integration Directory El mantenimiento de las tablas de mapeo se realiza en el sistema back-end

1. FixValues

Se trata de una función estándar dentro de grupo de funciones de Conversion. Cuando usamos la función FixValues en el mapeo gráfico de un mensaje, se definen parejas de valores para mapear claves origen a claves destino.

Pros:

  • Se define y se mantiene dentro del propio Repository (ESR).
  • Es sencilla.
  • Tiene buen rendimiento.

Contras:

  • No sirve para importar grandes cantidades de valores.
  • Las parejas de valores definidas solo pueden ser usadas dentro del mapeo de mensaje en el que se han definido.

Mapeo de valores dentro del Graphical Mapping Editor en SAP PI (3)

Mapeo de valores dentro del Graphical Mapping Editor en SAP PI (4)

Es importante definir una clave o valor por defecto en caso de que no se encuentre el valor recibido entre los que se tratan o, en su defecto, generar una excepción.

2. Value Mapping

En cambio, se puede usar la función Value Mapping (Conversions -> Value Mapping) para definir y mantener, de forma externa, múltiples valores de claves. Se especifican valores clave para acceder a los valores de conversión, que se mantienen en el Integration Directory, donde pertenecen al contexto http://sap.com/xi/XI.

  • Integration Directory

Primero, se definen los valores Agency and Scheme para los valores origen y destino a mapear. En este caso, varios conceptos se mapearán al mismo número de cuenta.

Dentro del escenario de comunicación de nuestra interfaz, crearemos tantos Value Mapping Groups como claves de salida tengamos.

Para el ejemplo, vamos a mapear los conceptos de entrada a dos cuentas diferentes.

Mapeo de valores dentro del Graphical Mapping Editor en SAP PI - Ejemplo mapeo

Los conceptos del 1 al 3 se mapearán a la cuenta 00000001, los del 4 al 6 a la cuenta 00000002. Una vez grabado y activado, volvemos al Repository para finalizar el mapeo.

Elegimos la función de conversión Value Mapping y le indicamos los valores de origen y destino que hemos definido anteriormente en el Directory.

También nos da la opción de usar un valor por defecto si no se encuentra entre los valores mapeados o lanzar una excepción. Hemos elegido la opción de mapear a una nueva cuenta, la 0000003, los conceptos no incluidos en el mapeo.

Mapeo de valores dentro del Graphical Mapping Editor en SAP PI - Mapeo de cuenta nueva

3. Lookups

Mapeo de valores dentro del Graphical Mapping Editor en SAP PI (8)

RFC Lookup o JDBCLookup contienen métodos de acceso a los sistemas de aplicación utilizando los adaptadores correspondientes.

  • Ejemplo para RFC

Primero, hay que definir un canal de comunicación síncrono con el tipo de adaptador que queremos usar. Pueden ser RFC y JDBC para las funciones predefinidas en el mapeo gráfico o usar otros adaptadores de SAP, pero no hay funciones específicas para estos y se requieren UDFs para realizar las lookups.

Mapeo de valores dentro del Graphical Mapping Editor en SAP PI (9)

Después, hay que crear un mapeo de mensaje con los datos que se pasarán como input a la RFC. Para esto, es necesario haber creado la RFC y haberla importado previamente, de manera que la tengamos dentro de la categoría Imported Objects.

Después de definir los parámentros import y export de la RFC, especificamos el canal de comunicación definido en el Integration Directory en la sección Parameters.

Mapeo de valores dentro del Graphical Mapping Editor en SAP PI - Definicion de comunicacion

Ventajas:

  • Mantenimiento en el sistema backend.
  • Permite usar valores de diferentes mapeos.
  • Da soporte gráfico a RFCs y JDBC.

Contras:

  • Tienen peor rendimiento.
  • Son complicadas de programar cuando no se limita a las funciones estándar (RFC y JDBC) proporcionadas por el entorno de mapeo gráfico.

Por último, recordar que, para otro tipo de adaptadores, será necesario crear funciones definidas por el usuario (UDFs) para hacer llamadas que permitan la conversión de valores, pero este tema queda fuera del ámbito del artículo.

Esperamos que te este artículo te haya sido de ayuda.  Si tienes cualquier duda, puedes ponerte en contacto con nuestro área de user experiece & integración, o puedes dejarnos tu pregunta en comentarios.

Área User Experience & Integración