cancel
Showing results for 
Search instead for 
Did you mean: 

collect Delivery idocs

Former Member
0 Kudos

Hi,

I have a requirement where I need to collect several Delivery IDocs into one single XML file.

Select Delivery IDocs where following fields have the same values:

E1EDT13-NTEND

E1ADRM1-PARTNER_ID

E1EDL26-KVGR3

E1EDL20-VSBED

Can i use the BpmPatternCollectPayload pattern to achieve the same.

Please suggest

Varun

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Varun,

Yes you can use the pattern.

One thought, Have you decided about your end condition?

- If you have an IDoc (different structure frm others) which will be triggered at last then u can use BpmPatternCollectMessage pattern.

- If you have a fixed number of IDocs then go for BpmPatternCollectPayload pattern.

In both scenarios, make sure to create a multiline container element, which u ll be using to append the collected Idocs.

for ex:

c1 of type Idoc

c2 of type Idoc with multiline box checked

Cheers,

Souvik

Answers (6)

Answers (6)

varun_k
Contributor
0 Kudos

Custom code was written in ECC side to collect the idocs based on the condition specified and is sent to XI for further processing

varun_k
Contributor
0 Kudos

Hi,

Thanks everyone for your reply.

If I use File XML port at SAP

then It will be File to File Scenario.

The source structure contains all the IDocs collected as a single message.what will be the source structure then ?

Since I have only one Idoc Type, are these IDocs collected based on the specified four Fields at SAP ?

Do I need to Split the Whole Source xml structure in XI based on these four fields to generate a single XML file

Any changes in the ID Configuration?

Thanks,

Varun

KennethEriksen
Participant
0 Kudos

Hi Varun,

Your source structure of your mapping will be your delivery IDoc (DESADV.DELVRY07?). Even though the schema for this IDoc says node Idoc - occurence 1..1 it actually allows you to receive a message containing several Idoc-segments. Your incoming message could look like:

DELVRY07
 - IDOC
   - EDI_DC40
   - E1EDL20
   - ...
 - IDOC
   - EDI_DC40
   - E1EDL20
 - ...further Idocs

This way you can create your collect-function in the message mapping, by keeping only the Idocs that match your criteria for your 4 specified fields. The message from ECC will contain all Idocs, no matter the values of the 4 fields, but you now have all the Idocs available in one message and can bundle/filter them in the mapping.

The ID configuration stays the same as before.

Hope this helps.

Br,

Kenneth

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>>Can i use the BpmPatternCollectPayload pattern to achieve the same.

You dont need BPM in this case. Use Michal's blog 4th option. Using HTTP destination in SM 59 and creating HTTP port type in WE21 and it has more advantage than using file port to send idoc from ECC.

Refer this [link|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/30ea2fdf-f047-2a10-d3a2-955a634bde6b]

Former Member
0 Kudos

Hi varun,

Have a look in to this blog from Michal, 5 possible ways to collect Idocs with pros and cons.

/people/michal.krawczyk2/blog/2009/05/21/xipi-collecting-idocs--possible-ways-with-pros-and-cons--5-ways

Regards,

Francis

KennethEriksen
Participant
0 Kudos

Hi,

You can solve this without BPM. Send your idocs from ECC using a HTTP XML-port instead of RFC, and configure your partner profile to collect the idocs. When you process the created Idocs using program RSEOUT00 they will be received in PI as one message (one LUW) containing multiple IDoc-segments, each representing 1 Idoc from ECC. Then you can filter/collect/combine the individual Idocs as you please in the message mapping as you have them all available.

Br,

Kenneth

Former Member
0 Kudos

Hi Varun,

I think you can achieve this without the use of an BPM process by selecting the context at the Idoc level and mention the logic accordingly to the delivery segments that you need to collect.

Regards,

Sainath chutke