You could do it this way:
-Create a REPORT object in your form (object navigator)
-Call the RUN_REPORT_OBJECT built-in procedure
-Show the rerport using web.show_document
Here’s an example (assumming that the report object was already created):
<pre>declare
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
rep_status VARCHAR2(20);
BEGIN
repid := FIND_REPORT_OBJECT(‘REPORT1’);
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_server, ‘repsrv’);
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_DESFORMAT, ‘HTML’);
<b>v_rep := RUN_REPORT_OBJECT(repid);</b>
rep_status := REPORT_OBJECT_STATUS(v_rep);
WHILE rep_status in (‘RUNNING’,’OPENING_REPORT’,’ENQUEUED’)
LOOP
rep_status := report_object_status(v_rep);
END LOOP;
IF rep_status = ‘FINISHED’ THEN
/*Display report*/
<b>WEB.Show_Document</b>(‘/reports/rwservlet/getjobid’ ||substr(v_rep,instr(v_rep,’_’,-1)+1)|| ‘?destype=cache&desformat=pdf/html&server=’ || ‘repsrv’, ‘_blank’);
ELSE
message(‘Error…’);
END IF;
END;</pre>
Discuss This Question: 6  Replies