Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation Umwandlung des Datei-Inhalts im Empfänger-Adapter  Dokument im Navigationsbaum lokalisieren

Falls Sie unter Message-Protokoll Umwandlung des Datei-Inhalts ausgewählt haben, dann können Sie in diesem Modus die Konvertierung einer XML-konform dargestellten Tabelle in reines Textformat vornehmen. Erwartet wird eine XML-Struktur, die die aufgeführte Struktur als Knoten mit beliebig vielen Elementen ohne weitere Unterknoten gefüllt enthält.

Die erwartete Dokumentstruktur sieht in der Regel folgendermaßen aus:

<root>...

     <nameA>

         <value1>value</value1>

         <value2>value</value2>

         <value3>value</value3>

     </nameA>

     <nameB>

         <value4>value</value4>

     </nameB>

...

</root>...

Sie können alle Elementnamen frei definieren. Unterhalb des Wurzelelements sind beliebig viele verschiedene Unterstrukturen möglich, die auf verschiedene CSV-Strukturen abgebildet werden können.

Dateistruktur

Die im Folgenden beschrieben Angaben werden dazu verwendet, aus dem XML-Dokument eine Textdatei zu konstruieren.

·        Recordset-Struktur

Geben Sie die Unterstrukturen nach dem Muster NameA,NameB,... an.

Hinweis

Es genügt die Angabe einer einzigen Struktur, wenn alle Unterstrukturen mit den gleichen Parametern konvertiert werden sollen. Die Angaben werden automatisch auf alle Unterstrukturen angewendet.

Wenn Sie mehr als eine Struktur angeben, dann muss die Liste alle im Dokument vorkommenden Strukturen enthalten. Die Liste muss vollständig sein, sonst wird zur Laufzeit ein Verarbeitungsfehler ausgelöst.

Setzen Sie Parameter für alle angegebenen Recordset-Strukturen NameA, NameB, etc. in der folgenden Tabelle:

Angaben für Recordset-Struktur

Parametername

Bedeutung

NameA.addHeaderLine

Geben Sie an, ob in der Textdatei eine Kopfzeile mit Spaltennamen vorhanden sein soll. Folgende Werte sind erlaubt:

·        0, keine Kopfzeile

·        1, Kopfzeile mit Spaltennamen aus XML-Dokument

·        2, wie 1, gefolgt von Leerzeile

·        3, Kopfzeile ist als NameA.headerLine in der Konfiguration hinterlegt und wird übernommen.

·        4, wie 3, gefolgt von Leerzeile

Hinweis

Diese Angabe ist nur dann erlaubt, wenn genau eine Struktur definiert wird.

NameA.headerLine

Geben Sie die Kopfzeile an, die in der Textdatei erzeugt wird, wenn NameA.addHeaderLine den Wert 3 oder 4 hat. In diesem Fall ist die Angabe zwingend erforderlich.

NameA.fieldFixedLengths

Geben Sie eine Zeichenkette an, die eine Liste von festen Spaltenbreiten enthält, die durch Kommata getrennt sind und die die Anzahl und Länge der in der Textdatei erzeugten Spalten bestimmen.

Die Angabe von NameA.fieldFixedLengths ist zwingend, wenn bei NameA.fieldSeparator keine Angabe gemacht wird.

NameA.fixedLengthTooShortHandling

Geben Sie an, wie bei einer Angabe von NameA.fieldFixedLengths Überschreitungen von dort definierten Spaltenbreiten durch die tatsächlich im Dokument gefundenen Werte behandelt werden sollen. Erlaubte Werte sind:

·        Error

Error bedeutet einen Abbruch der Verarbeitung des Dokuments.

·        Cut

Cut bedeutet ein Abschneiden des vorgefundenen Wertes auf die maximal erlaubte Länge.

·        Ignore

Ignore bedeutet, dass der gefundene Wert ungeachtet der Längenüberschreitung komplett übernommen wird. Nachfolgende Spalten verschieben sich dadurch entsprechend.

NameA.fieldSeparator

Eine hier angegebene Zeichenkette wird bei allen Spalten außer der letzten als Trennzeichen angefügt. Sie können diese Zeichenkette auch zusätzlich zu NameA.fieldFixedLengths angeben.

Haben Sie bei NameA.fieldFixedLengths keine Angabe gemacht, ist dies die einzige Angabe zur Identifikation der einzelnen Spalten einer Reihe.

Haben Sie bei NameA.fieldFixedLengths eine Angabe gemacht, wird die Länge des Trennzeichens nicht auf diese Länge angerechnet.

Hinweis

Es muss mindestens NameA.fieldFixedLengths oder NameA.fieldSeparator spezifiziert sein.

Wenn Sie ausschließlich NameA.fieldSeparator spezifiziert haben, können die Strukturen des XML-Dokuments unterschiedlich viele Elemente besitzen, die dann in der Textdatei durch den Wert von NameA.fieldSeparator getrennt aneinandergefügt werden. Bei der Angabe von NameA.fieldFixedLenghts ist das nicht möglich, da durch die Aufzählung der Spaltenbreiten auch die Anzahl der Spalten festgelegt wird.

NameA.endSeparator

Eine hier angegebene Zeichenkette wird bei der letzten Spalte als Abschlusszeichen angefügt. Diese Angabe können Sie auch zusätzlich zu NameA.fieldFixedLengths machen. Ein gewollter Zeilenumbruch nach dem Abschlusszeichen muss explizit durch Anhängen von ´nl´ (einschließlich der Hochkommata) an die Zeichenkette definiert werden.

Der Vorschlagswert ist ein Zeilenumbruch (also kein explizites Trennzeichen nach der letzten Spalte; statt dessen sind die Strukturen zeilenweise angeordnet).

NameA.beginSeparator

Eine hier angegebene Zeichenkette wird bei der ersten Spalte vorangestellt. Diese Angabe können Sie auch zusätzlich zu NameA.fieldFixedLengths machen.

Der Vorschlagswert ist eine leere Zeichenkette (also kein Trennzeichen vor der ersten Spalte).

 

 

Hinweis

Sonderzeichen in den Zeichenketten für Trennzeichen:

In allen Zeichenketten für Trennzeichen (NameA.fieldSeparator, NameA.beginSeparator, und NameA.endSeparator) ist die Angabe von nicht-druckbaren ASCII-Zeichen möglich. Diese Zeichen können in der Form ´0xHH´ (einschließlich Hochkommata) jeweils einzeln in die Zeichenketten eingefügt werden, wobei HH das als Hexadezimalwert kodierte Zeichen darstellt. Ein Zeilenumbruch kann als Zeichen ´nl´ (einschließlich Hochkommata) eingefügt werden; nl steht für new line. Das Sonderzeichen ´0´ bedeutet kein Separatorzeichen.

 

Hinweis

Feste Spaltenbreite des Textdokuments:

NameA.absoluteRowWidth=<noOfColumns>

Enthalten die Trennzeichen keine Zeilenumbrüche, wird das Textdokument als einzeiliger Text erzeugt. Soll die Textbreite beschränkt werden, kann dies mit diesem Parameter geschehen, wobei <noOfColumns> die maximal Anzahl der Spalten darstellt. Dieser Parameter funktioniert auch zusammen mit der Angabe eines Zeilenumbruchs bei xml.endSeparator.

Dieser Wert setzt die Angabe NameA.addHeaderLine=0 voraus.

 

Ende des Inhaltsbereichs