Report Status
401908Jan 27 2004 — edited Aug 20 2004Hi,
i am trying to call a report from forms9i.
the problem is report_object_status returns null.
here is the code
--------------------------------------
declare
pl_id ParamList;
locationName varchar2(100);
loc_code number;
report_id REPORT_OBJECT;
report_server_job varchar2(100);
vjob_id varchar2(100);
report_status varchar2(100);
BEGIN
pl_id := Get_Parameter_List('tmpdata');
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 Location Parameters
*/
ADD_PARAMETER(PL_ID,'USER_ID', TEXT_PARAMETER,:CONTROL.VUSER);
Add_Parameter(pl_id,'USERLOCNAME', TEXT_PARAMETER, locationName);
/*
ADD Report Parameters
*/
ADD_PARAM(pl_id);
/*
Run the report synchronously, passing the parameter list
*/
Report_id := Find_report_object('R003');
SET_REPORT_OBJECT_PROPERTY(Report_Id,REPORT_DESFORMAT,'PDF');
set_report_object_property(Report_id,REPORT_COMM_MODE,SYNCHRONOUS);
set_report_object_property(Report_id,REPORT_SERVER,'test');
report_server_job := RUN_REPORT_OBJECT(Report_id,pl_id);
vjob_id := substr( report_server_job,length('test')+2,length(report_server_job));
report_status := report_object_status(report_server_job);
WHILE Report_Status IN ('RUNNING','OPENING_REPORT','ENQUEUED') LOOP
Report_Status := REPORT_OBJECT_STATUS(report_server_job);
END LOOP;
if report_status = 'FINISHED' then
web.show_document('http://mujtaba1:8889/reports/rwservlet/getjobid'||vjob_id||'?server=test');
else
set_alert('Report failed with Error Message'||report_status ,'Error!');
end if;
END;