Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

PDF Erstellung mit APEX - eine kostenlose Alternative Dietmar Aust Opal-Consulting, Köln 1. Dezember 2008 21. Deutsche Oracle Anwenderkonferenz.

Ähnliche Präsentationen


Präsentation zum Thema: "PDF Erstellung mit APEX - eine kostenlose Alternative Dietmar Aust Opal-Consulting, Köln 1. Dezember 2008 21. Deutsche Oracle Anwenderkonferenz."—  Präsentation transkript:

1 PDF Erstellung mit APEX - eine kostenlose Alternative Dietmar Aust Opal-Consulting, Köln 1. Dezember Deutsche Oracle Anwenderkonferenz

2 Seite 1 PDF Erstellung mit APEX Dietmar Aust Agenda Vorstellung Opal-Consulting PDF-Erstellung mit APEX Berichterstellung mit JasperReports Integration als externer Bericht Integration über XML Feed Fazit

3 Seite 2 PDF Erstellung mit APEX Dietmar Aust Vorstellung Opal-Consulting Dipl.-Inform. Dietmar Aust, Freelance Consultant : Consultant bei der Oracle Deutschland GmbH / Düsseldorf Schwerpunkte: Oracle Portal, Oracle Reports, Oracle Forms, PL/SQL, PLSQL Web Toolkit (OWA) Seit 09/2000: Freiberuflich Schwerpunkte: Oracle Portal, Oracle Reports, Oracle Application Express, Oracle Express Edition Seit Nov ausschließlich APEX Entwicklung Aktivitäten (APEX) (XE)

4 Seite 3 PDF Erstellung mit APEX Dietmar Aust PDF–Erstellung mit APEX Die Problemstellung Wozu PDF Berichte? Druckfähig / pixelperfektes Layout Standard – Berichtswesen Formulare, Rechnungen, Angebote Möglichkeiten der PDF – Erstellung mit APEX Unterstützung seit 3.0 Standard Support Apache FOP (nur PDF) Cocoon (PDF und RTF) Erweiterter Support Erfordert den BI-Publisher von Oracle ! Custom Solutions Beliebige Reporting Engine anbinden (URL-interface) Z.B. Oracle Reports, Crystal Reports, JasperReports, BIRT, etc…

5 Seite 4 PDF Erstellung mit APEX Dietmar Aust PDF–Erstellung mit APEX Standard-Integration - Berichtsregion Alternativen 1. XSL/FO Transformation mit FOP (nur PDF) 2. Cocoon (PDF + RTF) Definition: Auf dem Bericht Eigene Berichtslayouts mit XSLT spezifizieren Alternativen 1. XSL/FO Transformation mit FOP (nur PDF) 2. Cocoon (PDF + RTF) Definition: Auf dem Bericht Eigene Berichtslayouts mit XSLT spezifizieren APEX Client Apache / mod_plsql J2EE / Tomcat 2 1

6 Seite 5 PDF Erstellung mit APEX Dietmar Aust PDF–Erstellung mit APEX Standard-Integration Ablauf 1: Link ruft APEX Funktion auf 2: APEX ermittelt XSL des Layouts und das XML des Berichts 3: APEX macht Post an J2EE Server, übermittelt die Berichtsdefinition zusammen mit den Daten APEX Client Apache / mod_plsql J2EE / Tomcat 2 1

7 Seite 6 PDF Erstellung mit APEX Dietmar Aust PDF–Erstellung mit APEX Erweiterte Integration mit dem BI-Publisher Optionen Berichtsabfragen definieren (Alle Items der Applikation, multiple Abfragen integrieren) Eigene Berichtslayouts mit MS Word gestalten Ausgabe in RTF und Excel Was bedeutet das? Lizenz für den BI-Publisher Sehr mächtige Integration Langfristig evtl. Option, insbesondere wenn die Fachabteilungen viele Berichte in Word / Excel haben Einbindung von Power Usern Installation express/html/configure_printing.html express/html/configure_printing.html

8 Seite 7 PDF Erstellung mit APEX Dietmar Aust PDF–Erstellung mit APEX Konfiguration: /pls/apex/apex_admin (Instanz-Administration) Home>Service verwalten>Instance-Einstellungen

9 Seite 8 PDF Erstellung mit APEX Dietmar Aust PDF–Erstellung mit APEX Custom Integration Beliebige Reporting Engines JasperReports Oracle Reports … beliebige, die aufgerufen werden über: URL Betriebssystem-Aufrufe … (external procedure calls) http-Tunnel für beliebige Dateien Wie? Tunnel mit utl_http, Berücksichtigung des MimeTypes Wozu? => Security (nur wenige Ports) und Autorisierung (wer darf was)? APEX Client Apache / mod_plsql J2EE / Tomcat Berichtsdefinitionen Daten aus Oracle mit JDBC 2 1 3

10 Seite 9 PDF Erstellung mit APEX Dietmar Aust JasperReports Übersicht JasperReports sehr beliebte Reporting Engine Java Bibliothek, um Reporting in Applikationen zu integrieren Standard im JBOSS Viele Projekte und große Kunden setzen es ein Berichtsdefinitionen in XML Funktionalitäten Datenquellen : JDBC, XML, OLAP, TEXT, … Ausgabeformate: PDF, XLS, HTML, CSV, TEXT, RTF, ODF Matrixberichte Multiple Datenquellen pro Bericht Berichtstrigger Unterberichte Bedingte Formatierung Fonts, Unicode, NLS …

