2016-01-04 54 views

回答

1

要传递的参数中的Oracle Forms报告,你应该使用paramlist,并使之通过run_report_object内置之后,你可以通过将呼叫使用web.show_document报告报告ID。你不能传递web.show_document报告运行参数,下面是例子:

pi_id := Create_parameter_list ('rep_param'); 

     Add_parameter (pi_id, 
        'PARAMFORM', 
        TEXT_PARAMETER, 
        'no'); 
     --- report object 
     --- the below report object 'cproreport' must be created in Report object navigator. 

     repid := Find_report_object ('cproreport'); 

     Set_report_object_property (repid, report_filename, Rtrim(:parameter.report_path)||preport); 
     Set_report_object_property (repid, report_server, :parameter.r_server); 
     Set_report_object_property (repid, report_execution_mode, RUNTIME); 
     Set_report_object_property (repid, report_comm_mode, SYNCHRONOUS); 
     Set_report_object_property (repid, report_destype, cache); 
     Set_report_object_property (repid, report_desformat, pformat); 

     vc_reportserverjob := Run_report_object (repid, pi_id); 

该运行web.show_document后如下:

report_job_id := 
     Substr (vc_reportserverjob, 
       Length (:parameter.r_server) + 2, 
       Length (vc_reportserverjob)); 
     v_rep_status := Report_object_status (vc_reportserverjob); 

     If v_rep_status = 'FINISHED' 
     Then 
     web.show_document (
       'http://' 
      || :parameter.host 
      || ':' 
      || :parameter.port 
      || '/reports/rwservlet/getjobid' 
      || report_job_id 
      || '?server=' 
      || :parameter.r_server, 
      '_blank' 
     );