2012-04-13 8 views
0

Ich kann Bericht erfolgreich aufrufen, aber ich bekomme nicht die Ausgabe des Berichts. reoprt muss PDF generieren. repport kann kein PDF erzeugen. Code istBericht funktioniert, kann aber keine Ausgabe des Berichts

DECLARE 
rept REPORT_OBJECT; 
v_rep VARCHAR2(100); 
rep_status varchar2(200); 
BEGIN 

rept := find_report_object('EMP.RDF'); 

SET_REPORT_OBJECT_PROPERTY(rept ,REPORT_SERVER , 'repsrv'); 
SET_REPORT_OBJECT_PROPERTY(rept,REPORT_DESTYPE,CACHE); 
SET_REPORT_OBJECT_PROPERTY(rept,REPORT_DESFORMAT,' HTML'); 


v_rep := RUN_REPORT_OBJECT(rept); 
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 
message('REPORT WAS CORRECTLY RUN'); 
ELSE 
message('REPORT FAILED WITH STATUS: '||rep_status); 
END IF; 
END; 

mich plss

helfen

Antwort

1

Zwei Dinge, die Sie

1) die find_report_object sollte den Namen des Berichts Sie in Formular-Builder erstellt suchen müssen

2) Sie müssen Verwenden Sie

SET_REPORT_OBJECT_PROPERTY(rept, REPORT_FILENAME, 'C:\EMP.RDF'); 

wo C: \ EMP.RDF ist t er Pfad, in dem der Bericht erstellt werden soll

Für komplettes Beispiel, dies zu tun und Test bitte einen Blick auf den untenstehenden Link

https://forums.oracle.com/forums/thread.jspa?threadID=2238519

1

Sie web.show_document nutzen wollen müssen den Ausgang des bekommen Bericht. Zum Beispiel:

web.show_document('/reports/rwservlet/getjobid' || substr(v_rep,length('repsrv')+2) || '?server=' || 'repsrv','_blank'); 

Oder verwenden Sie die eingebaute copy_report_object_output() die Ausgabe in eine Datei zu kopieren:

copy_report_object_output(v_rep, 'c:\myreport.pdf'); 

Auch, wenn Sie PDF-Ausgabe wollen müssen Sie Ihre desformat Parameter ändern:

SET_REPORT_OBJECT_PROPERTY(rept,REPORT_DESFORMAT,'PDF'); 
+0

vielen Dank es funktionierte –

+0

@ GirishRacharya- Dann warum markieren Sie es nicht als Antwort? http://stackoverflow.com/faq#howtoask –

Verwandte Themen