edifact/eancom DTM type check(format a, check type b, [force false c])

Prev Next

Gibt true zurück, wenn der DTM-Formatcode a (Datenelement 2379) einen Wert des über b angegebenen Typs darstellt, andernfalls false. Der Formatcode stammt aus einem EDIFACT- oder EANCOM-DTM-Segment.

Beispiel: In DTM+137:20240302:102' ist der Formatcode 102.

Mit dieser Funktion lässt sich entscheiden, wie der Wert eines DTM-Segments verarbeitet werden muss, bevor edifact/eancom DTM to timestamp parsing oder edifact/eancom DTM to number parsing aufgerufen wird, z. B. in der Bedingung eines Mappings. Geprüft wird nur der Formatcode; der Wert des DTM-Segments wird dafür weder benötigt noch herangezogen .

Führende und nachfolgende Leerzeichen in Formatcode a und Prüftyp b werden entfernt; die Groß-/Kleinschreibung spielt keine Rolle.

Parameter

Parameter

Beschreibung

a

DTM-Formatcode (Datenelement 2379), z. B. 102, 203, 718. Siehe Abschnitt Formatcodes. Ein unbekannter Formatcode führt zu einem Abbruch mit Fehler.

b

(optional) Zu prüfender Typ.

  • date(time) – Der Formatcode stellt Datum und/oder eine Uhrzeit dar, kann also mit edifact/eancom DTM to timestamp parsing verarbeitet werden.

  • only_date – Der Formatcode stellt ein Datum ohne Uhrzeit dar.

  • only_time – Der Formatcode stellt eine Uhrzeit ohne Datum dar.

  • number – Der Formatcode stellt eine Zahl dar oder enthält eine Zahl, kann also mit edifact/eancom DTM to number parsing verarbeitet werden.

  • has_range – Der Formatcode stellt einen Zeitraum mit einem Anfangs- und einem Endteil dar.

Default: date(time)

c

(optional) Erzwingt einen leeren Wert. Bei true gibt die Funktion sofort einen leeren Wert mit gesetztem Empty Flag zurück, ohne den Formatcode a zu prüfen – z. B. wenn das Quellfeld leer ist. Default: false

Formatcodes

Die folgende Tabelle listet die unterstützten Formatcodes und die Prüftypen auf, für die die Funktion true zurückgibt. Für alle anderen Kombinationen ist das Ergebnis false.

Codes

Bedeutung

date(time)

only_date

only_time

number

has_range

2, 3, 4, 101, 102, 103, 105, 106, 600, 601, 602, 603, 604, 608, 609, 610, 613, 614, 615, 616

Kalenderdatum

true

true

false

false

false

6, 7, 8, 9

Kalenderdatum, gefolgt von einer Zahl (Monatshälfte, Woche des Monats, Schicht, Zeitabschnitt)

true

true

false

true

false

5, 10, 201, 202, 203, 204, 205, 206, 207, 208, 301, 302, 303, 304, 305, 306, 307

Datum mit Uhrzeit

true

false

false

false

false

209, 401, 402, 404, 405, 406

Uhrzeit

true

false

true

false

false

104, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 715, 716, 717, 718

Zeitraum aus zwei Kalenderdaten

true

true

false

false

true

308, 713, 719, 720, 721, 20E, 21E, 22E

Zeitraum aus zwei Datum-Uhrzeit-Angaben

true

false

false

false

true

210, 501, 502, 503

Zeitraum aus zwei Uhrzeiten

true

false

true

false

true

107, 108, 109, 110, 801–814

Zahl (Tages-, Wochen- oder Monatsnummer; Anzahl von Jahren, Monaten, Wochen, Tagen, Stunden, Minuten, Sekunden, Halbjahren, Viermonatszeiträumen, Trimestern, halben Monaten, Zehntageszeiträumen, Wochentagen, Arbeitstagen)

false

false

false

true

false

EANCOM definiert zusätzlich die Codes 20E, 21E und 22E (in der Tabelle bei den Datum-Uhrzeit-Zeiträumen aufgeführt), die nicht in der UN-Codeliste enthalten sind. Die Definition der übrigen Formatcodes finden Sie in der Codeliste des UN/CEFACT-Datenelements 2379: UN/CEFACT UNCL 2379.

Beispiele

Der Parameter c ist leer, sofern nicht anders angegeben.

Parameter a

Parameter b

Parameter c

Ergebnis

6

only_date

true

6

number

true

102

true

102

date(time)

true

102

only_date

true

102

only_time

false

102

number

false

102

has_range

false

102

ONLY_DATE

true, der Prüftyp berücksichtigt keine Groß-/Kleinschreibung

102

only_date

true

Leerer Wert mit gesetztem Empty Flag, a wird nicht geprüft

203

date(time)

true

203

only_date

false

308

date(time)

true

308

has_range

true

501

only_time

true

501

has_range

true

501

only_date

false

801

date(time)

false

801

number

true

Fehlerbehandlung

Parameter a

Parameter b

Ergebnis

999

date(time)

Abbruch mit Fehler unsupported format code: '999'.

102

weekday

Abbruch mit Fehler invalid check type 'weekday'.