Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Scheduling report in background and passing the necessary parameters

Former Member
0 Kudos

Hi all,

Using code (in a report1) ...i want to execute a report (report2) in background.....but at the same time i want to pass data (an internal table and a variable) to that report2.

is it possible to pass data like internal table to a executable report and at the same time pass the data to that report.

Thanks in advance.

Thanks and Regards,

Sushil.

4 REPLIES 4

Former Member
0 Kudos

If the parameter values are extensive then you'll probably need to persist them somewhere, at least for the time the job takes to run... without creating a custom table you could, for example, write them to a dataset that the background job could run... or use an INDX-type table as described in

http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3c2c358411d1829f0000e829fbfe/content.htm - use the "import" equivalent in the batch job to get the value back.

Try to ensure the batch job tidies up afterwards so these parameter files don't hog space (and maybe have a tidy-up program that runs once a week to be sure that any remaining "garbage" is disposed of).

Jonathan

0 Kudos

Jonathan,

you mean to say that ..... report1 will place the file on application server with all the data that is required for report2...

and after scheduling report2 in background ,...... the report 2 must read the file and then delete it,,,,,

the data is extensive,,, i want to pass on 1,00,000 records to that report ,... so passing it via a dataset,,,wont hamper performance..??

Is there any other direct way to do it,,,,,,,??

Thanks ,

Best Regards,

Sushil.

0 Kudos

Hi, Try to pass required parameters to the Report 2 from Report 1 and select the data in the report 2 itself instead of sending internal table.

Regards

0 Kudos

I think you may want to describe the requirement a bit more extensively - if you are identifying 1 million records in an online process then you probably already have a potential performance problem. If you muse on the way the data will have to get from the online program to the batch program, any method you choose will need to store the values somewhere until the background process can pick them up and thus the background job will "pause" while it re-reads the values. Perhaps the background process should be doing more of the work in the first place - alternatively, can the online process just finish the process of these 1 million rows of data?

Jonathan