Calling / Running a report in Oracle forms 10g / 11g
Below is the procedure to call a report in Oracle Forms 10g/11g by passing report file name with full path and report format like 'PDF', 'RTF' etc.
Procedure call_report (preport In Varchar2, pformat In Varchar2)
Is
pi_id paramlist;
repno Number;
al_id alert;
al_report Number;
User Varchar2 (25);
pass Varchar2 (25);
today Date;
store_var Varchar2 (150);
--OC
vc_reportserverjob Varchar2 (100);
report_job_id Varchar2 (100);
repid report_object;
v_rep_status Varchar2 (100);
Begin
pi_id := Get_parameter_list ('rep_param');
If Not Id_null (pi_id)
Then
Destroy_parameter_list (pi_id);
End If;
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);
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'
);
Else
Message ('error when running report' || v_rep_status);
End If;
End;
Boss need a tutorial plz
Hello,
It works fine and shows the report when I use paramform = no but when I add param=yes in REPORT_OTHER, the procedure call the report normally and displays the parameter form but on pressing its Submit query the output is as below
"I am not sending username, password in parameters"
Error 500--Internal Server Error
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.5.1 500 Internal Server Error
The server encountered an unexpected condition which prevented it from fulfilling the request.