2010 Nov 08 6:51 AM
Hi All,
I will be calling Program RBDAPP01 within my custom program to process all the IDocs with status 64 of basic type ISU_MR_UPLOAD.
I have few questions regarding it:
1. Do i need to Submit program for each Idoc as below
SUBMIT rbdapp01 VIA JOB g_jobname
NUMBER g_jobcount
WITH docnum = t_edidc-docnum
AND RETURN.
or i can Submit the program for all the Idoc at once. But i thnk there is some check that if the number of Idocs is more than 100.
Can any please help me with this?
2. As i am calling this program within my custom program, is there any way i can get the Status of the Idoc that have been processed afer submitting the program. Like an output list of the program RBDAPP01. (The other way i know is to get the status of all the IDocs from EDIDC table)
Thanks
2010 Nov 08 9:35 AM
Hi,
To answer your questions,
1. You can submit program RBDAPP01 with several IDOCs, for this you'll have to use options USING SELECTION-SET <var> or WITH <sel> <criterion>. See more information in the following sap help link:
http://help.sap.com/saphelp_nw04/helpdata/en/9f/dba51a35c111d1829f0000e829fbfe/content.htm
2. Use option AND RETURN in your SUBMIT and then retrieve the IDOC statuses from EDIDC table. This is better than getting the output from program RBDAPP01.
Hope this helps.
Cheers.
2010 Nov 16 3:28 PM
Hi David,
Thanks for your reply that was helpful.
Right now i am executing the program in parallel mode and exporting list to memory and getting the status of Idoc.
But i wanted to know your views on this as you had prefered gettting the status from EDIDC table.
Which way it is efficient?
Will there be any issues in case of large volumes? (exporting to memory)
Thanks
2010 Nov 17 2:10 PM
Hi,
No worries. To answer your latest questions: it really depends on the volume of IDocs you are working with.
If you're talking about hundreds then you should be fine with exporting the list to memory and then retrieve the list from there.
If you're talking about a bigger number, I'd consider querying table EDIDC using a database cursor:
OPEN CURSOR zcursornmae FOR DB QUERY
and then fech the entries using the cursor and defining a PACKAGE SIZE of around 500 (this is just a suggested number).
By doing this, you'll avoid retrieving say 1 million entries at once.
Cheers.