Inside Oracle APEX auf Deutsch (von Patrick Wolf)

Zurücksetzen der Seitennummerierung bei einem Master-Detail Bericht in Oracle APEX

Nach dem "Oracle APEX Round Table Talk mit Mike Hichwa" wurde mir von einem anderen teilnehmenden Entwickler eine interessante Frage gestellt.

Gibt es eine Möglichkeit nur die Seitennummerierung des Detail Berichts zurückzusetzen, wenn man einen Master-Detail Bericht auf einer Seite in einer Oracle Application Express (APEX) Applikation hat?

Aber was ist eigentlich genau das Problem warum man das machen will?

Schaut Euch mal mein Beispiel eines Master-Detail Berichts an und für die angegebenen Schritte durch.

Wenn Ihr das macht, dann werdet Ihr den Fehler


"Ungültige Zeilenmenge angefordert, die Quelldaten des Berichts wurden geändert." bekommen. Grund ist das es Oracle APEX nicht möglich ist eine zweite Seite von Detail Datensätzen für diesen Master Datensatz anzuzeigen. Es gibt einfach nicht genug. Unabhängig von dieser Tatsache, ist es immer netter wenn die Detail Datensätze von Vorne angezeigt werden, wenn ein neuer Master Datensatz ausgewählt wurde! :-)

Ich dachte mir, eigentlich sollte es nicht so schwierig sein nur eine bestimmte "Region" zurückzusetzen. Die Checkbox "Seitennummerierung zurücksetzen" welche für einen bestimmten Link/Branch gesetzt werden kann ist nicht wirklich eine Option, denn damit werden immer alle Berichte einer Seite zurückgesetzt. Gerade bei der Auswahl eines neuen Master Datensatzes wäre das nicht so Cool, wenn man sich urplötzlich wieder am Beginn befinden würde...

Was ist also wirklich zu tun um das hinzubekommen? Das Oracle APEX OTN forum ist immer eine gute Quelle für solche Probleme. Nach einer kurzen Suche habe ich den folgenden alten Thread vom Vikas gefunden wo er die selbe Frage stellt. Aber wie es aussieht wurde keine befriedigende Antwort dafür gefunden. Ich musste mir also eine eigene Lösung überlegen.

Daraufhin habe mir angesehen, was Oracle APEX eigentlich so treib wenn es zum nächsten Datensatz-Set wechselt. Habe mir die dazu verwendeten URLs etwas genauer angesehen und habe daraus folgende Lösung entwickelt.

Wenn der Detail Bericht synchronisiert wird, dann müssen wir im Detail Bericht die Navigation zum ersten Datensatz simulieren. Möglich ist das wenn wir als REQUEST Wert die Region ID setzen und noch ans Ende des URLs &pg_min_row=1 dranhängen.

Probiert mal mein Beispiel aus.

Die folgenden Schritte könnt Ihr verwenden um die Lösung in Eure Applikation einzubauen.
  1. Setzt die "Statische ID" Eigenschaft der Detail Bericht Region auf einen eindeutigen Namen. (Überspringt diesen Punkt wenn Ihr noch nicht Oracle APEX 3.0 verwendet)
  2. Erstellt ein "Hidden" Page Item (zB. P3_REGION_ID) welches der Region des Master Berichts zugewiesen wird
  3. Als "Source Type" wird "SQL Query" gesetzt
  4. Als "Source value or expression" verwendet für Oracle APEX 3.0 folgende Abfrage
    SELECT 'pg_R_'||TO_CHAR(REGION_ID)
    FROM APEX_APPLICATION_PAGE_REGIONS
    WHERE APPLICATION_ID = :APP_ID
    AND PAGE_ID = :APP_PAGE_ID
    AND STATIC_ID = 'Wert den Ihr für den Detail Bericht gesetzt habt'

    Oder
    SELECT 'pg_R_'||TO_CHAR(REGION_ID)
    FROM APEX_APPLICATION_PAGE_REGIONS
    WHERE APPLICATION_ID = :APP_ID
    AND PAGE_ID = :APP_PAGE_ID
    AND REGION_NAME = 'Employees for department '||CHR(38)||'P3_DNAME.'

    für ältere Oracle APEX Versionen. "Employees for ..." muss durch den exakten Namen Eurer Bericht Region ersetzt werden.
  5. Im Master Bericht öffnet die "Spalten-Link" Eigenschaften Eurer Link Spalte und fügt &P3_REGION_ID. in die "Anfordern" Eigenschaft ein.
  6. Bei der letzten "Wert" Zuordnung, gehört ein &pg_min_row=1 am Ende hinzugefügt (zB. #DNAME#&pg_min_row=1).

Warum "Hardcoden" wir nicht einfach pg_R_6721068803959845958 in die "Anfordern" Eigenschaft? Der Grund ist, dass sich die interne Region ID ändern kann/wird wenn Ihr die Applikation erneut importiert. Darum ist es besser die aktuelle ID aus dem Oracle APEX Repository auszulesen.

Das wars auch schon wieder! Viel Spass beim erstellen von Master-Detail Berichten!

PS: Der nächste Artikel wird wieder kürzer, ist einfach so viel zum Übersetzen! :-)

