Mit diesem Beitrag möchte ich Ihnen zeigen, wie man ein allgemeines Datumsformat für die gesamte Anwendung in APEX definiert.
APEX bietet 3 Möglichkeiten, Datumsformate festzulegen.
- Festlegen eines globalen Datumsformats
- Festlegen einer Formatmaske über die Application-Definition
- Festlegen einer Formatmaske über ein Application-Item
Zu 1: Festlegen eines globalen Datumsformats
Über die Applikations-Defintion kann ein globales Datumsformat festgelegt werden. Dieses Format wird für alle Reportfelder automatisch benutzt. Bei Eingabefeldern muss dieses Format explizit zugewiesen verwenden.
Um dieses globale Datumsformat zu definieren gehen sie bitte wie folgt vor:
- Shard Components -> Definition (unter „Application“) -> Globalization (Registerkarte)
- Unter „Application Date Format“ können sie nun ein gültiges Format eintragen od. aus der Liste auswählen.
- „Standard Report Columns“ übernehmen diese Einstellung automatisch.
- Bei Eingabefeldern muss unter „Display as“ „Date Picker (use Application Date Format)“ ausgewählt werden.
Zu 2: Festlegen einer Formatmaske über die Application-Definition
Um dieses Format zu definieren gehen sie bitte wie folgt vor:
- Shard Components -> Definition (unter „Application“)
- Klicken sie bei den Quick-Links bitte auf „Substituations“ oder scrollen nach unten bis zur Region „Substitutaions“.
- Erzeugen sie nun einen neuen Substitutaion String mit den folgenden Eingaben:
Bitte beachten:
Bei allen Report-Spalten wird das global eingestellte Standardformat, wie oben beschrieben, verwendet.
Wenn sie in den Reports ebenfalls das als Substitution String angelegte Format PICK_DATE_FORMAT_MASK verwenden möchten, müssen sie bei der entspr. Report-Spalte unter „Column Formatting“ im Feld „Number / Date Format“ den Substitutaion String, wie folgt, angeben: &PICK_DATE_FORMAT_MASK.
Bitte achten Sie hierbei besonders auf die „&Item.“-Notation!
Zu 3: Festlegen einer Formatmaske über ein Application-Item
Sie haben auch noch die Möglichkeit, eigene Formatmasken über ein Application-Item zu definieren. D.h. sie erstellen ein Application-Item, initialisieren dieses mit der gewünschten Formatmaske und können dies dann genauso wie einen Substitution String verwenden (zuvor erklärt).
Diese Variante bietet mehr Flexibilität und wird benötigt, wenn sie Datumsformate dynamisch zur Laufzeit ändern möchten.
Ein gutes Beispiel zur Verwendung ist die Lokalisierung (L10n). Bei der Lokalisierung wird das Datum z.B. für Amerika in einem anderen Format als in Deutschland verwendet.
Gehen Sie bitte wie folgt vor:
- Shared Components -> Application Items
- Klicken Sie auf „Create“, um ein neues Application Item zu erzeugen.
- Geben Sie einen Namen ein, z.B. APPITM_PICK_DATE_FORMAT_MASK
Um dieses Application Item zu initialisieren,
- klicken Sie in der Breadcrumb Region auf „Shared Components“ und dann auf „Application Computations“
- Klicken Sie auf „Create“, um eine neue Computation zu erzeugen.
- Geben Sie bei „Computation Item“ den Namen des zuvor angelegten Items an oder wählen es aus der Liste aus.
- Wählen Sie einen „Computation Point“ aus. Hierbei bitte festlegen, wann die Initialisierung stattfinden soll.<br>Wenn Sie eine statische Wertzuweisung machen, wählen Sie am besten „On new Instance“ aus. D.h. dass diese Wertzuweisung nur beim Login ausgeführt wird. Möchten Sie diese Computation dynamisch unter gewissen Bedingungen ausführen, wählen Sie einen entspr. Wert aus.
- Nun noch „Computation Type“ und die „Computation“ selbst eingeben, z.B.
- Computation Type: Static Assignment
- Computation: DD.MM.YYYY
Hinweis!
In meinem Beispiel habe ich die Formatmaske dynamisch geändert!
Über 2 Links auf der Seite kann die Sprache geändert werden (in F146_LANGUAGE_PREFERENCE). In der Computation zu meinem Date-Format frage ich ab, welche Sprache gerade eingestellt ist und setze die Format-Maske entsprechend.
Pingback: Mehrsprachigkeit mit Oracle APEX – Oracle APEX – Erfahrungen – Tipps und Tricks