Skip to Content
Author's profile photo Raj Thukiwakam

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.

 

image

 

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.

 

image

 

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.

image

 

Mapping loggic for ORDER Change  IDoc:

 

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

image

 

 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.

 

image:

Assigned Tags

      7 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Vijayashankar Konam
      Vijayashankar Konam
      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.
      VJ

      Author's profile photo Vijayashankar Konam
      Vijayashankar Konam
      Sorry. I mistook the receiver agreements for determinations. You are absolutely right there..!!

      VJ

      Author's profile photo Baskar Gopalakrishnan
      Baskar Gopalakrishnan
      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.
      Author's profile photo Raj Thukiwakam
      Raj Thukiwakam
      Blog Post Author
      Select Operation mapping,this will have IDoc's inbound side.
      Author's profile photo Baskar Gopalakrishnan
      Baskar Gopalakrishnan
      Thanks Raj
      Author's profile photo Samiullah Qureshi
      Samiullah Qureshi
      Thanks for such a nice blog Raja 🙂

      We are also using the same approch. In our case,
      we have to generate many idocs from one RN PIP.

      Author's profile photo Vikas Kumar Singh
      Vikas Kumar Singh

      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