It is probably much better to just write are RE API program to do this but the script engine does have access to the report engine. This example contains two reports. The first report entitled BurstPDF.rptdesign has one table that list customer numbers (currently it is filtered to list 3) . This table has an onCreate script in the table detail to create a runandrender task using the Report Engine API to create a individual PDFs for each detail row of the report. The detail report entitled BurstDetail.rptdesign takes the customer number parameter and displays details for the customer.<br />
<br />
The oncreate script passes the customer number to the detail report and looks like:
importPackage(Packages.org.eclipse.birt.report.engine.api);
var re = reportContext.getReportRunnable().getReportEngine();
var des = re.openReportDesign("c:/xfer/burstdetail.rptdesign");
var ntask = re.createRunAndRenderTask(des);
ntask.setParameterValue("CustomerNumber", parseInt(this.getRowData().getColumnValue(0)) );
var options = new PDFRenderOption();
var outputfile = "c:/temp/test" + this.getRowData().getColumnValue(0) + ".pdf";
options.setOutputFileName(outputfile);
options.setOutputFormat("pdf");
ntask.setRenderOption(options);
ntask.run();
ntask.close();
<br />
Be sure to change the paths.