About the SAP Connectivity sample

This sample demonstrates two uses of the SAP nodes: an SAPInput node is used to demonstrate an integration node inbound scenario, and an SAPRequest node is used to demonstrate an integration node outbound scenario.

SAPInput node

The SAPInput node is used to capture information (for example an IDoc) that is output by the SAP system, so that it can be passed to a message flow for processing.

The following diagram shows the SAP Inbound message flow that is used in this sample:

A screen capture of the SAP Inbound flow

In this sample message flow, a message is received by the SAPInput node from SAP. The message contains a Material Master IDoc. The message that is received is passed, unmodified, to an MQOutput queue.

The SAP Connectivity sample demonstrates the following tasks:

  1. Configuring SAP to define an integration node endpoint (RFC Program ID)
  2. Configuring the integration node SAP adapter to communicate with the SAP system
  3. Rebuilding a BAR file with the newly configured adapter
  4. Deploying the BAR file
  5. Initiating SAP to output an IDoc for the integration node to capture
  6. Looking at the output data in the WebSphere MQ queue

The sample provides:

SAPRequest node

The SAPRequest node is used to send information to the SAP system and retrieve the response from SAP. In this sample message flow, SAPRequest nodes are used to invoke remote functions in SAP (BAPIs).

The following diagram shows the SAP Outbound message flow that is used in this sample.

A screen capture of the SAP Outbound flow

A message is sent to the MQInput node, which contains the fields that are required to create a Customer object in SAP.

The first SAPRequest node, SAP Request: Create, invokes a Customer Create BAPI (BAPI_CUSTOMER_CREATEFROMDATA1) and SAP returns the unique identifier of the Customer object that is created.

The Compute node, Set Update Msg, uses the returned identifier (customer number) and constructs a message that allows the new Customer to be updated.

The second SAPRequest node, SAP Request: Update, sends this data to a Customer Update BAPI (BAPI_CUSTOMER_CHANGEFROMDATA1) and SAP sends back a return code.

The Compute node, Set Retrieve Msg, uses the Customer identifier to construct a message that requests SAP to return the updated Customer object.

The final SAPRequest node, SAP Request: Retrieve, uses this data to invoke a Customer Retrieve BAPI (BAPI_CUSTOMER_GETDETAILS1) and SAP returns the Customer object, which is output to a WebSphere MQ queue as an XML message.

If the flow encounters a problem, the original message header and exception list data are put into an XML message and sent to a failure WebSphere MQ queue.

Running the example involves the following tasks:

  1. Configuring the integration node adapter to communicate with your SAP system
  2. Rebuilding a BAR file with the newly configured adapter
  3. Deploying the BAR file
  4. Putting data to a WebSphere MQ queue to initiate the flow
  5. Looking at the output data in the WebSphere MQ queue

The sample provides the following resources:

Back to sample home