How To Use RUN_PRODUCT In Oracle Forms

Run_Product is used to run Oracle Reports (RDF/REP files) in Oracle Forms. It invokes one of the supported Oracle tools products and specifies the name of the module or module to be run. If the called product is unavailable at the time of the call, Form Builder returns a message to the end user.
If you create a parameter list and then reference it in the call to RUN_PRODUCT, the form can pass text and data parameters to the called product that represent values for command line parameters, bind or lexical references, and named queries. Parameters of type DATA_PARAMETER are pointers to record groups in Form Builder. You can pass DATA_PARAMETERs to Report Builder and Graphics Builder, but not to Form Builder.

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;

See also: 
Running Reports In Oracle Forms 10g



Using Run_Product in Oracle Forms

Reviewed by Avantika on

Mar 22

Rating: 
5
原文地址:https://www.cnblogs.com/quanweiru/p/6220156.html