Data cross reference or value mapping is a critical component of any SAP PI Integration Project.
In very simplistic terms, the above is a technique to map data values from a source produced format to a target acceptable format. Some very common examples are country code conversions, UoM conversion etc.
In one of my implementation project, I had the following use cases.
- Basic value mapping requirements –
This requirement was to map basic data objects like Country Code, UoM, and Plant to Company Code and Company codes to bank accounts. The data volume for these objects was under 5000 cross references.
- Master Data Cross reference –
The requirement was to convert Vendor Numbers between SAP and 3rd party systems. The data volume was huge in the range of 30,000 - 50,000 records. This cross reference was not available in ECC, and the only source of the cross reference was MDM. The frequency of use for this cross reference was also high.
- Master Data Cross reference SNC
The requirement here was to have a cross reference between an SAP Vendor/Plant to SNC business partners. All non-standard SNC interfaces would need the business partner to be populated for successful message processing. The volume for such data was high as well as the frequency.
Multiple options were weighed to determine a cross reference strategy. The driving factors were defined storage location, high performance use as well as ease of maintenance and replication.
The following were the major options which were considered
- Translate at source -
The value translation can happen at the source. The converted value needs to be available at source. This occurrence of this scenario is rare. This is the most optimized option as this avoids any additional overhead to message processing.
- Lookup at source -
In case the converted value is available at source, and the source is incapable of passing transformed value as a part of the interface (mostly in case of Standard Idocs, with a strategy to minimize custom exits) another option is to lookup the value from SAP PI mapping programs.
This lookup is done via cross system RFC or SOAP lookup from the PI mapping.
It should be noted that the above could cause performance issues during effecting interface runtime, especially in cases where the frequency and runtime requirements of these interfaces are high.
- Replicate to PI Cache (Value Mapping Replication) –
In this case the mapping values needs to be replicated to the PI cache from a consolidation system. PI supports out of the box features using ABAP and JAVA proxies to replicate value mapping data to PI value mapping cache from an ABAP based consolidation system. Data can be maintained in the consolidation system.
This mapping can be read from the PI mapping, via out of the box optimized functions.
The best practice on a fairly sized PI system is to have the number of records in the PI cache to be limited to less than 20,000 entries. This option was best suited for basic data objects mapping.
- Replicate to PI ABAP Stack –
In case the cross reference data volume is high, the PI ABAP stack can be used to store the cross reference.
This data can be read from the mapping program via local RFC call to the PI ABAP stack.
This is case in which data is not available at source, data storage requirements are high and lack in performance due to cross system look-ups needs to be avoided.
Based on the above options the following flow chart could be defined.
Based on the above chart, the scenarios were decoded in the following manner.
- · Basic value mapping requirements –
This is case in which the mapping was not available on the source. The volume of data was around 5000 records and the frequency of use was high. Thus a consolidation system like SAP ECC was chosen to maintain the cross reference; this was then replicated to PI value mapping cache using the standard value mapping replication techniques.
This is resulted in high performance of frequently run interfaces.
- Master Data Cross reference –
This is the use case in which the data volume was high, data was not available at source and performance requirements were high. The value mapping cache was not the option to go with. The data was replicated to the ABAP Stack tables, and a local RFC look-up was done from PI mapping.
This RFC calls were more optimized than cross system RFC/SOAP look-up calls.
As the cross reference was available at MDM, a simple replication interface was built from MDM to PI (using Receiver RFC adapter) to keep the data up to date.
The PI version used here was PI 7.11.