cancel
Showing results for 
Search instead for 
Did you mean: 

collecting (same) idocs

Former Member
0 Kudos

Gurus,

I need to collect (same type TPSDLS01) idocs hence thought /people/stefan.grube/blog/2006/09/18/collecting-idocs-without-using-bpm approach would suit me.

Now my questions are:

a) i have max idocs set as 10, i have generated 7 idocs so far (all with status 30) but i stil see '.xml' file for each idoc in AL11. Shouldnt there be none, until the 10th idoc is generated ? then later i get to see one xml file with all those 10 idocs.

b) I dont want to restrict by number of idocs or time. My scenario is with VT61 where i can process bunch of deliveries (varies each time) if say first instance i did 3 deliveries with VT61 i want all these 3 idocs to be collected in one file and sent to XI. Later when user process say 6delivieries, all 6 should be collected in a single file and sent to XI rightaway. Thereby making it close to realtime......

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

b) I dont want to restrict by number of idocs or time. My scenario is with VT61 where i can process bunch of deliveries (varies each time) if say first instance i did 3 deliveries with VT61 i want all these 3 idocs to be collected in one file and sent to XI. Later when user process say 6delivieries, all 6 should be collected in a single file and sent to XI rightaway. Thereby making it close to realtime......

I dun think there is a way out. There has to be some condition to determine number of idocs to be collected. Is there any way to dynamically ascertain number of idocs to be pushed at runtime?? I haven't come accross it till now.

Would make a gud blog if you can acheive it ;)..

<b>Cheers,

*RAJ*</b>

Former Member
0 Kudos

hey

>>a) i have max idocs set as 10, i have generated 7 idocs so far

i guess u have scheduled the report RSEOUT00 to be executed in some time frame(may be 5 mins or some other value) and due to that IDOC's are collected.

>>Thereby making it close to realtime......

for realtime u can either schedule the report RESOUT00 to execute in a small time frame(may be 1 min or so) or u can follow the other approach of using BPM.

thanx

Aamir

Former Member
0 Kudos

I have scheduled the report RSEOUT00 for 2min now, let me check get back to you.

Former Member
0 Kudos

i re-created few idocs, all are in status 30, but the file in al11 is empty

Former Member
0 Kudos

Ramchan,

Can you copy paste parameters you are using to run background job for rseout00..

Make sure that you set correct filter critria..like Basic Type, Port of Recipient ( make sure this is of type XML Port...you if set this as TRFC then there wont be ne file..logical message type..n so on... while running RSEOUT00.

Also in partner profile set Collect idocs.

Also if you want to collect all idocs then you should increase a job length for RSEOUT00...if you decrease then it will send collected idocs for that particular small period.

Let us know if you need more details.

Nilesh

Former Member
0 Kudos

Nilesh,

XML File

port = IDOC_FILE

XML format = unicode

directory = /usr/sap/D02/SYS/global/

FM= EDI_PATH_CREATE_MESTYP_DOCNUM

Partner function is set to 'collect idocs'.

Following are the values of my variant for program RSEOUT00

Basic Type = TPSDLS01

Send completely = Y

Port of Receiver = IDOC_FILE (xml port)

max no of Idoc = 10

On background job, i had set the program with my variant. Start condition is set immediate, periodic job for 2 mins.

Also, i now see that the empty file that got created yesterday on testing is getting overwritten for all new idocs i generate, still empty though.

Former Member
0 Kudos

Ramchan,

I think you are confused with parameter

max no of Idoc = 10...

this parameters is just for max number of idoc in a bunch sap will process before running commit work...has nothing to do with creation of files...

Eventhough if you create 5 idocs and run with same condition it will create a one file with 5 idocs..( it will not wait for 10 idocs to received)..

Whenever you run this report RSEOUT00, it will create a file for all available idocs for processing..look at this desciption...

Data element for number_IDoc

Use

When several IDocs are transferred to a port via report program RSEOUT00 you can enter here the maximum number of IDocs that should be transferred before a COMMIT WORK is set and the IDocs become blocked.

If too high a number is selected, it can lead to runtime errors (for example Timeouts). In this case, you must choose a lower value.

SAP cannot specify an exact value as IDoc size and system configuration can vary greatly from customer to customer.

Dependencies

The parameter therefore only has a meaning if you have set the output mode to collect IDocs in at least one outbound partner profile. Only then can you receive several outbound IDocs, which you can transfer to the port via RSEOUT00.

Hope this will clear your doubt.

Nilesh

Former Member
0 Kudos

Got the point.

Right now i have scheduled RSEOUT00 to run for every 2min. It tends to update an empty xml file every 2 mins. none of my idocs are written to the file though.

A) All the 5 idocs i generated are still in status 30, the xml file is blank as well. the scheduled program keeps running with no idocs to process after that

B) can we not restrict the program to write a empty file, if theres no idoc to process ?

Former Member
0 Kudos

This is strange...if i m not wrong it wll not create any file if there is no idoc for selection.

Can you do one thing delete your job " RSEOUT00"..create some idoc and run RSEOUT00 using SE38 manually with same parameters..check if it is generating file with data..

If so then reschedule your job with FM "EDI_PATH_CREATE_DATE_TIME" and check if it is creating multiple files with data... and then empty files..

Let us know the result.

Nilesh

Former Member
0 Kudos

i deleted my job. created about 7 idocs and ran RSEOUT00 manually with same variant, it generated file with FM "EDI_PATH_CREATE_DATE_TIME, which was not empty, but had only the last 2 idocs on it though.

Former Member
0 Kudos

Just check if there is ne other job running with report RSEOUT00...

How about idoc status? they all are green now?

Nilesh

Former Member
0 Kudos

Nope, there aint ne other job with that report.

All 7 idocs turned green, thought only last 2 got collected.

would it help if i have an event at the end of my transaction on vt61 to trigger the RSEOUT00 to collect all idocs generated(status 30)?

Former Member
0 Kudos

Sounds goood....go ahead and give a shot...

Let us know the result...

But something is really wrong with system...if it is not generating file with all idocs...can you send me generated file?

email id : kshirsagar_nilesh@yahoo.co.in

Nilesh

Message was edited by:

Nilesh Kshirsagar

Message was edited by:

Nilesh Kshirsagar

Former Member
0 Kudos

Nilesh,

Had mailed you, any luck ?

Former Member
0 Kudos

Hi,

File seems to be okay...

Now only way to check if debug your code.

Before that we will go step by step..

1. Create 5 Idocs

2. Check the status of all idocs...all should be in Yellow status..Note down all idoc number.

3. Now run program RSEOUT00 in debug mode...check where it is filtering remaining idocs..

Nilesh

Nilesh