2016-01-04 3 views

ответ

1

Чтобы передать параметры, чтобы сообщить в Oracle Forms, следует использовать paramlist и передать его через run_report_object встроенный и после этого вы можете вызвать отчет, используя web.show_document путем пропускания идентификатор отчета. Вы не можете передать параметры во время выполнения отчета в 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' 
     );