Improved monitoring of B2B scenarios running on SAP NetWeaver Process Orchestration – part 2: local message monitoring capabilities
If you use the business‑to‑business add-on of SAP NetWeaver Process Integration / SAP NetWeaver Process Orchestration in order to connect to your business partners and networks, you may benefit from the latest enhancements that we have shipped with SP02 of the B2B add-on, see announcement in blog B2B Add-on SP2 released. Also refer to SAP note 1911897 and B2B Release Notes SP2 on help.sap.com.
This is the second part of a blog series about the improvements that we have introduced helping you to better monitor and track your B2B business transactions. Besides new capabilities that have been shipped within the local monitors of PI, we have introduced a new central monitor with SAP Solution Manager 1.0 SP10, the so called Message Flow Monitoring, which provides you an end-to-end insight into the correct closure of your A2A and B2B conversations.
The blog series is divided into three parts:
- I will introduce the new features along a typical B2B scenario. If you haven’t done already, you should start with part 1 of the blog series where I describe the underlying business scenario.
- In the current blog, I will show you how to monitor the scenario by means of the local monitoring tools.
- In part 3 of the blog series, I will show you what value the new Message Flow Monitoring of SAP Solution Manager will add.
New local message monitoring capabilities
In the following I will cover the new features that have been added to enhance the B2B monitoring capabilities within PI. See also SAP note 1815991 – Enhanced Local Message Monitor for B2B Messages.
The following B2B specific monitoring features are supported:
- View status of technical and functional acknowledgement in message monitor
- Search related messages
- Search messages via sender identifier, receiver identifier, or interchange control number
- View message content both original raw EDI and EDI XML message
- View acknowledgement in a human readable report
- If you use the new Trading Partner Management (TPM), you can define User Defined Message Search criteria for searching messages based on the following B2B related parameters:
- Partner Name
- Partner Parent Group Company
- Sender Partner Name
- Receiver Partner Name
The Trading Partner Management by the way is a further major enhancement of SP02 shipment of the B2B add-on. It helps you reducing the effort for partner onboarding, support and maintenance by providing a single repository for managing, storing, and browsing all trading partner related information. It holds information such as unique identifiers and partner classification (e.g., vertical, region), partner profiles (e.g., transport protocols, connectivity settings, EDI Interchange header information, acknowledgements, custom parameters), support related information (e.g., address, support contacts, escalation path), documents per partner (e.g., contracts, agreements). For more details, refer to Trading Partner Management blog on SCN.
I have triggered the scenario by sending an EDI 850 bulk order to PI. In my example, the interchange control number of the bulk order equals 191008020. The interchange control number is defined by the sender party to uniquely identify the transmission so that you are able to track the interchange with your partner.
View status of technical and functional acknowledgement
In the PI message monitoring, I select the corresponding message. Two new columns have been added in the list view of the message monitor displaying the status of the technical and functional acknowledgements that were exchanged between the trading partners. Furthermore, in the message detail pane, you can switch to tab B2B Acknowledgements showing the history of the acknowledgements with respective status indicator, status code, and correlation ID. In our case, the technical acknowledgement corresponds to the MDN, the functional acknowledgment refers to the 997. The correlation ID holds the interchange control number, the sender identifier and the receiver identifier, see also below.
Note, that XI acknowledgments are not supported here.
Figure 1: Acknowledgement status
Search related messages
Next, I would like to know which messages are related to this specific transformation. I select the bulk message, and click on the Related Messages button.
Figure 2: Related messages button
This displays all related messages: the bulk message itself, the split messages (here the individual orders), and the associated acknowledgements which are processed as separate PI messages (here the 997).
Figure 3: List of all related messages in message monitor
Search messages via sender identifier, receiver identifier, or interchange control number
The relation is based on the correlation ID. So, you get the same result list when searching EDI messages using the correlation ID in the advanced search. As mentioned above, the correlation ID contains the interchange control number, the sender identifier and the receiver identifier. The format is as follows: <interchange ID>_<sender ID>_<receiver ID>. By using wildcards in the search field, I can search for messages based on any of the identifier.
Figure 4: Search messages based on interchange control number
View original raw EDI
For monitoring or audit reasons, you may like to keep the original message before transforming into XML format. In the sender adapter of the Integration Flow #2 (routing of individual orders, see part 1 of the blog series), I switch to the Modules tab, and set parameter x12.copy of the X12ConverterModule module equals true.
Figure 5: Configuring X12ConverterModule module in the module chain
As I can see in the message monitoring, in addition to the XML representation of the 850 order (payload named 850) a new payload named 850_copy has been attached which contains the original EDI 850 single order.
Figure 6: Accessing the original EDI message in message monitor
Figure 7: EDI 850 message
View acknowledgement report
I am interested in the status of the interchange and all acknowledgments correlated to the interchange. I may open the EDI 997 payload, however the format makes it hard to capture the essential information. I would like to have all relevant information displayed in a more convenient and better readable format.
In the sender adapter of the Integration Flow #3 (routing of 997, see part 1 of the blog series), I switch to the Modules tab and add the AcknowledgementReportModule module into the module chain before the CallSapAdapter module. The module does not require any parameter.
Figure 8: Configuring AcknowledgementReportModule module in the module chain
As I can see in the message monitoring, in addition to the 997 FA a new payload named AcknowledgementReport has been attached.
Figure 9: Accessing the acknowledgement report in message monitor
The report provides you with all relevant information at a glance such as interchange control number, how many messages have been exchanged within the bulk, overall interchange status, status of the individual messages, etc.
Figure 10: Acknowledgement report
Correlation via User Defined Message Search
So far, I have only captured all messages associated with the exchange of the order. Since each transmission has its own unique interchange control number, the messages associated with the exchange of the invoice are not related to the order via the correlation ID. However, in order to correlate the order with the invoice, I can use User Defined Message Search (UDS). This is actually not a new feature, I just like to mention this for reasons of completeness. Here, I have defined a UDS parameter for the order ID. Now I can search for the specific order number and would get displayed both the order and the corresponding invoice.
Figure11: UDS attribute of invoice message
Trading Partner Management integration
You can search via B2B relevant attributes that you have maintained in the Trading Partner Management cockpit, e.g., get all interchanges with a specific partner, a parent group company, from a specific region or a specific industry. In TPM, I have maintained the partner ABC_Partner and its attributes.
Figure 12: Partner information maintained in TPM
In the sender adapter of the Integration Flow #1 (routing of the bulk order message, see part 1 of the blog series), I switch to the Modules tab, and add the TPMContentAccessModule and EDISearchParametersModule modules into the module chain in the order as shown in figure 13 below. The modules do not require any parameter. The former module reads the B2B attributes from TPM, whereas the latter sets correlation ID and dynamic parameters in the message header on detecting any format of EDI messages such as EDIFACT, EANCOM, X12, TRADACOMS and Odette.
Figure13: Configuring TPMContentAccessModule and EDISearchParametersModule modules in the module chain
Once you have defined UDS criteria using the B2B attributes, in message monitor, select the bulk message, and switch to tab User-Defined Attributes. You can see that the attributes have been added to the message.
Figure14: B2B specifc UDS attributes
Now that we have learned about the new B2B relevant local monitoring features, let’s continue with part 3 of the blog series where I show how to monitor the scenario within the Message Flow Monitor in SAP Solution Manager.