Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
Showing results for 
Search instead for 
Did you mean: 


Enterprise Integration Patterns (EIP) help in solving recurring problems faced in the integration of enterprise applications.  This article introduces the Claim Check – one of the Enterprise Integration patterns in the context of SAP NetWeaver Process Orchestration.

Applies to

SAP NetWeaver Process Orchestration EhP1 for SAP NetWeaver 7.3 SP5


Abdul-Gafoor Mohamed & Prashant Gautam

Product Management, SAP NetWeaver BPM, SAP Labs

The Claim Check Pattern in Process Orchestration

Enterprise Integration Patterns – The Claim Check

Enterprise Application Integration (EAI) is an integration framework composed of a collection of technologies and services that form a middleware, enabling the integration of systems and applications across an enterprise.[1] A twenty-first century enterprise typically consists of tons of distributed applications, varying percentages of which may be homegrown, acquired, legacy or even a combination of these.

Enterprise Integration Patterns (EIP) are design patterns that help in solving recurring problems faced in the integration of enterprise applications.  The Claim Check helps address this question:

“How can we reduce the data volume of a message sent across the system without sacrificing information content?”[2]

Let us consider an example. A mattress manufacturer SnooZ, has a manufacturing unit(factory) in Turkey, with hundreds of outlets in Europe where customers can walk-in and experience a variety of mattresses.  There are different models of mattresses based on coil strength, fibres – natural and synthetic – and a few other features.

Each customer that walks into a SnooZ outlet can try out the available mattresses and order a customized one with the help of the sales staff at the outlet.  The sales staff submits an order into the system, which generates a delivery date printed on the order receipt.  These orders are aggregated and submitted to the factory thrice a week.  SnooZ wants to achieve customer satisfaction by promising a delivery to the customer within three weeks of the order date.

Figure 1. An example illustrating the Claim Check pattern

An Integration Scenario for the Claim Check

The Claim Check is a message transformation pattern that helps in reducing the payload of a message that flows through a system.  Unlike a Content Filter, the complete message will need to be restored later on, and that requires a key (the Claim Check) to be persisted to facilitate this retrieval.

A typical Claim Check integration scenario has the following steps:

  • A message with payload(data) is received
  • Key Generation (This unique key is used later as the Claim Check)
  • Data extraction and Persistence (The key and the extracted data from the message are persisted)
  • Reduction in message footprint and tagging the Claim Check
  • Data Retrieval (using the Claim Check)

In this example, the order details, including the customer information, shipment details, mattress specifications are entered into SnooZ's Business System S1 which generates a message to SAP NetWeaver PI (AEX).  The message payload is persisted and the message id (the Claim Check) is passed to SAP NetWeaver BPM (Inbound[3]).  The BPM process awaits the collection of all orders for each accumulation during the week.

The BPM process retrieves the details of each order from the data store and sends it to the factory to manufacture the mattresses.  A consolidated message for the orders entering the manufacturing phase is sent to the Business System S1 through PI.

SAP NetWeaver Process Orchestration Solution Outline

Figure 2. An integration scenario for the Claim Check pattern

As depicted in Figure 2, we are dealing with these two integration configurations:

  • Integration Configuration1 (ICO1) – A message flow can be triggered from SnooZ's Business System S1 that flows through SAP NetWeaver PI (AEX) to SAP NetWeaver BPM.
  • Integration Configuration2 (ICO2)The consolidated message is sent back to Business System S1 from SAP NetWeaver BPM through SAP NetWeaver PI (AEX).

SAP Process Orchestration Scenario

Figure 3. A generic SAP Process Orchestration scenario sequence

The Integration Flows have to be created and activated using the same interfaces that were used in the Business Process.  The generic scenario referenced above applies to most Enterprise Integration patterns.

Note: Only XI 3.0 compatible stateless interfaces are supported.

Process Modeling in SAP NetWeaver BPM


  • The service interfaces to be used in the process model – Starting Interface and Automated activity – should be created first and then imported from the SAP NetWeaver PI Enterprise Service Repository.
  • For testing the BPM Process from the BPM Process repository, the UME action SAP_BPM_TRIGGER_EVENT should be assigned to the specific user role.

Process Model

Figure 4. A Claim Check scenario modeled in SAP NetWeaver BPM

The Process Model for a Claim Check scenario is shown in Figure 4.  The steps for modeling the process are enumerated below:

  • The Pattern starts with a service interface.
  • Message IDs that are the input to the system are aggregated.
  • A Webservice call retrieves the details of each order from the respective Message ID.
  • The consolidated message status is updated to reflect the orders entering the manufacturing phase.
  • This is then acknowledged to the PI (AEX) system.


  • Use the ‘XI’ service reference instead of ‘WS’ in the configuration settings of the automated activity. The Sender Component also needs to be specified.
  • Use the SAP NetWeaver PI Integration Flow Designer to create the configuration objects in SAP NetWeaver PI
  • Please refer to detailed information on Process Modeling using SAP NetWeaver BPM.

[1] Enterprise Application Integration, Wikipedia

[2] Gregor Hohpe & Bobby Woolf, Enterprise Integration Patterns. 2003

[3] Inbound and Outbound are terms used with reference to the application, in this case SAP NetWeaver BPM.