cancel
Showing results for 
Search instead for 
Did you mean: 

IDoc interfaces overlaping

Former Member
0 Kudos

Hello every one,

Recently i have developed two Idoc to file interfaces. The first one is Idoc (INVOIC.INVOIC01) to xml file and the second one is Idoc (INVOIC.INVOIC01) to xml file. The first interface was working fine but the second interface is not working. what happening is when ever an Idoc is triggerd to test the second interface it is automatically converted into XML file.

Please any one let me know what could be the reason and what i should do to split the interfaces respectively.

Thanks

Chandrika 

Accepted Solutions (1)

Accepted Solutions (1)

udo_martens
Active Contributor
0 Kudos

Hi Chandrika,

the second one is Idoc (INVOIC.INVOIC01) to xml file

when ever an Idoc is triggerd to test the second interface it is automatically converted into XML file.

so what? Looks like everything is going right?

what i should do to split the interfaces respectively

If you like to have to different receivers put a condition to Receiver Determination.

If you just want to execute a different mapping put a condition to Interface Determination (then you need as well a different Inbound Interface)

As condition field consider EDI_DC40 / RCVPRN.

Regards,

Udo

Former Member
0 Kudos

Hi Udo,

let me make my question clear.

The two interfaces are two different interfaces. One is Idoc to xml and other is Idoc to CSV.

but when ever the IDoc is triggered from sap system only the Idoc to xml is working irrespective of what Idoc sent.

To make it more clear i will explain in detil

I want to send one Invoice to company A and the other totally different Invoice with totally different values to company B.

But whatever the invoce is sent PI is processing them to Company A.

My guess is this is happening because both are Invoce Idocs and bothe are being sent on same business system.

Please explain me how to split them to use there respective mappings.

Regards

Chandrika

but the

but when

udo_martens
Active Contributor
0 Kudos

Hi Chandrika,

you define (first executed in runtime) an receiver: Basis is here the message signature, it looks like is the same for both IDocs. So you need a condition: Take IDoc field EDI_DC40 / RCVPRN, the receivers partner number.

Then you will be able to route it to different receivers. In interface determination, where you determine the inbound interface, you have the signature AND the receiver sytem, so no problem. You can put two different mappings to the two flows. And finally, the receiver agreement, which determines the receiver channel, is dependend from inbound interface, so again no problem.

-> Only one condition in the Receiver Determination on field EDI_DC40 / RCVPRN and the sun is shining

Regards,

Udo

Former Member
0 Kudos

Hi Udo,

Thanks for your help, but i have some doubts in it.

If my underatanding is right, what you mean to say is i can use one receiver determination for both interfaces and write a condition for both interfaces to determine the receiver.

My questions might be very foolish, sorry about that..............this is just my second interface and i am stuck.

Regards

Chandrika

udo_martens
Active Contributor
0 Kudos

Hi Chandrika,

you have only ONE receiver determination. The signature for the incoming message it the same for both. Because both are INVOIC IDoc coming from same SAP system. Therefor you put 2 receivers and add a condition for both.

But you have two Inbounbound Interfaces, 2 Interface Determinations, 2 Mappings, 2 Receiver Agreements and 2 Channels.

Regards,

Udo

Former Member
0 Kudos

Hi Udo,

Thanks a ton for all your help.......................please help me finish this.

Actually i have no idea how to write conditions in Receiver Determination, so please can you be a bit breif how to determine the receiver whose partner number is 1000059635.

Is the below logic correct??????????????

INVOIC01/IDOC/EDI_DC40/RCVPRN=1000059635

Regards

Chandrika

udo_martens
Active Contributor
0 Kudos

Hi Chandrika,

yes, looks very good. Most easy is if you use the graphical condition editor - not to write the X-Path for your selv, just click it

Of course you need to test it.

Regards,

Udo

Former Member
0 Kudos

Hi UDO,

you mean the logic should be like shown below

Left Operand                                      Right Operand

INVOIC01/IDOC/EDI_DC40/RCVPRN=1000059635

                       OR

Left Operand

/INVOIC01/IDOC/EDI_DC40/RCVPRN=1000059635 EX

I am really confused please explain it bit breifly.

Is there any setting i have to do apart form that. "What is Sender Uses Virtual User" option in Receiver Determination.

Regards

Chandrika

udo_martens
Active Contributor
0 Kudos

Hi Chandrika,

just read: http://help.sap.com/saphelp_nw2004s/helpdata/en/67/49767669963545a071a190b77a9a23/content.htm

You need two receivers. Each is getting a condition with operator '=', no 'EX', no 'OR'. You are starting to ask trivial questions.

Regards,

Udo

Former Member
0 Kudos

Hi UDO,

Sorry for asking dumb questions, but i was really confused.

The problem is when i am trying to create 2nd Receiver determination it is sayin the object already exist. May this is because i am using same business system and Invoice for sender.

is there any other way around for this.

Please dont mind if i am asking stupid questions I am very new to PI without any help around.

Regards

Chandrika

udo_martens
Active Contributor
0 Kudos

ONE Receiver Determination! add another receiver (a second line) to the existing

Answers (1)

Answers (1)

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

>>>>what happening is when ever an Idoc is triggerd to test the second interface it is automatically converted into XML file.

if both of them are IDOC - XML then were's the issue ?

it you want to split interfaces - you need to set up conditions in the receiver determination on PI

on the basis of the IDOC content (either IDOC control segment or data segment)

Regards,

Michal Krawczyk

Former Member
0 Kudos

Hi Nichal,

I think you got it wrong, my bad.

The first one is IDoc to xml and the second one is IDoc to csv they are two different interfaces with to receivers.