Translate

Donnerstag, 9. Mai 2019

Jasper Reports 6.6 - java.lang.NullPointerException - no data found


APEX 19.1 - TIBCO Jasper Reports Studio 6.6

HTTP Status 500 -


type Exception report
message
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.27 logs.


Sehr hässlich ist diese Fehlermeldung für die Endbenutzer.

Hintergrund:
Ich starte in APEX einen Prozess, der die Ausgabe eines Jasper_Reports als pdf anschiebt.
Das SQL findet keine Daten... (weil die Umstände halt so sind...).

Durch einen kleinen Trick kann man das etwas benutzerfreundlicher gestalten:

Man kann in Jasper Reports Studio 6.6 einstellen, was bei "NULL" (data) passieren soll....

Report --> oben auf den Tabreiter (Namen des Reports) klicken --> dann rechts "Properties"

da habe ich jetzt bei "When no data type" ausgewählt: "All sections - no details"
standardmäßig steht das auf <NULL>

Dann kommt das Dokument nur mit Kopfzeile, Fusszeile - aber ohne weitere Daten...

- dann muss der Benutzer sich fragen, warum das PDF leer ist...

Hope that helps !

Samstag, 4. Mai 2019

Preview PDF in APEX Region

Cross-post - thanks to "Thinking Anew  - aber sorry, ich finde es interessant genug, es auch hier nochmals zu erwähnen.

Ich stolperte gestern über ein interessantes Feature zum Thema PDF:
Anzeige eines PDF-Dokumentes "inline" auf einer APEX Seite/Region:

Es basiert auf pdf.js von Mozilla und ist eine Kombination von SQL, Javascript und JQuery...

Schaut selbst hier https://fuzziebrain.com/content/id/1722/ (mit detaillierter Anleitung)

Dort ist auch eine Demo und ein Downloadlink der Demo hinterlegt:

Link: https://apex.oracle.com/pls/apex/f?p=34781
Username: demo
Password: demo
In der demo ist auch das "Blättern" in einem mehrseitigen PDF (NextPage, PrevPage) realisiert

Great Job Anew !!! Thanks a lot !

Ich habe es auf meine "eigene" Tabelle (MEINE_DATEIEN) angepasst...
das obige Beispiel basiert auf APEX_APPLICATION_TEMP_FILES

My environment: APEX 18.2, 19.1