SAP PI 7.1 Mapping Enhancements Series: Parameterized Message Mappings
In SAP NetWeaver Process Integration (PI) 7.1, there is support for using parameters in mapping programs. In general, the ability to pass parameters to/from mapping programs gives them more flexibility and applicability by allowing for the transfer of values at configuration time (e.g. Integration Directory). This is similar to the concept of using parameters for a program method or procedure. Currently, parameterized mappings are supported for:
- Message Mappings
- Java Mappings
- XSLT Mappings
Since at runtime time, all PI mappings are accessed via a corresponding operation mapping, parameter bindings must be created in order to connect the mapping program and operation mapping parameters. In addition, the actual parameter values can be set at configuration time within the interface determine of the Integration Directory or by using a transformation step in an integration process or monitoring process.
Import Parameters – transfer values to mapping
- Standard functions only allow for import parameters
- Values can be passed from both interface determinations and transformation steps
Export Parameters – transfer values from mapping
- Values can only be assigned to export parameters in user-defined functions
- Values can only be passed using a transformation step and thus, can only be evaluated within integration processes or monitoring processes
- Simple Type – parameters in this category are used to transfer simple typed constants (i.e. xsd:string or xsd:integer) that can be used as import or export parameters.
- Adapter – parameters in this category are used to transfer the channel name that is to be used for mapping lookups. An adapter type (e.g. JDBC, RFC) must in addition be selected.
Using Parameters in Message Mappings
In order to use parameters in message mappings, parameters first have to be defined within the signature tab of the message mapping.
Parameters of message mappings can be passed between both standard functions and user-defined functions. Above there are three parameters defined, two of type import and one of type export. Using the parameter ‘dateDelimiter’ as an example, we can, for example, pass this parameter to the standard function concat as shown below.
This is done by opening the properties of the concat function and then selecting ‘dateDelimiter’ as the parameter to be used for the function. The parameter will only be listed if it has already been defined as a parameter in the Signature tab.
Operation Mapping Parameters and Bindings
The message mapping parameters must be binded to operation mapping parameters as shown below.
Setting Parameter Values in Interface Determination
In the Integration Directory, the values can be set at configuration time in the interface etermination object. Once the operation mapping is specified, parameters defined for the operation mapping will be shown at the bottom of the interface determination screen as shown below.
Setting Parameter Values in Transformation Step of an Integration Process
Values can also be transferred from/to an integration process via a transformation step.