Scheduling of MDM inbound processes is required when an incoming data chunk is dependant upon another data chunk. There are cases where such dependencies can cause MDM import failures or data inconsistency.
The PI MDM Adapter together with Cross-component Business Process Management (ccBPM) provide an easy solution for this requirement.
MDM PI Adapter
MDM PI Adapter was first released with MDM 7.1. This adapter brings a new and wider scope of integration capabilities for MDM, leveraging the SAP PI and MDM 7.1 API features into a strong and usable infrastructure component. Messaging between MDM and PI is now direct, unlike prior communication which was FTP based. MDM messages monitoring is now possible with the PI runtime workbench and monitoring transactions.
The PI adapter leverages MDM API events by generating PI acknowledgement messages for MDM inbound processes. The MDM inbound messages are exchanged between MDM and PI asynchronously. As soon as the MDM import process is completed (either with success or failure), an import event is dispatched to the PI adapter. As a result of this event, the adapter generates an acknowledgement message and sends it to the PI integration engine. The acknowledgement message can be used to monitor and control MDM inbound processes.
This blog explains how to use these acknowledgement messages for scheduling MDM inbound processes.
For more details, please refer to the SAP NetWeaver MDM PI Adapter guide → MDM Documentation Center.
Cross-component Business Process Management (ccBPM) applies business logic to PI message exchange processes. ccBPM is part of PI and provides a design tool and runtime engine for Integration Processes based on PI messages. The ccBPM Integration Process is designed as a flowchart containing steps for receiving and sending PI messages, and for processing those messages.
With ccBPM you can control and monitor the messages which are exchanged between PI and backend systems.
The following ccBPM functions were used to implement MDM inbound processes scheduling:
- Messages correlation: During the integration process, you can correlate multiple messages which conform to different interfaces and originate from different channels. The correlation is constructed using the design tool which lets the user define fields (which should contain the same value during runtime), within the messages. Once the Business Process engine (BPE) is able to construct such a correlation, the integration process logic is applied to the correlated messages.
- Application acknowledgement for the Send step: The ccBPM Send step can be configured to wait for the receiver application acknowledge. The step which follows the Send step is executed only after the acknowledgement message is received.
- Fork step: Breaks the Integration Process into parallel branches which are executed simultaneously.
- NetWeaver MDM 7.1
- NetWeaver PI 7.0 (SP 15 or higher) or NetWeaver PI 7.1 (SP 05 or higher)
- NetWeaver MDM 7.1 PI Adapter
Integration Process for Scheduling MDM Inbound Messages
The following figure shows a simple Integration Process flow for scheduling MDM inbound messages:
The Integration Process is as follows:
- The three Receive steps are configured to receive import messages 1, 2 and 3 which are sent to MDM from backend systems through PI. These steps are configured with different message interfaces.
- Since the Receive steps are located within fork branches, they are executed in parallel and the order of messages arrival is not important. The parallel branches are merged as soon as all messages are received.
- Following the merge, the messages are sent to MDM via three sequential Send steps. Message 3 is sent first to MDM. The BPE waits for it’s acknowledgement to continue with the second Send step. The sequential flow and the acknowledgement setting of the Send steps, assures that the import of message 2 will not be executed before the import of message 3 is completed, and so on.
The Integration Process described here can be extended with more logic and message interfaces.
Building the PI Configuration Scenario
The PI configuration scenario for scheduling MDM inbound message should contain the following:
- Sender communication channels for each outbound message of the backend systems.
- An MDM receiver communication channel for each inbound message. Each MDM communication channel is configured for a different MDM port.
- The Integration process should be imported from the PI repository.
- A sender agreement for each sender channel. No sender agreement is required for the integration process.
- Building of two receivers and two interface determinations for each message interface; from the backend system to the integration process, and from the integration process to MDM.
- Building of one receiver agreement for each message interface from the integration process to MDM. No receiver agreement is required for the integration process.
Monitoring the Scenario
To monitor the scenario, you can use the PI runtime workbench and\or the SXMB_MONI transaction.
The SXMB_MONI transaction shows the acknowledgement status of the MDM inbound messages with the following icons: