Ich wurde zitiert
Werde ich jetzt berühmt?

Ihr könnt mein Zitat im Sphinx IT Consulting Bereich der Oracle APEX 3.0 Pressemitteilung lesen.
Dienstag, 27. März 2007Ich wurde zitiert
Nett, ich wurde in der offiziellen Oracle APEX 3.0 Pressemitteilung zitiert!
Werde ich jetzt berühmt? ![]() Ihr könnt mein Zitat im Sphinx IT Consulting Bereich der Oracle APEX 3.0 Pressemitteilung lesen.
Sonntag, 25. März 2007Leicht unterschiedliches Verhalten von $x in Oracle APEX 3.0
Bin gerade auf ein leicht unterschiedliches Verhalten von $x in Oracle APEX 3.0 gestoßen.
Ich nehme mal an, dass viele von Euch immer nur einen ID-String eines Elements (zB: $x("P4_TEST")) beim Aufruf dieser Funktion übergeben um das Objekt dieses Feldes/Divs/...-ID's zu bekommen, aber man kann diese Funktion auch mit einem Objekt aufrufen, in diesem Fall wird einfach das gleiche Objekt wieder zurückgegeben. Jetzt werdet Ihr Euch fragen wozu braucht man soetwas? Man braucht es, wenn man den JavaScript Code ein wenig allgemeiner schreibt, zum Beispiel folgende Funktion function getWhatEver(pField)Wenn der Aufrufer bereits ein Feld Objekt hat, dann kann er bereits das Objekt übergeben und die Funktion muss nicht nochmal eine Suche mit der ID durchführen. getWhatEver(vFieldVariable);Wenn der Aufrufer noch kein Objekt des Feldes hat, dann kann er die Routine einfach mit dem ID-String aufrufen getWhatEver("P4_TEST");und die $x Funktion wird automatisch die notwendige Suche durchführen. Das oben beschriebene Verhalten funktioniert noch immer für Objekte vom Node Typ 1 (Node.ELEMENTNODE), aber mit Oracle APEX 3.0 funktioniert es nicht mehr, wenn zB das window Objekt übergeben wird, in diesem Fall retourniert die $x Funktion false. Ich hatte eine Funktion mit der man Ereignisse (zB: onkeypress, ...) zu jedem beliebigen Objekt hinzufügen konnte, aber mit APEX 3.0 hat die Funktion auf einmal nicht mehr funktioniert wenn Sie mit dem window Objekt aufgerufen wurde. Eventuell habt Ihr in Eurem Code ja auch so etwas und spart mit diesem Tipp ein paar Minuten der Fehlersuche. Labels: Achtung, APEX, Javascript, Oracle ![]()
Donnerstag, 22. März 2007Drei neue interessante Artikel
Wenn Ihr nicht alle Oracle APEX Blogs verfolgt die es da draußen im Netz gibt, dann möchte ich Eure Aufmerksamkeit auf folgende drei Artikel lenken, welche meiner Meinung von generellem Interesse sein könnten.
Labels: APEX, Oracle, Oracle XE, PDF, Reports
Mittwoch, 21. März 2007Welche Tabular Form Spalte wird auf welches Apex_Application.g_fxx Array gemapped?
Habt Ihr Euch schon mach gefragt wie Oracle APEX die Spalten einer Tabular From auf die Apex_Application.g_fxx (alias Htmldb_Application.g_fxx, alias WWV_Flow.g_fxx) mapped?
Ich glaube die meisten Entwickler verwenden eine der folgenden Methoden um auf das korrekte Mapping zu kommen:
APEX nimmt Euer Tabular Form Select Statement und basierend auf der Reihenfolge der Spalten wie sie im Select Statement stehen (nicht in der Reihenfolge wie Ihr sie am Report Attributes Tab sehen könnt!) beginnt es die Spalten zuzuordnen
Hinweis: Wenn Ihr einen "Row-Selector" habt, dann wird dieser IMMER auf g_f01 gemapped! Beispiel: SELECT EMPNO, EMPNO AS EMPNO_DISPLAY, FIRST_NAME, LAST_NAME, HIRE_DATE FROM EMP Nehmen wir an, alle Spalten ausser EMPNO_DISPLAY werden als HTML Felder angezeigt und LAST_NAME hat eine "Condition" welche nicht aufgeht, dann würde das Mapping wie folgt aussehen EMPNO = g_f01 EMPNO_DISPLAY = nicht gemapped FIRST_NAME = g_f02 LAST_NAME = nicht gemapped wegen der Condition HIRE_DATE = g_f03 Wenn wir einen "Row Selector" haben Row-Selector = g_f01 EMPNO = g_f02 EMPNO_DISPLAY = nicht gemapped FIRST_NAME = g_f03 LAST_NAME = nicht gemapped wegen der Condition HIRE_DATE = g_f04 Aber wenn Ihr Euch mit dem Mapping nicht herumärgern wollt, wo Ihr auch immer Conditions/Berechtigungen berücksichtigen müsst, dann schaut Euch vielleicht mal das Plug & Play Tabular Form Handling des ApexLib Framework an. Labels: APEX, Oracle, Tabular Form ![]()
Montag, 19. März 2007ApexLib Version 1.5 verfügbar
Erweiterungen der APEX Repository Views in Oracle APEX 3.0 machen es möglich einige der Einschränkungen des ApexLib Frameworks zu entfernen.
Hinweis: Die obigen Änderungen im Zusammenhang mit APEX 3.0 bedeuten nicht, dass der ApexLib Framework nicht mehr mit Versionen vor 3.0 funktioniert. Die aktuell unterstützten APEX Versionen sind 2.0, 2.1, 2.2 und 3.0. Die neue Version jetzt herunterladen! Änderungshistorie:
![]()
Samstag, 17. März 2007Oracle APEX 3.0 zum Download verfügbar!![]() Die heruntergeladene APEX Version ist 3.0.0.00.20. Das bedeutet, dass Sie noch ein paar "Last-minute" Fehler korrigiert haben, welche im OTN Forum berichtet wurden. Es wurde auch das Aussehen der Oracle APEX Homepage auf OTN aufgemöbelt. Ich finde es schaut jetzt wesentlich netter und übersichtlicher aus. Ach ja, nicht vergessen die Infos zu den neuen Funktionen zu lesen.
Freitag, 16. März 2007XML Verarbeitung in der Datenbank
Vor einigen Tagen habe ich einen sehr interessanten Artikel über eine XML(DB) Präsentation während der OOP 2007 im AMIS blog gelesen.
Die Präsentation von Ken Atkins ist auch Online verfügbar und ist wirklich Wert, dass man sie sich ansieht. Sie gibt einen sehr guten Überblick (mit vielen Beispielen) über die eingebauten XML Verarbeitungsfunktionen der Oracle Datenbank. Solltet Ihr also jemals die Anforderung haben ein XML zu parsen oder die gespeicherten relationalen Daten als XML File exportieren zu müssen, dann müsst Ihr dazu kein Java oder eine andere Sprache am Application Server dazu verwenden um diesen Job zu erledigen. Es geht viel einfacher direkt in der Datenbank/Oracle APEX. Meiner Meinung geht es auch viel schneller als wenn man es außerhalb der Datenbank macht. Übrigens habe ich vor kurzem die XML Verarbeitungsfeatures in meinem ersten OTN Artikel über Integrating Yahoo Pipes into an Oracle APEX Application auch verwenden können. Die Präsentationsdateien: ![]()
Dienstag, 13. März 2007Neue APEX 3.0 Version auf apex.oracle.com online!![]() Wenn Ihr Euch mal einlogged dann werdet Ihr sehen, dass Sie die Version 3.0.0.00.18 in regulären Ausprobier-Umgebung von apex.oracle.com installiert haben. Und ich bin sicher die Download-Version wird in den nächsten Tagen folgen. Gratulation an das APEX Entwicklerteam für die hervorragende Arbeit!!!
Sonntag, 11. März 2007Nahtlose Integration von ApexLib in die APEX Builder IDE
Einer der "Nachteile" in der Verwendung des ApexLib Framework ist, dass man sich an alle "ApexLib Hints" erinnern muss welche für die Konfiguration des Laufzeitverhaltens des Frameworks notwendig sind.
Ok, nach einiger Zeit gehen sie immer mehr in Fleisch und Blut über. Aber wäre es nicht viel Komfortabler wenn man die Einstellungen genauso setzen könnte wie für APEX selbst? Mit der neuen Version des APEX Builder Plugins ist das jetzt möglich! In den APEX Builder Seiten "Edit Page Item", "Edit Region - Region Definition" und "Report Attributes > Column Attributes" wird jetzt ein neuer Bereich "ApexLib Framework" dargestellt, der die möglichen Eigenschaften in diesem Kontext darstellt. Jetzt ausprobieren und die neue Version herunterladen! ![]() Labels: APEX, APEX builder plugin, APEX hacks, ApexLib, Oracle ![]()
Samstag, 10. März 2007Wird Oracle APEX 3.0 in der kommenden Woche veröffentlicht?
Ist die kommende Woche "die" Woche für die Veröffentlichung der neuen Oracle APEX 3.0 Version?
Wenn Ihr auf mal auf apex.oracle.com nachseht, dann wird dort aktuell die folgende Meldung angezeigt ![]() Wie gesagt, ist aber nur eine Vermutung :-) Was denkt Ihr, wird es nächste Woche veröffentlicht?
Donnerstag, 8. März 2007Mein erster OTN Artikel![]() Und... *Trommelwirbel* sie auch meinen ersten OTN Artikel online gestellt haben!!! :-)
Dienstag, 6. März 2007Min-/Max-Werte Validierung im Browser![]() Das ganze bedeutet normalerweise viel Arbeit!
Hmmm, da müsste es doch eigentlich einen einfachere und schnellere Methode geben um das zu bewerkstelligen. Es gibt sie! :-) Ich habe in der letzen Version des ApexLib Framework einen deklarativen Wertebereichscheck für Page Items/Tabular Form Spalten hinzugefügt. Ihr könnt es auf meiner Demo Seite ausprobieren. Es ist jetzt möglich einen Min-/Max- Wert für ein Feld/Spalte zu definieren. Die Grenzen werden sofort überprüft wenn der Benutzer das Feld im Browser verlässt. Aus Sicherheitsgründen wird das ganze auch nochmal am Server überprüft wenn die Seite gespeichert wird. Ihr müsst nur den ApexLib Hint $APEXLIB_MIN_VALUE=Min Wert$ und/oder $APEXLIB_MAX_VALUE=Max Wert$ zum Page Item Kommentar oder in die Link Attributes der Tabular Form Spalte hinzufügen, wie Ihr es bereits für die anderen ApexLib Hints macht. Was wird unterstützt? Ihr könnt fixe Werte definieren. zB: $APEXLIB_MIN_VALUE=0$ $APEXLIB_MAX_VALUE=100$ um einen Wertebereichs-Check zu machen oder verwendet $APEXLIB_MIN_VALUE=01-JAN-2007$ um gegen ein fixes Datum zu prüfen. Aber Ihr könnt es auch ein wenig mehr dynamisch machen und ein anderes Applikations Item/Page Item referenzieren. zB: $APEXLIB_MAX_VALUE=&F111_TODAY.$ um zu überprüfen, dass der Benutzer nicht einen grösseren Wert als Heute eingeben kann. Für Tabular Form Spalten kann zusätzlich auch noch die #COLUMN_NAME# Notation verwendet werden um eine Spaltenzelle in der gleichen Zeite zu referenzieren. zB. $APEXLIB_MIN_VALUE=#SALARY#$ Wenn Ihr ein Page Item/Spalte der aktuellen Seite referenziert, dann ändert sich der Min/Max Wert wenn Ihr den referenzierten Wert auf der Seite ändert. Achtung: Der Wert welcher angegeben wird, unabhängig ob er fix oder dynamisch ist, muss der Format Maske des aktuellen Items/Spalte entsprechen!!! Das bedeutet, wenn der aktuelle "Date Picker" eine Format Maske von DD-MON-YYYY definiert hat, dann muss der fixe oder der referenzierte dynamische Wert auch von diesem Format sein! Für das obige Beispiel mit dem Applikations Item F111_TODAY bedeutet das, dass der notwendige Initialisierungscode eine PL/SQL Expression mit dem folgendem Code wäre (wir nehmen an, die Format Maske ist DD-MON-YYYY) TO_CHAR(SYSDATE, 'DD-MON-YYYY'); Was funktioniert (noch) nicht? Es ist nicht möglich eine Expression zu definieren. Zum Beispiel ein anderes Feld zu referenzieren und einen Tag hinzuzufügen. zB: $APEXLIB_MIN_VALUE=&P4_VALID_FROM.+1$ Ich finde aber, dass es für den Beginn mal ein ganz guter Start ist und man damit einiges an Entwicklungsarbeit/zeit sparen kann! Übrigens ich habe auch die "Set" Konfiguration der ApexLib Hints aktualisiert. Für den Fall, dass Ihr das APEX Builder Plugin verwendet. Ihr könnt die ensprechenden Dateien im "BuilderPlugin" Verzeichnis finden. Labels: APEX, ApexLib, Broser Validierung, Oracle ![]()
ApexLib Version 1.4 verfügbar
Habe gerade eine neue Version des Oracle APEX Entwickler Frameworks ApexLib auf Sourceforge hochgeladen.
Wie Ihr der Änderungshistorie entnehmen könnt, enthält diese Version viele Fehlerkorrekturen, aber auch eine neue Funktionalität. Deklarative Min-/Max-Wert Validierung im Browser. Später mehr Details dazu. Es gab ein paar Anfragen die Feature Demonstration Applikation im Zip-File zu inkludieren. Here you go! Ihr findet sie im "Examples" Verzeichnis. Holt Euch die neue Version! Liste der Änderungen:
![]()
|