Message Versioning in the Advance Adapter Engine of PI 7.30
With PI 7.30, an option to deploy a java-only PI system is now available. To help with debugging and logging, additonal capabilities are also introduced to log the messages during the message pipeline processing in the Advanced Adapter Engine (AAE). In this blog, we will look at the configuration steps to turn-on message versioning in AAE.
The PI 7.30 java-only stack uses only the AAE to process the messages. Without going through the message pipeline of the ABAP stack, SXMB_MONI is no longer available to monitor the messages as they goes through the message pipeline. Prior to PI 7.30, the Advanced Adapter Engine only provides 1 version of the message. Not having multiple versions of the message makes it extremely difficult during debugging, especially when debugging mapping errors. We will only see the result of the mapping, and not the original message.
Now, with the ability to configure the message payload to be shown at different pipeline stages, we are provided the capability to debug errors during pipeline processing. This feature is to fill the gap in AAE which has always been available in ABAP.
As recommended for ABAP, this configuration should only be used for the development environment. The additional persistences of the messages in the database will introduce performance overhead in a productive enverionment.
This configuration is for the AAE, so it applies to both the single-stack and the dual-stack.
Call SAP NetWeaver Administrator: http://<host>:<port>/nwa 0.1.
Click on: Configuration Management —> Infrastructure —> Java System Properties
0.2. In the “Property” tab below, enter “stage” in the fileter entry, and click on the “filter” icon. This will display the “xiadapter.stage.conf” property:
0.3. Enter values for the “xiadapter.stage.conf” property: (by default, the value is “MS=3”, which means the message is saved in the AAE after receiver determination)
The pipeline stages have the following code:
The mode of processing has a code value with the following processing actions:
So, based on the default parameter of “MS=3”, the message is to be persisted after receiver determination, whereas the processor will store the message, reschedule the message and return to the pipeline.
If we want to see the message after mapping, then we can use “VO=3”. So, by combining the 2, such that we can see the messages before mapping and after mapping, using “Modify” we can assign the property to the following value: (MS=3,VO=3)
Viewing the Message Versions:
To view the different versions of a message:
1. Go to “Message Monitor”:
2. Select the message in the “Message List”, click on “Open Message”:
3. You should see the different versions of the message, which you can view the details, e.g. payload.