cancel
Showing results for 
Search instead for 
Did you mean: 

Idoc EDI_DC40 RCVPRN dynamic query

former_member183906
Active Contributor
0 Kudos

hi

i have soap to idoc scenario. the receiver idoc has EDI_DC40 segment. i have query for RCVPRN (receiver partner type) query.

I have 2 ECC box - XYZ & ABC . I need to send same data to both the system.So, i have same one operation mapping and one message mapping for it.

I tried to use system id udf and based on PI system id I can define any one ECC system receiver partner type(RCVPRN).

But,my requirement is RCVPRN to be different for ECC system XYZ and ABC both. how can we achieve this using same message mapping.

SAP PI system IDRCVPRN value of SAP ECC system 1 -XYZRCVPRN value of SAP ECC System 2  -ABC
DEVXYZDABCD
QUALXYZQABCQ
PRDXYZPABCP

how to get different RCVPRN value using SAP PI system ID in same mapping. the receiver business system & receiver comm channel is different for both.

I am using Apply control record from payload in receiver idoc channel. I have to use this, as its mandatory for my channel.

regards

Accepted Solutions (1)

Accepted Solutions (1)

markangelo_dihiansan
Active Contributor
0 Kudos

Hi,


I tried to use system id udf and based on PI system id I can define any one ECC system receiver partner type(RCVPRN).

But,my requirement is RCVPRN to be different for ECC system XYZ and ABC both. how can we achieve this using same message mapping.

SAP PI system IDRCVPRN value of SAP ECC system 1 -XYZRCVPRN value of SAP ECC System 2  -ABC
DEV XYZD ABCD
QUAL XYZQ ABCQ
PRD XYZP ABCP

how to get different RCVPRN value using SAP PI system ID in same mapping. the receiver business system & receiver comm channel is different for both.

You can use two interface determinations and use parameters in the operation mapping instead of using udf Or in message mapping, use the constants receiver and make your conditions to the RCVPRN field e.g

Since there would be two messages, I believe the receiver function would output two different values one for each message

Regards,

Mark

Former Member
0 Kudos

Hi

The easiest way to do this would be using parameterrized mapping concept in PI.

In the integration directory , for interface determination of ECC system ABC pass the value ABCD.

For the other interface determination of ECC system XYZ pass the value XYZD.

Let me know if you have any doubt.

Thanks,

Indrajit

markangelo_dihiansan
Active Contributor
0 Kudos

Here's a little PoC using an Idoc to Idoc scenario

ESR:

Message mapping:

Normal OM.

ID:

Receiver Det:

Interface Det:

Two receiver agreements for BC1 and BC2, type of adapter does not matter.

Testing:

Moni:

Checking BC1 mapping:

Checking BC2 mapping:

Regards,

Mark

Answers (2)

Answers (2)

apu_das2
Active Contributor
0 Kudos

Hi,

Use multi-mapping .

As you have two separate target system you have two separate IDOCs in the two different systems.

Import them in your IR, add both in the target side of message mapping using signature tab and you can send separate value as per your requirement writing simple UDF or if the value is constant then use Constant value .

Thanks,

Apu

former_member183906
Active Contributor
0 Kudos

In the target receiver ECC system i am sending one and same idoc.its actually same idoc going in 2 receiver ECC system,only RCVPRN is different.

gagandeep_batra
Active Contributor
0 Kudos

Hi ,

Why don't you create the copy of message mapping and change the fields according to System.

And for Dev,QA,Prod  you can use value mapping also

Regards

GB