APEX: App_Items immer anzeigen

Es kommt während der Entwicklung von APEX-Anwendungen immer mal wieder vor, dass ich den Inhalt von Application-Items einsehen möchte. APEX bietet dafür innerhalb der Anwendung im Footer jeder Seite einen Link „Session“ an, mit dem sich ein neues Browserfenster öffnet und man darin die APP_Items anzeigen lassen kann.

blog1

Da ich diese Werte doch mehrmals am Tag anschaue und das öffnen des extra Fensters dann doch irgendwie zu lange dauert, habe ich die Chance genutzt und Patrick Wolf gefragt, welche Möglichkeiten es gibt, diese Items immer anzeigen zu lassen. Ich habe mir eine Region vorgestellt, die auf jeder Seite automatisch angezeigt wird. Patrick gab mir den Tipp mit den APEX-Views, die in der Version 3.1 im Bereich Utilities aufgelistet werden. Sie sind zwar schon in einer 2.x Version vorhanden, aber nicht dokumentiert. 🙂

Um dies zu erreichen legt man auf Page 0 eine Region an (was die Position auf der Seite angeht, sollte es jeder selber für seine Application einrichten), die folgenden Inhalt besitzt:

1
2
3
4
5
6
7
8
9
10
select item_name, 
v(item_name) 
from APEX_APPLICATION_PAGE_ITEMS 
where application_id = v('APP_ID') 
and page_id = v('APP_PAGE_ID')
UNION all
select item_name, 
v(item_name) 
from APEX_APPLICATION_ITEMS 
where application_id = v('APP_ID')

Somit werden alle APP_Items und die Items der aktuellen Seite inkl. ihrem Inhalt angezeigt.

Danke Patrick!

Dieser Beitrag wurde unter APEX, Oracle veröffentlicht. Setze ein Lesezeichen auf den Permalink.

6 Antworten zu APEX: App_Items immer anzeigen

  1. Patrick Wolf sagt:

    Hallo Carsten,

    noch als kleine Verbesserung für Dein SQL Statement. Nimm statt v(‚APP_ID‘) und v(‚APP_PAGE_ID‘) die Bind Variablen :APP_ID und :APP_PAGE_ID
    Das ist noch schneller, weil eventuell die V Funktion zu oft aufgerufen wird. Siehe http://www.inside-oracle-apex.com/2006/11/caution-when-using-plsql-functions-in.html

    Lg
    Patrick

  2. cc13 sagt:

    Danke Patrick, werde es in meinem Code ändern.

    Mir stellt sich jetzt die Frage, ob ich den Beitrag hier auch gleich anpassen soll, oder ob dein Kommentar dazu aussagekräftig genug ist?

    lg
    cc

  3. cm sagt:

    Leider bekommt aber auch folgende Meldung:

    Invalid set of rows requested, the source data of the report has been modified.

    Der Reset funktioniert dann auch nicht mehr.

  4. cc13 sagt:

    Hallo Cliff,

    wie sieht denn dein Select aus?

  5. cm sagt:

    So:

    SELECT item_name, v(item_name)
    FROM apex_application_page_items
    WHERE application_id = :APP_ID AND page_id = :APP_PAGE_ID
    UNION ALL
    SELECT item_name, v(item_name)
    FROM apex_application_items
    WHERE application_id = :APP_ID

  6. cc13 sagt:

    Hast du das Select mal im SQL Developer laufen lassen? Beir mir hier funktioniert es ohne Probleme.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.