PROGRAM ReportsAPI_UserParams; {-- *************************************************************************** -- ** Descr. : Reports API example, extracts all user parameters from a -- ** Oracle Report file. -- ** -- ** MINVERS: requires FormsAPI Master 1.0 Build 247 and up -- *************************************************************************** -- ** 27/12/03 1.001.00 Initial Creation, muellers@orcl-toolbox.com -- ***************************************************************************} VAR ps : tParamScreen; pb : tParamBoard; rpt,dmo,upo : number; BEGIN //build a simplel parameter screen ps := TParamScreen.create; pb := ps.AddBoard('Reports Parameters',picOptions); pb.addparam(parLabel,'MYLABEL','Please select the Report file you want to extract the parameters from:','',''); pb.addparam(parFileName,'MYFILE','Source','','Reports (*.rdf)|*.rdf|All Files *.*|*.*'); //show parameterscreen if ps.ShowParamScreen then begin //load the reportsfile rpt := RepAPI_LoadModule( ps.paramvalue('MYFILE') ); //get the data_model object dmo := RepGeneric_GetObjProp(rpt, d2rp_data_model); //get the first user parameters of the datamodel object upo := RepGeneric_GetObjProp(dmo, d2rp_user_param); //loop through the whole list of user parameters until //no more exists while upo<>0 do begin //output the user_parameter name logadd(RepGeneric_GetTextProp(upo,d2rp_name)); //get the next user_parameter object upo := RepGeneric_GetObjProp(upo, d2rp_next); end; //Free the Report module RepAPI_FreeModule(rpt); end else begin logadd('pressed cancelbutton on parameterscreen!'); end; //free the parameterscreen ps.free; END.