Skip to Content

SAP PI Generating multip idocs for a single idoc in ECC

Aug 07, 2017 at 01:46 PM


avatar image

Hello SAP PI Experts,

(Kindly note this is a single stack PI system)

The Flow is as Follows.
ECC(IDOC) --> PI --> Third Party (IDOC).
Here ECC is Generating 1 Idoc however in PI there are multiple idocs which gets generated and the last message is the original idoc. However data across all the idocs is the same My question is why are these additional idocs getting generated and how to avoid them.

The only difference I see in the idocs is that the redundant idoc contain this additional field

<ARCKEY> with random <DOCNUM>(Not same as ECC) field.

Kindly suggest me what needs to be done here.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Evgeniy Kolmakov Aug 07, 2017 at 02:42 PM

Hi Lygel!

Didn't you check ALE distribution model in the source system to verify if the IDoc of given type is distributed to multiple target systems?

Regards, Evgeniy.

Show 3 Share
10 |10000 characters needed characters left characters exceeded

Hello Evgeniy,

Well I am not sure how ALE would effect this, as this is something strange .

1) When I stop the receiver channel and trigger the message, It appears as only 1 message, and goes into scheduled mode.
2) However the moment I start the receiver channel and reprocess the same message, it converts into 16 different message with the last message exactly as the IDOC from ECC and the remaining 15 with same data and a ARCKEY tag additional.

And this is really strange to me!


The presence of a value in EDIDC-ARCKEY could be an indication that the second IDoc is generated by the PI system itself as by default PI will populate the message ID in that field. Could it be that there is a circular reference in one of your message flows that would deliver the incoming IDoc to an IDoc receiver with an RFC destination pointing to your PI system?


Hello Patrick,

You were pretty close! It is now solved, it seems it had to do something about the program-id as the source and target were using the same program-id, so i believe PI was sending the same message to itself and then to the target when it would poll(This is an assumption). But changing the target Program Id solved the problem. Thanks guys :)

Lygel D'Mello