cancel
Showing results for 
Search instead for 
Did you mean: 

one sender to many receivers integration scenario

AntonioSanz
Active Participant
0 Kudos

Hi all,

I want to ask if it is possible in PI build the next integration scenario: one IDOC to several Receivers (FTP, email, ...) and each receiver has their own format, so I need a specific mapping for each one.

For instance:

IDOC --> mapping 1 --> interface 1 --> FTP

          --> mapping 2 --> interface 2 --> FTP

          --> mapping 3 --> interface 3 --> Mail

          ........

The IDOC contains same information but for different customers (there is a key field I can use in the mapping to filter the data for each customer), and each customer has it own format.

I would like to ask if, for instance, the IDOC contains only information for 2 customers, (mapping 1 and mapping 2 applies, but mapping 3 does nothing), will SAP PI send a "empty" file to the customer via Mail adapter?

Thanks a lot.   

Accepted Solutions (1)

Accepted Solutions (1)

former_member184681
Active Contributor
0 Kudos

Hi Antonio,

You have two options here, depending on whether you want to define separate receiver systems for each message receiver:

1. With separate receiver systems: use conditions in Receiver Determination for such scenario. Define a separate Interface Determination for each one (where you assign the required mapping), the rest goes normally.

2. With the same receiver system, but different receiver Service Interfaces: use one Receiver Determination, then conditions in Interface Determination. Assign a separate mapping to each condition, then of course separate receiver communication channels and so on.

>>> will SAP PI send a "empty" file to the customer via Mail adapter

With the design I described above - the answer is no (because mapping for this receiver is not executed, and nothing is sent to this system, as the message did not match the condition in RD/ID). If your requirement is to send an empty e-mail however, you would have to go for a little bit different design.

Hope this helps,
Greg

AntonioSanz
Active Participant
0 Kudos

Thanks. But i still have some doubts. My IDOC is like this

<IDOC>

<CUSTOMER>

<ID>123</ID>

...

</CUSTOMER>

<CUSTOMER>

<ID>456</ID>

...

</CUSTOMER>

</IDOC>

If i use

1. With separate receiver systems: use conditions in Receiver Determination for such scenario. Define a separate Interface Determination for each one (where you assign the required mapping), the rest goes normally.

I will set a condition like ID = 123 and another condition ID = 456, and for instance for my third system ID= 789.

will the full IDOC sent to Interface Determination 1 and Interface Determination 2? (And no one will be sent to Interface Determination 3?) Or just the "tags"

<CUSTOMER>

<ID>123</ID>

...

</CUSTOMER>

for each?

Thanks

former_member184681
Active Contributor
0 Kudos

With "standard" receiver determination, you will get the whole message in each mapping (and then each receiver system, unless you filter it out in the mapping). If you want to split the content between receiver systems, you can use Extended Receiver Determination, as described for instance here:

http://www.saptechnical.com/Tutorials/XI/RecvDetermination/Enhancement.htm

Hope this helps,
Greg

iaki_vila
Active Contributor
0 Kudos

Have you thought to use an enhanced receiver determintation?

You could determine which receiver is going to be used.

You can see this how-to http://wiki.sdn.sap.com/wiki/display/SI/Step+by+Step+guide+to+Explain++Enhanced+Receiver+Determinati...

Regards

Former Member
0 Kudos

configure conditional receiver determination.

provide conditions for determining receiving systems by comparing ID is equal to 123, 456, 789 as in your example.

then if IDOC has only 123 and 456, then 123 and 456 will be invoked and 789 will not be invoked. so outputs for 123 and 456 will generate and transmitted to target systems and 789 will not run without any error for 789 case as it was  not invoked.

Answers (1)

Answers (1)

rajasekhar_reddy14
Active Contributor
0 Kudos

If you are not going to maintain any condition in Receiver determination then yes you send empty file(dummy file) as a email.

otherwise refer Greg detailed response.