APEX 4.2: Neue Features für interaktive Berichte
Erscheinungsmonat |
APEX-Version |
Datenbankversion |
Oktober 2012 |
ab 4.2 |
ab 10.2 |
Seit Oktober 2012
steht APEX 4.2 zum Download zur Verfügung. Dass
der Schwerpunkt dieses Releases auf der Entwicklung von APEX-Anwendungen
für Smartphones - auf Basis von jQuery Mobile und HTML5-Charts - liegt, dürfte
mittlerweile nahezu überall bekannt sein. Doch das ist nicht alles. APEX 4.2 bringt
noch mehr neue Features mit: Im Bereich der interaktiven Berichte hat sich sehr
viel getan: Zwar ist auch weiterhin nur ein interaktiver Bericht pro Seite möglich, es
gibt aber dennoch einige, interessante Neuerungen - dieser Tipp stellt sie im Detail vor.
Abbildung 1: Interaktive Berichte in APEX 4.2
Interaktive Berichtsspalten formatieren: HTML-Ausdruck
Eine sehr praktische Neuerung ist die Möglichkeit, für die Spaltendarstellung
einen HTML-Ausdruck zu hinterlegen, wie es bei den klassischen Berichten
schon immer möglich war. Das aufwändige Kodieren von HTML-Tags in der SQL-Abfrage
gehört damit auch beim interaktiven Bericht der Vergangenheit an. Navigieren Sie
dazu zu den Berichtsattributen des interaktiven Berichts und dann zu den Details
der jeweiligen Spalte. Wie Abbildung 2 zeigt, gibt es nun einen neuen Abschnitt
HTML-Ausdruck, der genauso funktioniert wie sein
Pendant beim klassischen Bericht.
Abbildung 2: HTML-Ausdruck für eine interaktive Berichtsspalte hinterlegen
Abbildung 3: HTML-Ausdruck in einer interaktiven Berichtsspalte
Email-Abonnements: Absenderadresse und einfache Abmeldung
Für Email-Abonnements eines interaktiven Berichts kann nun eine
Absender-Mailadresse (FROM) hinterlegt werden. Bislang wurde die Empfängeradresse gleichzeitig
als Absenderadresse verwendet, was manchmal zu Problemen führen kann.
Abbildung 4: Absenderadresse für Email-Abonnements hinterlegen
Ein solches Attribut Absenderadresse gibt es nicht nur auf Ebene des interaktiven
Berichts, sondern auch auf Anwendungsebene (bei den Anwendungsattributen) und auf
Instanzebene. Die Einstellung auf Ebene des Berichts geht
der anwendungsweiten
und diese geht der instanzweiten Einstellung vor. Ist auf allen drei
Ebenen nichts eingetragen, so wird, wie in früheren Versionen, die
Adresse des Mail-Empfängers als Absender verwendet. Mit der Umgebungsvariable
APP_EMAIL
erhalten Sie Zugriff auf die applikations- oder instanzweit eingetragene Mailadresse.
Die generierte Email enthält nun auch einen direkten Unsubscribe-Link.
Abbildung 5: Automatisches Unsubscribe: Direkt aus der Email
PL/SQL-Zugriff auf interaktive Berichte: APEX_IR
Die Prozeduren und Funktionen für den PL/SQL-Zugang zu interaktiven Berichten
wurden im neuen PL/SQL-Paket APEX_IR zusammengefasst. Besonders interessant
ist die neue Funktion GET_REPORT, welche den Zugriff auf die aktuell
ausgeführte SQL-Abfrage und die verwendeten Bind-Variablen erlaubt.
Mit dieser Funktion bekommt man Zugriff auf die SQL-Abfrage, welche
sich durch das Setzen von Filtern oder Berechnungen im interaktiven
Bericht ergibt. Einen Eindruck bekommt man, indem man neben den interaktiven
Bericht eine neue Region vom Typ Dynamischer PL/SQL Inhalt und folgender
Regionsquelle stellt.
Passen Sie den Inhalt der Variable l_report_name zu Beginn des PL/SQL Blocks
an den Namen Ihrer Berichtsregion an und hinterlegen Sie den Code als
Region vom Typ Dynamischer PL/SQL Inhalt. Starten Sie die Seite danach neu und
fügen Sie einen Filter zu Ihrem interaktiven Bericht hinzu. Danach laden Sie
die Seite mit [F5] neu. Sie sollten dann rechts oder unterhalb des interaktiven
Berichts die verwendete SQL-Abfrage und die Bind-Variablen sehen können (Abbildung 6).
Abbildung 6: APEX_IR.GET_REPORT erlaubt Zugriff auf die SQL-Abfrage des interaktiven Berichts
Diese Funktionalität ist besonders interessant, wenn man einer APEX-Anwendung
kontextbezogene Funktionen hinzufügen möchte.
Eigener PL/SQL-Code kann so genau mit den
Daten arbeiten, die der Anwender in seinem interaktiven Bericht sieht. APEX_IR.GET_REPORT
bietet darüber hinaus noch den Parameter REPORT_ID an; damit kann, von mehreren gespeicherten
Berichten, ein ganz bestimmter angesprochen werden. Man ist also nicht auf die Variante
beschränkt, die gerade angezeigt wurde.
Linguistische Suche in einem interaktiven Bericht
Nicht auf interaktive Berichte beschränkt, aber auch für diese extrem hilfreich
ist die Möglichkeit, linguistische Sortierungen und Filter für eine APEX-Anwendung
zu aktivieren. Damit können Akzente und andere diakritische Zeichen bei der Suche
komplett ignoriert werden. Eine Suche nach Muller findet also auch den Müller.
Navigieren Sie dazu zu den Gemeinsamen Komponenten und dort
zum Bereich
Globalization. Dort finden Sie nun zwei neue Einstellungsmöglichkeiten für Zeichenkettenvergleiche
und Sortierungen. Stellen Sie diesen, wie in Abbildung 7 dargestellt, auf BINARY_AI und Linguistic ein ...
Abbildung 7: Akzent-insensitive Suche für eine APEX-Anwendung aktivieren
... speichern Sie ab und starten Sie erneut die Seite mit dem interaktiven Bericht.
Wenn Sie nun SÄLES oder CLÉRK als Filter eingeben, werden dennoch Zeilen gefunden (Abbildung 7).
Abbildung 8: Akzent-Insensitive Suche in Aktion
Wie man auf der rechten Seite erkennen kann, hat das keinen Einfluß auf
die ausgeführte SQL-Abfrage: APEX setzt das um, indem die Session-Parameter
NLS_COMP und NLS_LANG entsprechend gesetzt werden. Diese Einstellungen
gelten übrigens anwendungsweit; also auch für klassische Berichte. Wenn Sie
eine solche Suche beim klassischen Bericht dann zusätzlich noch durch einen Index unterstützen
möchten, finden Sie im Community-Tipp
Suchen mit SQL LIKE: Performance, Case- und Umlaut-Insensitive Suche weitere Informationen zum Thema.
Weitere neue Features
Darüber hinaus gibt es noch das eine oder andere, kleinere neue Feature:
- Neue interaktive Berichte haben nun ein Zeilenmaximum von einer Million Zeilen und nicht mehr 100.000.
- Gespeicherte interaktive Berichte bleiben nun erhalten, auch wenn sich die Anwendungs-ID ändert.
- Gleichheits-Filter sind nun auch für DATE-Spalten unterstützt.
APEX 4.2 voll ausnutzen bedeutet also nicht nur, mobile Anwendungen zu erstellen und
HTML5-Diagramme zu nutzen. Auch für die Nutzer interaktiver Berichte ist das Release
hochinteressant - und natürlich gibt es auch darüber hinaus noch zahlreiche, interessante,
Neuerungen.
zurück zur Community-Seite
|