Angeben von Feldpositionen in Datensätzen mit Feldern fester Breite
Zum Definieren eines Datensatzes mit Feldern fester Breite müssen Sie Informationen zu den Positionen und Feldlängen innerhalb dieses Datensatzes angeben. Wenn der Datensatz untergeordnete Datensätze enthält, werden die Positionen und Längen von deren Feldern zusammengefasst, um die Informationen zum übergeordneten Datensatz zu ergänzen.
Die Summe der Werte, die Sie für die Eigenschaften Positional Offset und Positional Length für einen bestimmten Feldelement - oder Feldattributeknoten angeben, bestimmt die Anzahl der Zeichen, die dem entsprechenden Feld zugeordnet sind. Die Reihe dieser Summen entlang aller Felder des Datensatzes und dessen untergeordneten Datensätze bestimmen die Feldbegrenzungen in den Datensätzen.
Hinweis
Wenn die Count Positions In Bytes-Eigenschaft des Schemaknotens auf Ja festgelegt ist, geben die Eigenschaften Positionslänge und Positionsoffset Bytes anstelle von Zeichen an.
Weitere Details zu diesen Eigenschaften finden Sie in der Referenz zu Benutzeroberflächen und API-Namespace für Entwickler.
Eigenschaft "Positionsoffset"
Wenn der Flatfile-Disassembler eine Flatfile-instance Nachricht in eine entsprechende XML-instance-Nachricht konvertiert, definiert der Wert, den Sie für die Positional Offset-Eigenschaft angeben, eine Anzahl von Zeichen (oder Bytes), die ignoriert und an dieser Position in der instance Nachricht übersprungen werden. Mit anderen Worten, alle Informationen, die an dieser Startposition und -länge (letzteres wie durch die Positional Offset-Eigenschaft angegeben) in der Flatfile-instance Nachricht auftreten, werden nicht in die XML-Version der Nachricht kopiert.
Wenn der Flatfile-Assembler eine XML-instance-Nachricht in eine entsprechende Flatfile-instance Nachricht konvertiert, definiert der Wert, den Sie für die Positional Offset-Eigenschaft angeben, eine Anzahl von Zeichen (oder Bytes), die an dieser Startposition innerhalb der erstellten Flatfile-instance Nachricht mit Leerzeichen gefüllt werden. Zum Füllen von Offsetpositionen werden stets Leerzeichen verwendet. Das verwendete Zeichen kann nicht geändert werden.
Die Positional Offset-Eigenschaft bietet Flexibilität beim Interpretieren des Inhalts von Positionsdatensätzen. Im Wesentlichen ermöglicht Ihnen diese Eigenschaft, jegliche Daten mit fester Länge zu ignorieren, die dem Feld vorangehen, für das ein Wert ungleich Null festgelegt wurde. Bei diesen Daten mit fester Länge kann es sich um ein oder mehrere komplette Datenfelder oder um konstante Datentypen handeln (z. B. ein dem Feld zugeordnetes Tag), das nicht in der entsprechenden XML-Version der Flatfile-Instanznachricht enthalten sein muss. Weitere Informationen finden Sie im nachfolgenden Beispiel.
Eigenschaft "Länge von Feldern"
Wenn der Flatfile-Disassembler eine Flatfile-instance Nachricht in eine entsprechende XML-instance-Nachricht konvertiert, definiert der Wert, den Sie für die Positional Length-Eigenschaft angeben, die Anzahl der Zeichen (oder Bytes), die dem Feld an dieser Position in der instance Nachricht zugeordnet sind. Die Informationen, die an dieser Startposition und Länge in der Flatfile-instance Nachricht auftreten, stellen die Daten im Feld dar, vorbehaltlich der zusätzlichen Informationen, die durch die zugehörigen Eigenschaften "Begründung" und "Padzeichen" bereitgestellt werden. Weitere konzeptionelle Informationen zur Begründung und Feldfüllung finden Sie unter Feldbegründung und Feldfüllung.
Wenn der Flatfile-Assembler eine XML-instance-Nachricht in eine entsprechende Flatfile-instance Nachricht konvertiert, definiert der Wert, den Sie für die Positional Length-Eigenschaft angeben, eine Anzahl von Zeichen (oder Bytes), die zum Schreiben der diesem Feld zugeordneten Daten verfügbar sind. Wenn weniger Datenzeichen als die angegebene Feldlänge vorhanden sind, wird das entsprechende Auffüllzeichen zum Auffüllen der Differenz verwendet. Wenn mehr Datenzeichen als die angegebene Länge des Felds vorhanden sind, wird der Anfang oder das Ende der Daten basierend auf der Einstellung der Justification-Eigenschaft abgeschnitten und nicht in der Flatfile-instance Nachricht enthalten, die erstellt wird.
Hinweis
Bei linksbündigen Daten wird der abschließende Teil gekürzt und verworfen. Bei rechtsbündigen Daten wird der vorangehende Teil gekürzt und verworfen.
Beispiel
Nehmen Sie die folgenden Felddefinitionen für einen Datensatz an.
Feldknotenname | Offset | Länge | Padzeichen | Begründung |
---|---|---|---|---|
Field1 | 0 | 6 | Standard (Leerzeichen) | Left |
Field2 | 0 | 4 | * | Right |
Field3 | 2 | 6 | * | Left |
Field4 | 4 | 6 | Standard (Leerzeichen) | Right |
Der folgende Zeichenstrom tritt am Startpunkt eines Datensatzes mit diesen Felddefinitionen auf (die erste Zeile dient zum Zählen der Zeichenpositionen).
123456789012345678901234567890123456789012345678901234567890
abc **12345678**skip here
Wenn diese Felddefinitionen auf die Daten dieses Beispieldatensatzes angewendet werden, erzeugt der Flatfile-Disassembler das folgende XML-Äquivalent (wobei die Daten fett angezeigt werden).
<Field1>abc</Field1>
<Field2>12</Field2>
<Field3>5678</Field3>
<Field4>here</Field4>
Die folgenden Beobachtungen sind für die Art und Weise relevant, mit der diese Daten verarbeitet werden:
Die Mit Field1 verknüpften Zeichen (Länge 6 ohne Offset) sind " "
abc
, aber die Leerzeichen sind nicht in der XML enthalten, da das Leerzeichen das (Standard-)Padzeichen für Field1 und Field1 als linksbündig definiert ist.Die Mit Field2 verknüpften Zeichen (Länge 4 ohne Offset) sind "
**12
", aber die Sternchen sind nicht in der XML enthalten, da das Sternchen das für Field2 definierte Padzeichen ist und Field2 als rechtsbündig definiert ist.Die Mit Field3 verknüpften Zeichen (Länge 6 plus Offset 2) sind "
345678**
", aber die Zeichen 3 und 4 sind aufgrund des Offsets nicht im XML enthalten. Die Sternchen sind ebenfalls nicht in der XML-Version enthalten, da dieses Zeichen das für "Field3" definierte Auffüllzeichen ist und dieses Feld laut Definition rechtsbündig ist.Die Mit Field4 verknüpften Zeichen (Länge 6 und ein Offset von 4) sind "
skip here
", aber die Zeichenfolge "skip
" ist aufgrund des Offsets nicht in der XML enthalten. Die beiden Leerzeichen sind ebenfalls nicht in der XML-Version enthalten, da dieses Zeichen das standardmäßige Auffüllzeichen für "Field4" ist und dieses Feld laut Definition rechtsbündig ist.Wenn die vom Flatfile-Disassembler in diesem Beispiel erzeugte XML mit den gleichen Felddefinitionen an den Flatfileassember übergeben wird, werden die gleichen Flatfiledaten mit zwei Ausnahmen erstellt: Die verworfenen Offsetsequenzen 34 und Skip werden mit Leerzeichen gefüllt (mit dem Zeichen in der
^
Zeile, die den Daten folgt).
123456789012345678901234567890123456789012345678901234567890
abc **12 5678** here
^^ ^^^^
Weitere Informationen
- Überlegungen zu Feldern
- Feldausrichtung
- Auffüllen von Leerstellen in Feldern
- Weitere Informationen zu den folgenden Eigenschaften finden Sie in der Referenz zu Benutzeroberflächenleitfaden und API-Namespace für Entwickler:
- Anzahl der Positionen in Bytes (Node-Eigenschaft von Flatfileschemas)
- Begründung (Node-Eigenschaft von Flatfileschemas)
- Padzeichen (Node-Eigenschaft von Flatfileschemas)
- Positionsoffset (Node-Eigenschaft von Flatfileschemas)
- Positionslänge (Node-Eigenschaft von Flatfileschemas)