The Claim Check pattern can be implemented with SAP NetWeaver Process Orchestration EhP1 for SAP NetWeaver 7.3 SP5 and higher. This article explains the enhancements to the Claim Check pattern, available with SAP NetWeaver 7.3 EhP1 SP14 or higher
It is easier to understand this with an example. Consider a scenario where an applicant needs to apply for a renewal of his passport, as his passport is about to expire. This application needs certain documents to be submitted. Examples of these documents are the proof of the applicant's address, age, identity etc. The electronic copies of these documents are typically large, of the order of a few MB. For the passport renewal, the applicant only needs to enter minimal details and the rest of the details would be looked up by the Passport processing application.
Let's see how to implement a solution for this scenario using Process Orchestration. The application for passport renewal can be submitted only after all the relevant documents have been uploaded. An integration centric process can be modeled in SAP Business Process Management with a Claim Check pattern so that the entire message containing the large payload(documents in this case) is not loaded into the BPM context, but only the minimal required data can be sent to BPM. The process can collect all the required documents and once we have the full set of documents to proceed, the application can be submitted.
(available with SAP NetWeaver Process Orchestration EhP1 for SAP NetWeaver 7.3 SP5 or higher)
(New, available with SAP NetWeaver Process Orchestration EhP1 for SAP NetWeaver 7.3 SP14 or higher)
The enhancements for the Claim Check pattern are briefly summarized here:
1) Define an interface in the Enterprise Service Repository(ESR), with the required fields as shown below. This will be referred to as the "Large" interface in this article.
2) Define an interface in ESR which has only the minimal fields required for processing in the BPM context. This will be referred to as the "Lean" interface in this article. The interface will have one additional field to store the messageID, to be used in subsequent steps.
1) Define a message mapping to transform the Large message to Small message as shown below. Here, the messageId is a mandatory field with its value set to 0.
2) Define a multi mapping to transform the small messages to an aggregated message as shown. Here the Source mapping will have both the small message as well as the corresponding large message. The target message will be the aggregated message. (In this scenario the aggregated & large message are the same).
In case data is enriched in the BPM context, the mapping could be performed in such a way that the enriched content from the Small message is mapped to the target, while the other fields could be mapped from the large message as shown here.
Note: For both of the above message mappings, we need to define Operation mappings to be used in subsequent steps.
The SCPMappingBean is used in the receiver channel of IFLOW1.
Parameters of the SCPMappingBean:
The SCPMergingBean is used in the receiver channel of IFLOW2.
Parameters of the SCPMergingBean:
Steps required in BPM process model:
The solution is briefly explained here before we get into further details.
1) The Passport application along with the one or more attached documents is sent to IFLOW1. This message gets transformed to a small message(with very few fields) .
2) The small message will start a bpm process and the subsequent messages(containing the other documents ) whose correlation key(Passport Application Number) matches will be consumed by the Intermediate message event.
3) Once all the required data is collected by the process, the messages are sent to the Passport Application System using IFLOW2 which takes care oftransforming these messages to one aggregated message.The aggregated message contains the Passport Application with all the required documents.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
38 | |
19 | |
13 | |
13 | |
11 | |
10 | |
10 | |
10 | |
8 | |
8 |