cancel
Showing results for 
Search instead for 
Did you mean: 

Collect Idoc

Former Member
0 Kudos

Hi,

My scenario is to collect the idoc and write it to a file

R/3 (idoc) --> XI --> File

i have used BPM for this and my steps are as follows.

created Abstract Message type for Idoc and File receiver

created message mapping

1. single Idoc to multiple idoc

2. maping to map the multiple idoc to a file(ABAP Mapping)

My issue is idoc are not collected i receive only one idoc in the file.

let me know if iam missing some thing.

but when i debigged in Workflow the input message was 2 but the output message showed only one message.

thankx,

Shree

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

This blog can give an idea bat how to collect multiple idocs in a bpm:

/people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm

Regards

Priyanka

Former Member
0 Kudos

How does the IDOC 1:1 multi mapping look like? I think there is a limitation in the message mapping not to create the source IDOC message unbounded. Does anyone have any documentation on this?

Thanks,

Phil

Former Member
0 Kudos

Hi Philipp,

You will be importing an IDoc from R/3 and using it for your message mapping,inthis case you cannot specify the Idoc with Type <b>UNBOUNDED</b>.IF you want to do that you have to create a datatype similar to your Idoc in IR.But this will be a very big process instead you can import the XSD of that Idoc into your IR with specifying the Type and USe in your XSD.

If needed i can send a sample of XSD.

Cheers,

Prashanth K.R,

Former Member
0 Kudos

No need to change XSD.

In your message mapping go to the messages Tab (next to the test tab) and change the occurence the of Idoc message to 0 to unboundeded.

Now you are mapping N IDoc message (source) to single File message(target). Create Interface mapping, using these message types and change the occurence of the Idoc message Interface to 0 to unbounded, the occurence of File Message interface is 1.

Use this interface mapping in transformation step after collecting the IDocs. Since you are collecting multiple Idocs in multiline container you need N:1 (NIdoc to 1 file) mapping.

Hope i have not confused you.

cheers,

Satish

MichalKrawczyk
Active Contributor
0 Kudos
Former Member
0 Kudos

Hi Mike,

I have tried this and i don't have any branches of messages i have only one type of Idoc coming in .. so i din't use fork.

but i see no collected message in BPM.

Thankx,

Sree

Former Member
0 Kudos

Hi Shree,

U can check with the BPM Collect pattern BpmPatternCollectTime sample scenario in SAP Basis Sofware Component.

In your scenario, you'll have to do a 1:1 mapping(idoc type to abstract of idoc type. This abstract message interface will be the base type for your multiline container) outside BPM which does the appending of your idocs into the container in BPM.

In the example given above, there is a transformation stepin which you will have to do a N:1 mapping(<u><b>depending on the complexity of the structure decide your mapping accordingly</b></u>) and this will club all your idocs into a single file.

Cheers

JK

Former Member
0 Kudos

You dont need first Interface mapping (mapping program) if the message type going to BPM is same as of sender , Just collect the Idocs in Multiline container and Do as suggested by JK.

N:1 multimapping and send step.

Cheers,

Satish