Beibehalten vorangestellter Nullen bei der Konvertierung

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Datenquellen und -ziele >  EDI  > TRADACOMS >

Beibehalten vorangestellter Nullen bei der Konvertierung

In der TRADACOMS-Spezifikation ist der Datentyp der Datenelemente TRDT-1 und TRDT-2 (Datum und Uhrzeit der Übertragung) als "decimal" definiert. Das bedeutet, dass alle vorangestellten Nullen in diesen Feldern beim Mappen der Daten von den Feldern TRDT-1 oder TRDT-2 standardmäßig bei der Konvertierung entfernt würden, was zu unerwünschten Ergebnissen führen würde. Dies kann auch bei anderen Datenelementen, die als "decimal" definiert sind, die aber Werte enthalten, die als Strings zu behandeln sind, vorkommen.

 

Sie können in MapForce einstellen, dass numerische Felder als Strings behandelt werden (sodass vorangestellte Nullen erhalten bleiben), indem Sie die MapForce-Funktion core | format-number anwenden. Im folgenden Beispiel ist der Wert des Datenelements TRDT-1 in der Quelldatei "020312". Normalerweise würde der Wert dieses Datenelements (aufgrund der Konvertierung in eine Dezimalzahl) als "20312" ausgegeben, was nicht das gewünschte Ergebnis ist. Um die vorangestellte Null beizubehalten, wurde die format-number Funktion zum Mapping hinzugefügt. (Informationen zum Arbeiten mit Funktionen finden Sie unter Arbeiten mit Funktionen.)

fct_format-number_example

Beibehalten vorangestellter Nullen mit Hilfe der format-number-Funktion

Wie oben gezeigt, hat die Funktion die folgenden zwei Input-Argumente:

 

1.den zu formatierenden Wert (in diesem Fall "020312").
2.die Formatmaske "000000".

 

Um das Ergebnis der Funktion zu testen, wird in diesem Beispiel eine einfache Output-Komponente verwendet (siehe Rückgabe von String-Werten aus einem Mapping). Wenn Sie auf die Schaltfläche Ausgabe klicken, ist die Ausgabe des Mappings (welches auch das Ergebnis der Funktion ist), wie gewünscht, "020312".


© 2019 Altova GmbH