Skip to Content

Multi-Mapping without BPM for IDoc Scenarios- Yes, it’s possible!..!!!

Recently I had worked on one requirement where I need to send different IDoc’s to ECC based on RFC lookup value, if RFC look up returns the delivery number ,then I need to send ORDERS CREATE IDoc, if no delivery number then ORDERS CHANGE IDoc to ECC.



I thought of developing this requirement using multi mapping , it avoids using BPM, but unfortunately multi mapping concept not supported by IDoc and HTTP Adapters,

Then alternative is implementing using BPM.


I tried different ways to achieve this requirement without BPM; finally I found the best solution as follows.


Use Case1:

If you want to send different IDoc’s to SAP ECC based on some condition check (source data), in this case you don’t required to develop individual mapping’s, use below approach it will work, and no need to write any conditions in Interface determination, write it in operation mapping.


Use Case2:

If you want to send multiple different IDoc’s to SAP ECC based on some look up value.


Use Case3:

If you want to send different IDoc’s to SAP ECC at same time.


1)Import IDocs from SAP ECC system in to PI using imported objects and export it as a XSD; Change the occurrence of IDoc segment to  1 to Unbounded.




2) Then create a message mapping between source and Target, add two IDocs External definitions (ED_ORDERS_Orders05, ED_ORDCHG_ORDERS05) in Target side, change occurrence of external definitions to 0 to unbounded in signature tab.




Perform RFC Lookup.

Refer below blog for how to perform lookups graphically in PI7.1

SAP PI 7.1 Mapping Enhancements Series: Graphical Support for JDBC and RFC Lookups


3)Mapping loggic for ORDER Create IDoc:

Here I am passing EVENT as a input to the RFC ,it retrieves the delivery number from SAP,if there is delivery number available for this event then I want to send Order Create IDoc to SAP.



Mapping loggic for ORDER Change  IDoc:


If there is no delivery number for EVENT then I want to send Order Change IDoc to SAP.



 4) Operation Mapping:

 Add outbound service interface in source and imported IDocs in Target, change occurrence of IDocs to 0 to Unbounded.


Integration Directory:


Create one Sender Agreement and two receiver agreements.

Number of receiver agrements depend on Number of Different IDoc’s you want to send it to ECC.

Create one Interface determination and one Receiver determination.


SXMB_MONI result:

Two IDocs posted succesfully ,check in WE02 in ECC to see the status of IDoc’s posting.



You must be Logged on to comment or reply to a post.
  • Raj,
    Thats a good blog. This is not multi mapping but Split mapping. Multi mapping involves multiple source messages, which mandates BPM.

    Also, in the directory, you have to create one interface determination with multiple inbound interfaces. In this case, those are your create and change IDocs. Since you are sending these messages to the same receiver, creating two receiver determinations does not fit in.

    Just FYI.

  • Very Nice Blog. Great Work... I want to see many more blogs like this. I have one question. How do I specify several inbound idocs as target interfaces in the interface determination? Could add screenshot for this? This might be helpful.
  • Hi,

    I have similar scenario , but i have 2 idocs to go to different receivers.

    I have applied enhanced/extended receiver determination. But as I am not using one inbound interface with 2 operations but using 2 idocs in operation mapping it will generate 4 messages at runtime..

    Please help