Skip to Content

Binding Multiple Interfaces with PI 7.1 Operations.

This document explains how to integrate multiple interfaces with same Interface configuration by using Operations in Message Interface.

SAP PI7.1 has enabled us to reuse the same Service Interface for “n” different structures. Each service could be independent of the others in terms of Operation Patterns, mode of execution (Asynchronous, Synchronous), and the included messages. However the services are bounded together by the same Category (Abstract, Inbound, Outbound) and Interface Pattern. When ever the interface is executed it dynamically executes the respective interface through the incoming Message structure defined in Operations.

This example scenario is connecting SAP system through a HTTP protocol.

It sends multiple messages; each message should be configured as unique interfaces in PI.

I Repository Objects

Sender Service Interface

  • Create only one Sender Interface.
  • Select as many operations according to how many interfaces we need.
  • Include the Message types/Idoc types in each operations.

/wp-content/uploads/2013/02/file1_182575.jpg

Receiver Service Interface

  • Connected to SAP systems as IDOC’s. Hence no explicit Receiver Interfaces defined.
  • We can create Receiver Service Interfaces according to requirements.

Message Mapping

  • Create Message mappings as necessary.

Operation Mapping

  • Create the Operational Mapping as below specifying the different Operation and Message formats.
  1. XML Stock Level Reporting

/wp-content/uploads/2013/02/file1_182575.jpg

2. OBDLV Confirm

/wp-content/uploads/2013/02/file1_182575.jpg

  1. II. Configuration Objects.

Sender Agreement

  • Create one Sender Agreement with the Interface as below

 

/wp-content/uploads/2013/02/file1_182575.jpg

Receiver Determination

  • Specify all the outbound interfaces and associate respective objects in single Receiver Determination which varies for each operations. As each operation is a single interface it is routed to all respective outbound interfaces and associated objects.

/wp-content/uploads/2013/02/file1_182575.jpg

Interface Determination

  • Associate the respective mapping and outbound interfaces for respective Operations.

File 6.jpg

Testing

  • When we post multiple messages on the same Sender interface – it is associated with its respective message structure and sent to corresponding outbound interfaces.

/wp-content/uploads/2013/02/file1_182575.jpg

Example Input XML

/wp-content/uploads/2013/02/file1_182575.jpg

Example Output XML

/wp-content/uploads/2013/02/file1_182575.jpg

11 Comments
You must be Logged on to comment or reply to a post.
  • Hi,

    Thanks for your intention to share the info, but the images are of mediocre,unable to follow..would be better if you can replace them with better ones..

    Rgds

    Rajesh

    • Hi Rajesh !

      Thanks for the information 🙂

      BUT one thing I can’t figure out, is how PI at runtime determines the outbound interface.

      In e.g. SOAP the operation is part of the protocol, but this doesn’t apply to all protocols.

      Lets say we have a file sender channel, with multiple operations configured . PI basically picks up an unknown XML document, and has to determine which outbound interface the document belongs to.   How is that done ?  By trying to match against the XSD of the all the possible messagetypes, or ???

      / Claus

  • Hi !

    … sorry for the double-post.  I accidentally replied to Rajesh, instead of the original author.

    Thanks for the information 🙂

    BUT one thing I can’t figure out, is how PI at runtime determines the outbound interface.

    In e.g. SOAP the operation is part of the protocol, but this doesn’t apply to all protocols.

    Lets say we have a file sender channel, with multiple operations configured . PI basically picks up an unknown XML document, and has to determine which outbound interface the document belongs to.   How is that done ?  By trying to match against the XSD of the all the possible messagetypes, or ???

    / Claus

    • Hi Claus.

      It dynamically matches the header/root tag of the xml/xsd incoming message and route it to the respective operations.

      Also all the source messages defined in the operations should be unique.

      Regards,

      Hari Suseelan

  • Hi,

    Thanks for the blog, I am facing the same issue which can resolve by above post. But Operation specific receiver determination is not working in my server version 7.1 only.

    Regards,

    Manigandan