Skip to Content
Author's profile photo Former Member

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

Assigned Tags

      11 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      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

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Rajesh,

      Sure I will edit and post it once again. Thanks for info.

      Regards,

      Hari Suseelan

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Rajesh,

      I have uploaded new images.If in case, you are not able to view the image. I request you to double click the images. Please check and let me know. Thanks.

      Regards,

      Hari Suseelan

      Author's profile photo Former Member
      Former Member

      looks better now thanks..

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Ragesh,

      You are Welcome. Thank for informing me.

      Regards,

      Hari Suseelan

      Author's profile photo Claus Fonager Gosmer
      Claus Fonager Gosmer

      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

      Author's profile photo Former Member
      Former Member

      Good Post! Its very useful to integrate interfaces.

      Author's profile photo Claus Fonager Gosmer
      Claus Fonager Gosmer

      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

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      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

      Author's profile photo Manigandan Ramasamy
      Manigandan Ramasamy

      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

      Author's profile photo Manigandan Ramasamy
      Manigandan Ramasamy

      HI,

      I passed these values as HTTP header through dynamic configurations.

      Regards,

      Manigandan