You are missing the parameter list parameter. There are 7 inputs into run_product and you have only 6.
declare
pl_id paramList;
begin
...
Run_Product(REPORTS, 'empreport', SYNCHRONOUS, RUNTIME,
FILESYSTEM, pl_id, NULL);
....
end;
would be a valid call to run_product.
Here is the full example:
/*
** Built-in: RUN_PRODUCT
** Example: Call a Report Builder report, passing the
** data in record group 'EMP_RECS' to substitute
** for the report's query named 'EMP_QUERY'.
** Presumes the Emp_Recs record group already
** exists and has the same column/data type
** structure as the report's Emp_Query query.
*/
PROCEDURE Run_Emp_Report IS
pl_id ParamList;
BEGIN
/*
** Check to see if the 'tmpdata' parameter list exists.
*/
pl_id := Get_Parameter_List('tmpdata');
/*
** If it does, then delete it before we create it again in
** case it contains parameters that are not useful for our
** purposes here.
*/
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
/*
** Create the 'tmpdata' parameter list afresh.
*/
pl_id := Create_Parameter_List('tmpdata');
/*
** Add a data parameter to this parameter list that will
** establish the relationship between the named query
** 'EMP_QUERY' in the report, and the record group named
** 'EMP_RECS' in the form.
*/
Add_Parameter(pl_id,'EMP_QUERY',DATA_PARAMETER,'EMP_RECS');
/*
**Pass a Parameter into PARAMFORM so that a parameter dialog will not appear
**for the parameters being passing in.
*/
Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');
/*
** Run the report synchronously, passing the parameter list
*/
Run_Product(REPORTS, 'empreport', SYNCHRONOUS, RUNTIME,
FILESYSTEM, pl_id, NULL);
END;
Thanks
--
Thomas Kyte asktom_us@oracle.com
Reston VA
</code>
http://asktom.oracle.com/magazine-archive.htm <code>