cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

create multiple idoc with multiple receivers based on value mapping table

Former Member
0 Likes
775

Hi,

Scenario:

Step1 : sender sends a finance doc iin the form of an idoc. This idoc will have multiple line items based on profit center. Do determine the value of receiving comp code(header field) n receiving system(logical sys name) value mapping table has to be used.

Solution so far: I can put an rfc lookup for fetching receiving comp code from mapping table with i/p paraameter as profit center . And split the incoming idoc based on comp code value by using split by value. Now I need your advise 2 take this further.

Issue 1 : say the incoming idoc has 4 line seg wid 4 diff profit center

Profit center. Rec comp code. Recv sys

P1. C1. R1

P2. C2. R1

PS. C2. R1

P3. C3. R2

Nw using this info, I want 3 diff idocs to be created for each unique comp code.

Idoc 1 : for C1 wid one line item + 1 for reconsilation ( to be generated additionally)

Idoc2 : for C2 wid 2 line items + 1 for reconsilation

Idoc 3: for C3 wid 1 line item + 1 for reconsilation

Idoc 1 and idoc 2 shud be sent to R1.

Idoc 3 shud be sent to R2.

Kindly advise on this

View Entire Topic
Former Member
0 Likes

Hi Faria,

As far as I understood, only after you have made the RFC Lookup in your mapping, do you know to which system you should send your message. Is that correct? Or does your message always have to be delivered to each receiver system, just splitting the content? In case of the latter, use extended (conditional) receiver determination to have your message duplicated for each receiver system, and use a separate mapping for each receiver system to deliver only required items. The only problem arises if you determine a receiver in receiver determination, and then in the mapping you get to know that some particlar receiver is not interested in that particular message. You would have to cancel this message from Message Mapping, preferably without raising an error. But I'm afraid I do not know any way of achieving this.

Hope this helps,

Greg