Anfügen Newline zu Flat-File-Schema in BizTalk 2006 R2
-
03-07-2019 - |
Frage
Ich habe ein Flat-File-Schema, das einen Header und Detail Records hat. Es sieht etwa so aus:
HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***
Ich brauche zwei Leerzeilen am Ende der Nachricht anzuhängen. Gerade jetzt, wenn ich mehrere Datensätze habe ich erhalten die folgende Ausgabe:
HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***
HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***
Was will ich sehen, geschehen ist so etwas wie folgt aus:
HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***
HDR**2401*XX0062484*22750***20081006000000*000*******
LIN**001*788-0538-001*4891-788538010*20000*EA**0000***
Ich kann eine benutzerdefinierte Pipelinekomponente bauen, dies zu tun, aber ich frage mich, ob es ein einfacherer Weg zu bekommen, was ich brauche ist?
Lösung
Es soll möglich sein, zu erreichen, was Sie wollen, indem Sie die Trennzeichen Eigenschaften des Flat-File-Schema verwendet wird.
Auf der Basis Ihrer Beispieldatei erstellt ich ein Schema mit der folgenden Satzstruktur:
<Schema> <Root> <HDRGroup> <HDR> <LIN>
Wenn Sie auf den Wurzelknoten Ihres Schemas klicken, sollten Sie eine Liste der Eigenschaften für diesen Stammknoten sehen. Ein Abschnitt Eigenschaften hat den Header ‚Flat File‘. In diesem flachen Abschnitt Datei die ersten drei Eigenschaften, die Sie sind Child Trennzeichen, Kind Trennzeichentyp und Kinder Auftrag einstellen können.
Hier können Sie das Schema konfigurieren Sie die Leerzeilen erstellen (in diesem Fall CR LF, aber Sie können verschiedene Dinge einstellen, wie Sie benötigen) Für Ihr Beispiel I nachfolgende Einstellungen vor:
Child Delimiter: 0x0D 0x0A 0x0D 0x0A Child Delimiter Type: Hexadecimal Child Order: Infix
0x0D 0x0A ist eine CRLF, so dass die oben einfach zwei Leerzeilen erzeugt, zwischen jedem Kind des Wurzelknotens Infix.
Die
Child Delimiter: 0x0D 0x0A Child Delimiter Type: Hexadecimal Child Order: Postfix
Das
Dieses Schema arbeitet für etwas, das sieht für mich wie das, was Sie gefragt haben - diese Art von Flatfile-Schema und wie es eine Datei analysiert ist in hohem Maße abhängig von den kleinen Details, aber wie, welche Art von Zeilenumbrüchen sind und wenn es bricht Zeile am Ende der Datei.
Die princples die Trennzeichen der Verwendung stehen wird, werden Sie wahrscheinlich finden Sie mit den Einstellungen basteln müssen.
Andere Tipps
Für alle, die sich interessiert, habe ich endlich nachgegeben und schrieb dies eine benutzerdefinierte Pipelinekomponente zu erreichen.