11 Seite 10 PDF Erstellung mit APEX Dietmar Aust JasperReports Beispiele

12 Seite 11 PDF Erstellung mit APEX Dietmar Aust JasperReports Beispiele

13 Seite 12 PDF Erstellung mit APEX Dietmar Aust JasperReports Beispiele

14 Seite 13 PDF Erstellung mit APEX Dietmar Aust JasperReports Berichtsdesign mit dem iReport Designer iReport Designer Graphischer Editor, um XML – Berichtsdefinitionen für JasperReports zu erstellen Aktuell zwei Versionen, klassisch und Netbeans Download des iReport Designers

15 Seite 14 PDF Erstellung mit APEX Dietmar Aust JasperReports Berichtsdesign mit dem iReport Designer

16 Seite 15 PDF Erstellung mit APEX Dietmar Aust JasperReports Berichtsdesign mit dem Report Designer Demo

17 Seite 16 PDF Erstellung mit APEX Dietmar Aust Integration I – externe Berichte http Tunnel Berichtsdefinition in J2EE Applikation Aufruf aus APEX: Url für OnDemand Prozess OnDemand Prozess prc_show_url f?p=&APP_ID.:0:&APP_SESSION.:APPLICATION_PROCESS=prc_show_url:::F_TMP_1: &F_TMP_1. declare l_base_url varchar2(2000) := 'http://localhost:8080/jasperIntegration/report?_repName=Departments'; begin xlib_http_pck.display_url_raw(p_url => l_base_url || '&p_deptno=' || v('F_TMP_1')); exception when others then htp.p(sqlerrm); end;

18 Seite 17 PDF Erstellung mit APEX Dietmar Aust Integration I – externe Berichte http Tunnel Implementierung des http Tunnels BEGIN l_http_request := UTL_HTTP.begin_request (p_url); DBMS_LOB.createtemporary (l_blob, FALSE); BEGIN LOOP UTL_HTTP.read_raw (l_http_response, l_raw, l_buffer_size); DBMS_LOB.writeappend (l_blob, UTL_RAW.LENGTH (l_raw), l_raw); END LOOP; EXCEPTION WHEN UTL_HTTP.end_of_body THEN UTL_HTTP.end_response (l_http_response); END; HTP.p ('Content-length: ' || DBMS_LOB.getlength (l_blob)); OWA_UTIL.http_header_close; WPG_DOCLOAD.download_file (l_blob); DBMS_LOB.freetemporary (l_blob); END;

19 Seite 18 PDF Erstellung mit APEX Dietmar Aust Integration I – externe Berichte J2EE / Servlet Implementierung des Servlets ds = (DataSource) initContext.lookup("java:comp/env/jdbc/" + dataSource); conn = ds.getConnection(); jasperPrint = JasperFillManager.fillReport(reportFileName + ".jasper", reportParams, conn); ServletOutputStream out = response.getOutputStream(); JRPdfExporter exporter = new JRPdfExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out); exporter.exportReport();

20 Seite 19 PDF Erstellung mit APEX Dietmar Aust Integration I – externe Berichte Demo der Integration und der vereinfachten API Demo

21 Seite 20 PDF Erstellung mit APEX Dietmar Aust Integration II – XML Feed Übersicht echter Ersatz des BI-Publishers Kommunikation APEX BI-Publisher: XML – Feed der Daten Berichtsdefinition als RTF-Template BI-Publisher werden die Daten mit dem Template verbunden und im gewünschten Format zurückgeliefert

22 Seite 21 PDF Erstellung mit APEX Dietmar Aust Integration II – XML Feed Umsetzung Berichtsabfrage erstellen XML exportieren Berichtslayout mit JasperReports erstellen Berichtslayout hochladen (.jrxml) Berichtslayout auf der Region festlegen J2EE Applikation: Berichtsdefinition kompilieren (.jrxml =>.jasper) Bericht befüllen (XML an JasperReports übergeben) Ergebnis zurückliefern

23 Seite 22 PDF Erstellung mit APEX Dietmar Aust Integration II – XML Feed Demo Demo

24 Seite 23 PDF Erstellung mit APEX Dietmar Aust Fazit Bloß nicht programmieren !!! (z.B. PL/PDF) JasperReports: kostenlos, stabil, performant und flexibel (API) iReport Designer: kostenlos, intuitiv, mächtig und nicht kompliziert Integration in APEX ist einfach und sicher umzusetzen Java Servlet Programmierung notwendig RTF Export nicht optimal Textfelder / Positionsrahmen nicht einfach zu editieren Keine Ränder im Dokument

25 Seite 24 PDF Erstellung mit APEX Dietmar Aust APEX Training - Ankündigung Oracle APEX: Knowhow aus der Praxis! – in Bensheim Dozenten: Patrick Wolf (APEX Entwickler des Jahres 2007; Oracle ACE Director) Denes Kubicek (APEX Entwickler des Jahres 2008; Oracle ACE) Dietmar Aust Praxisrelevant! Lessons learned von vielen APEX Projekten Hands-On Sessions

26 Seite 25 PDF Erstellung mit APEX Dietmar Aust Kontakt Opal-Consulting Dietmar Aust Web: Blog:


Herunterladen ppt "PDF Erstellung mit APEX - eine kostenlose Alternative Dietmar Aust Opal-Consulting, Köln 1. Dezember 2008 21. Deutsche Oracle Anwenderkonferenz."

Ähnliche Präsentationen


Google-Anzeigen