2016-04-05 24 views
1

Hallo dort Stackoverflow, ich habe mit der Herstellung einer flachen Dateischema sowie eine Karte beauftragt worden, aber unsere Spezifikationen sind, dass es 3 Felder,Flat File-Schema-Linien länger erwartet dann

---------- 
Name       Length 
---------- 
TIdentity     2 
OIdentity     17 
Result        2 

jedoch , die Datei, die wir erhalten, ist 500 (ish) Zeichen lang, gibt es eine Möglichkeit, die verbleibenden leeren Zeichen zu ignorieren?

Danke für jede Hilfe euch fähig sein könnte

+1

Dann ist entweder die Spezifikation falsch oder die Quelle hat einen Fehler. Sie sollten versuchen, diese zuerst zu korrigieren. Frage: Ist jede Zeile sonst CR | LF abgegrenzt? –

Antwort

1

Sie sollten es auf jeden Fall sicherstellen, die Spezifikation und Beispieldateien zu liefern korrekt (vor allem, dass die Spezifikation keine Leerzeichen Anforderungen/Optionen enthält), aber vorausgesetzt, sie sind und Sie‘ Wenn Sie nur den Whitespace ignorieren möchten, können Sie einen Knoten erstellen, in den Whitespace eingefügt und ignoriert werden.

Ohne etwas mehr über Ihre Anforderungen zu wissen, ist es schwierig, genau zu sagen, wie das funktionieren soll. Wenn das Leerzeichen immer eine feste Länge hat, erstellen Sie einen Knoten, der so viele Zeichen erwartet. Wenn es nicht immer eine feste Länge ist, müssen Sie möglicherweise einen sich wiederholenden Knoten erstellen, der ein Zeichen lang ist, aber nicht den Aufzeichnungs-Terminator (vermutlich CR/LF oder etwas Ähnliches). Wenn das Whitespace selbst das Trennzeichen ist, können Sie möglicherweise etwas mit dem ignore_trailing_delimiter auf dem Datensatz tun.

Worst Case Szenario (Whitespace ist variabel, Sie können nicht den Partner steuern, der es an Sie sendet, und Sie können das FFDASM nicht vernünftig behandeln), schreiben Sie eine benutzerdefinierte Decode Komponente, um die Datei und entferne den überflüssigen Leerraum.