CX_ASCII_FILE::ReformatRecord
Beschreibung:
Mit dieser Funktion wird ein mit SetRecordFormat definierte Satzformat geändert. Unter dem Satzformat ist dabei nicht der komplette Aufbau eines Satzes, sondern nur die Definition der Felder, die für die aktuell anstehende Verarbeitung benötigt werden, zu verstehen.
Code-Beispiel:
[ 0 48 ] 48 TRUE file Call(SetRecordFormat) ::::::::::::::::::::::::::::::::::::::::::: // Record type 6 file Call(GetFieldFromBuffer) -> recordType recordType case "A": [ 0 18 19 8 27 5 32 2 34 14 ] TRUE file Call(ReformatRecord) "L": [ 0 18 19 6 25 5 30 2 32 16 ] TRUE file Call(ReformatRecord) "M": continue endCase
Der Zahlen-Vektor kann sowohl Längenangaben, als auch Positionsangaben, enthalten. Wird in dem Wahrheitswert TRUE übergeben, so besteht der Vektor aus Paaren, die sich jeweils aus einer Position und einer Längenangabe zusammensetzen. Dabei können u.U. Leerräume entstehen, falls eine Position um mehr als eine Stelle von der Position, die sich aus der Summe der vorhergehenden Position und deren Längenangabe zusammensetzt, entfernt ist. Ein Beispiel hierfür ist weiter unten aufgeführt. Wird hingegen FALSE übergeben, so besteht der Vektor nur aus Längenangaben, was auch zur Folge hat, dass keine Leerräume mehr entstehen können.
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(IN) | Top | CX_ASCII_FILE | Datei |
Top-1 | INTEGER | Wahrheitswert, der anzeigt, ob in dem Vektor auch Positionen enthalten sind | |
VECTOR<INTEGER> | die Feldlängen (und evt. Positionen) | ||
Stack(OUT) | Top | - | - |