APEX und Oracle sind eng miteinander verdrahtet. AOP ist lediglich für APEX geeignet und sorgt dafür, dass du Reports oder Auswertungen (PL/SQL Statements) in Office Produkten ausgegeben werden – etwa PDF, Word oder Excel. Durch Vorlagen mit Word oder Excel kannst du diese Dokumente schön und einheitlich nach deinen Wünschen anpassen und formatieren. Die Ausgabe ist damit viel leserfreundlicher (und lesbarer) als mit der normalen Standardfunktion (für Downloads) von APEX. Allerdings hat AOP auch seinen Preis und noch einige Kinderkrankheiten.
Problem
In AOP ist es möglich, den Filenamen bei Erstellung des Dokumentes, anzugeben. Dies kann zum Beispiel über einen PL/SQL Code festgelegt werden. Allerdings funktioniert dies beim PL/SQL Code derzeit nicht, sobald eine Variable (APEX Variable) im Spiel ist. Die Druckbezeichnung (Filename) kann somit nicht erstellt werden und es kommt eine Fehlermeldung.
Workaround
Der Workaround für dieses Problem ist einfach als gedacht. Für den Filenamen kann nämlich auch eine Variable herangezogen werden. Diese wird allerdings nicht mit PL/SQL Code, sondern mit JQuery geholt. Aus diesem Grund wird zuerst ein Pseudo Feld mit PL/SQL initialisiert. Diese Pseudo APEX Variable kann auch weitere APEX Variablen im PL/SQL Code beinhalten. Anschließend wird der Filename mit einem JQuery Selector befüllt. Hierbei ist es allerdings wichtig, dass der gesamte Dateiname bereits übergeben wird.
Anmerkungen
Angesichts der Tatsache, dass der anschließende Aufbau des Dokumentes schon auf Variablen zugreifen kann, ist dies eine wesentliche (und unerklärliche) Einschränkung.
Apex
Weitere APEX und AOP Hilfen findest du auf der Übersichtsseite für APEX. Zudem gibt es eine große Auswahl an Artikeln über Datenbanken – meist Oracle. Sieh dir auch den SQL Guide an.
Wenn du mehr über APEX erfahren möchtest, empfehle ich dir ein Buch darüber zu lesen. Diese haben nicht nur theoretische Inhalte, sondern auch viele praktische Best Practice Beispiele. Dadurch erfährst du eine Vielzahl an neuen Informationen über APEX, welche du davor wahrscheinlich noch nicht gekannt hast.