Labels: , , , ,


« ... Ganzen Artikel lesen ... »

Integration von PayPal Payments Pro in Oracle APEX

Habe gerade gesehen, dass das Oracle APEX Team ein neues White Paper zur Integration von PayPal in Oracle Application Express veröffentlicht hat. Es gibt auch eine dazu passende Packaged Application mit der sofort gestartet werden kann.

Gute Arbeit Jason! Hilft sicher vielen weiter, hat doch schon einige Anfragen im OTN Forum gegeben, wie PayPal in eine Applikation integriert werden kann.

Labels: , ,


« ... Ganzen Artikel lesen ... »

Für Kurzentschlossene: Oracle APEX "Roundtable" mit Mike Hichwa

Für alle Kurzentschlossenen, Oracle veranstaltet am 20.09.2007 in Hamburg einen

Oracle APEX "Rountable" Talk mit dem Gründer und "Godfather" Mike Hichwa

Aus der Mail von Oracle:
Die Idee ist, über Kundenprojekte und deren Wünsche und Ideen konkret zu diskutieren.

Wünschenswert wäre es, wenn Sie eines Ihrer APEX Projekte kurz vorstellen könnten und evtl. erläutern, an welchen Stellen Sie sich noch "Verbesserungen" wünschen. Dazu bräuchten wir vorab allerdings einen kurzen "Abstract", vielleicht 2-3 Screenshots und eine kurze Beschreibung der Anwendung; bitte senden Sie diese an edith.wild (at) oracle dot com

Natürlich sind Sie auch "ohne konkretes Projekt" willkommen und herzlich eingeladen mit zu diskutieren.

Weitere Details und das Anmeldeformular.

Labels:


« ... Ganzen Artikel lesen ... »

Oracle Application Express (APEX) 4.0 - Preview Video

Habe gerade gelesen, dass der Carl Backstrom sein Video öffentlich gemacht hat, welches eines der "WOW" Features der kommenden Oracle APEX 4.0 Release zeigt. Das Video wurde zuerst bei den "First Oracle APEX Training Days" der APEX Evangelists gezeigt. Randnotiz: Dimitri Gielis und John Scott haben über Ihre Erfahrung geblogged so ein Training zu veranstalten. Schaut Euch ihren Blog an. Gute Arbeit Jungs!

Aber zurück zum Video, schaut Euch Carl's Artikel APEX 4.0 Preview (aka Video Killed the Radio Star) an um ihn mal in "Action" zu erleben! :-)

Ich würde Euch raten die Version mit der höheren Auflösung runterzuladen, so das Ihr alle Details des neuen Features bewundern könnt. :-) Übrigens müsst Ihr unter Windows den VCL Player runterladen, den das Video ist mit dem Theora Codec kodiert, welcher vom Windows Media Player und QuickTime nicht dekodiert werden können.

Noch schnell ein paar Appetit-Bildschirmfotos aus dem Video...

Neues Kontextmenü für Berichtsspalten



On-the-fly Filtern



On-the-fly Gruppierung



On-the-fly Zeilen/Zellen Hervorhebung



Die Benutzer werden einige coole "Out of the Box" Manipulationsmöglichkeiten der Berichte haben, welche Ihr für eine Oracle APEX Applikation erstellt.

Labels: ,


« ... Ganzen Artikel lesen ... »

Es wurde langsam Zeit

dass ich auch wieder auf den deutschen Seiten des Inside Oracle APEX Blogs etwas schreibe. War in letzter Zeit ein wenig faul diesbezüglich. Hatte irgendwie keine so große Lust nach dem schreiben des englischen Postings dann das ganze auch nochmal ins Deutsche zu übersetzen. Ist nicht zu unterschätzen wie lange das nochmal dauert...

Aber ich verspreche Besserung :-)

Darum beginne ich gleich mal mit einem interessanten Posting als nächstes!

Viel Spaß beim lesen
Patrick

PS: Schaue, dass ich die interessanten Artikel welche ich in der englischen Version geschrieben habe in den nächsten Wochen zu übersetzen.

« ... Ganzen Artikel lesen ... »