Wertauflöser - Kurzfassung
Zweck: Wandelt einen Datumswert oder Datumsbereich im Eingabewert in eine formatierte Zeichenfolge um, die einen Zeitpunkt oder ein Intervall beschreibt.
Tooltip
Verwendung: Aus einem Eingabewert, der einen Zeitpunkt (Datum/Uhrzeit mit Zeitzone) oder ein Intervall (Datum/Zeit-Bereich mit Zeitzone) definiert, wird über das als Format definierte Pattern formatiert.
Parameter:
Der optionale Parameter Format kann das Pattern per Direkteingabe (statisch) oder über einen Wertauflöser (dynamisch) definieren. Ohne Angabe greifen Standard-Patterns für die Aktuelle Sprache oder die ausgewählte Sprache.
Das Standard-Pattern wir über die Sprachverwaltung oder Firmenspezifische Sprachanpassungen definiert:[lobsterui,dateFormat] [lobsterui,timeFormat]Der optionale Parameter Sprache erscheint nur im serverseitigen Einsatz. Die Auswahl betrifft lokalisierbare Komponenten im Format bzw. die Auswahl des Standard-Formats aus der Sprachverwaltung. Ohne Angabe greift das serverseitige Java-Locale.
Clientseitig gilt für die Lokalisierung alternativlos die Aktuelle Sprache.Hinweis: Abhängig vom Einsatzkontext des Wertauflösers (Server vs. Client) greifen ggf. unterschiedliche Regeln und Restriktionen für die Interpretation des Patterns (Details s. Handbuch).
Im Server-Kontext (z. B. Ereignisbehandlungen) | Im Client-Kontext (z. B. Client Workflow) |
|---|---|
|
|
Der Datum formatieren-Wertauflöser wandelt den als Eingabewert anliegenden Datumswert oder Datumsbereich nach der als Format definierten Vorlage (Pattern) in eine formatierte Zeichenfolge um.
Interpretation von Datumswerten ohne deklarierte Zeitzone
Ein
Long-Wert als Eingabewert wird als Millisekunden seit 01.01.1970 00:00:00.000 (UTC) interpretiert. Allerdings gilt dabei - wie für alle als Datum interpretierten Eingabewert-Typen ohne Zeitzone (Long,Timestamp,Date) - nicht die ZeitzoneUTCals Standard. Vielmehr wird die im Kontext anwendbare Standard-Zeitzone nach folgender Logik berücksichtigt:
Sofern für den Benutzer der Session (in der tatsächlich angemeldeten Sitzung) eine "Default Zeitzone" (
defaultTimeZone) definiert ist, wird diese verwendet.Andernfalls wird auf das Konto der Firma der Session (in der tatsächlich angemeldeten Sitzung) und die dort ggf. definierte "Default Zeitzone" (
defaultTimeZone) zurückgegriffen.Nur wenn keines der beiden Konten eine "Default Zeitzone" für die tatsächlich angemeldete Sitzung definiert, gibt die Auswahl für die Zeitzone im Betriebssystem des Servers oder Clients den Ausschlag:
Im Server-Kontext (z. B. für Ereignisbehandlungen) wird die Zeitzone aus dem Ausführungskontext des Lobster Data Platform / Orchestration-Servers übernommen.
Im Client-Kontext (z. B. in einem Client Workflow) wird die Auswahl für die Zeitzone im Client-Betriebssystem übernommen.
Für einen Datumsbereich wird dasselbe Format für Von- und Bis-Zeitpunkt angewendet.
Der Rückgabewert des Wertauflösers zeigt einen Datumsbereich nur als Intervall an, wenn sich die formatierten Werte (Von/Bis) unterscheiden.
Ein Relativer Datumsbereich mit Zeit-Wertauflöser mit dem Typ "Dieses Jahr" ergibt bei einer Formatierung mit Datum, Uhrzeit und Zeitzone z. B. das folgende Intervall:
01.01.2022 00:00 (UTC) - 31.12.2022 23:59 (UTC)
Sofern die formatierten Zeichenfolgen für Von-Zeitpunkt und Bis-Zeitpunkt eines Datumsbereichs identisch ausfallen, definiert der Rückgabewert kein Intervall, sondern nur den (gemeinsamen) Zeitpunkt.
Ein Relativer Datumsbereich mit Zeit-Wertauflöser mit dem Typ "Dieser Tag" ergibt für ein Format, das nur Datum und Zeitzone verwendet, z. B. den folgenden Rückgabewert:
30.04.2022 (UTC)
Konfiguration
Im optionalen Parameter Format kann per Direkteingabe (als statischer Text) oder über Wertauflöser zur Laufzeit ein sogenanntes Pattern festgelegt werden, das die gewünschte Kombination von Datum/Uhrzeit-Komponenten in Kombinationen mit "Literalen" (z. B. Trennzeichen) definiert.
Der optionale Parameter Sprache wird nur im serverseitigen Einsatz unterstützt. Er definiert explizit die Sprache für Lokalisierungen im Rückgabewert und ggf. das anwendbare Standard-Pattern.
Wie und welche Pattern letters im Parameter Format zur Laufzeit interpretiert werden, hängt vom Einsatzkontext des Wertauflösers ab:
Einsatzkontext | Interpretation des Patterns im Parameter "Format" | Beispiel |
|---|---|---|
Server | Pattern-Syntax für das Java SimpleDateFormat mit den folgenden Ausnahmen:
Serverseitig erfolgt per Standard keine Lokalisierung von Datumskomponenten (im Unterschied zum Client, der analog zur fd (Datum formatieren)-Funktion lokalisiert). Über den optionalen Parameter Sprache kann allerdings explizit die für Lokalisierungen zu berücksichtigende Sprache statisch (durch Statische Werte in der Konfiguration) oder dynamisch (über Wertauflöser anderer Kategorien) definiert werden. Ohne Zuordnung einer Sprache greift serverseitig das Java-
|
liefert z. B.
... sofern der Ausführungskontext des Lobster Data Platform / Orchestration-Servers "Englisch" lokalisiert ist. |
Client | Eingeschränkte Pattern-Syntax, wie für die Funktion fd (Datum formatieren) beschrieben:
Lokalisierung von Datumskomponenten (über Sprachverwaltung bzw. Firmenspezifische Sprachanpassungen), wie für die Funktion fd (Datum formatieren) beschrieben
|
liefert immer
liefert z. B.
|
Ohne Angabe eines Patterns für die Format-Zeichenfolge werden Lokalisierungseinträge aus der Sprachverwaltung oder Firmenspezifische Sprachanpassungen nach dem folgenden Schema als Standard-Pattern zugeordnet:
Schema für das Standard-Pattern
[lobsterui,dateFormat] [lobsterui,timeFormat]Die Sprachverwaltung sieht per Standard folgende Lokalisierungen für das Standard-Pattern vor:
Komponente | Bundle | Resource | Sprache | Standard-Pattern | Beispiel |
|---|---|---|---|---|---|
Datum |
|
| Deutsch ( |
|
|
Englisch ( |
|
| |||
Uhrzeit |
| Deutsch ( |
|
| |
Englisch ( |
|
|
Die beiden Komponenten (Datum und Uhrzeit) werden per Standard gemeinsam (getrennt durch ein Leerzeichen) ausgegeben.
►HINWEIS◄ Die als Lokalisierungstexte hinterlegten Patterns sollten so definiert sein, dass sie der restriktiveren Syntax für den Client-Kontext entsprechen (s. Tabelle oben). Anderenfalls liefert der Datum formatieren-Wertauflöser im clientseitigen Einsatz immer $null als Rückgabewert, wenn kein Format angegeben ist.
Weitere Standard-Lokalisierungen in der Sprachverwaltung, die für die Ausgabe relevant sein können:
Komponente | Pattern | Bundle | Resource | Sprache | Standard |
|---|---|---|---|---|---|
Datum | Monat |
|
| Deutsch ( |
|
Englisch ( |
| ||||
Monat (kurz) |
| Deutsch ( |
| ||
Englisch ( |
| ||||
Wochentag |
| Deutsch ( |
| ||
Englisch ( |
| ||||
Wochentag (kurz) |
| Deutsch ( |
| ||
Englisch ( |
| ||||
Quartal |
| Deutsch ( |
| ||
Englisch ( |
| ||||
Uhrzeit | AM/PM |
| Deutsch ( |
| |
Englisch ( |
| ||||
| Deutsch ( |
| |||
Englisch ( |
|
Beispiele
Formatierung eines Datumswerts
Konfiguration | Ergebnis (im Server-Kontext) | Ergebnis (im Client-Kontext) |
|---|---|---|
|
Aufgrund der Einstellungen für den Ausführungskontext des Lobster Data Platform / Orchestration-Servers erscheint das Datumsformat (hier) immer in Java-"Englisch" |
Im Client werden die Lokalisierungen für die Sprache "Deutsch" ( |
Im Beispiel wird die aktuelle Uhrzeit über einen Wertauflöser vom Typ Relatives Datum mit Zeit ermittelt. Sie soll formatiert als Text einer Meldung erscheinen.
Der Datum formatieren-Wertauflöser wird per Verkettung nachgeschaltet, um die Ausgabe von Datum und Uhrzeit (hier inkl. Zeitzone) zu formatieren.
Formatierung von Datum und Uhrzeit per Standard je Sprache
Konfiguration | Ergebnis (DE) | Ergebnis (EN) |
|---|---|---|
Ohne Parameter werden die Standardformate für Datum und Uhrzeit aus der Sprachverwaltung (s. o.) angewendet. Würde auf den Datum formatieren-Wertauflöser im Kontext der Meldung dagegen komplett verzichtet, dann zeigt die Meldung das String-Abbild für den "Datumsbereich mit Zeit" im folgenden Format:
|
|
|
►WICHTIG◄ Falls das über den Lokalisierungseintrag definierte Standard-Pattern lokalisierbare Komponenten (z. B. das Pattern Der serverseitige Ausführungskontext ist auch maßgeblich für andere Aspekte der Datumsbehandlung in Lobster Data Platform / Orchestration. Dazu gehört u. a. die Einstellung für den ersten Tag der Woche. Ob die "Aktuelle Kalenderwoche" - wie oben links - von Montag (11.03.2019) bis Sonntag oder - wie oben rechts - von Sonntag (10.03.2019) bis Montag abgegrenzt wird, hängt ausschließlich von der serverseitigen Einstellung für den ersten Tag der Woche ab. Die beiden Screenshots wurde also auf zwei unterschiedlichen Systemen erzeugt. ►ANMERKUNG◄ Die Sprachverwaltung enthält einen Eintrag | ||
Formatierung von Datum und Uhrzeit für eine bestimmte Sprache
Im Kontext einer Ereignisbehandlung soll im "Betreff" einer E-Mail für eine Buchungsbestätigung das Buchungsdatum ausdrücklich unter Verwendung der in Lobster Data Platform / Orchestration festgelegten Lokalisierung für die Sprache en_US wiedergegeben werden.
Die Ausgabe soll ohne Rücksicht auf die Aktuelle Sprache für eine Buchung für den 04.07.2022 wie folgt aussehen: "CONFIRMED: MON04JUL22"
Konfiguration:
Im Betreff der E-Mail-Versand-Ereignisaktion, wird der auszugebende Text durch die rechts abgebildete Verkettung von Wertauflösern erzeugt:
|
|
►HINWEIS◄ Die einfachen Hochkommas ('...') sind hier unbedingt erforderlich, damit der Text "CONFIRMED: " als Literal verarbeitet wird. Anderenfalls verursacht schon der erste Buchstabe ("C") eine Fehlermeldung (IllegalArgumentException: Illegal pattern character) auf.










