Anfang des Inhaltsbereichs

Längen- und Abstandsermittlung  Dokument im Navigationsbaum lokalisieren

Mit den Anweisungen DESCRIBE FIELD und DESCRIBE DISTANCE kann die Feldlänge oder der Abstand zwischen zwei Feldern ermittelt werden. Bei folgenden Varianten müssen unter Unicode die Zusätze IN BYTE/CHARACTER MODE angegeben werden:

DESCRIBE FIELD f LENGTH len IN BYTE MODE.

Die Länge des Feldes f wird in Bytes ermittelt und in das Feld len übergeben.

Hinweis

Diese Variante liefert für alle intern referenzierten Datentypen (Strings, Feld- und Objektreferenzen) die Länge der Referenz und nicht die Länge des Inhalts. Für derartige Felder ist deshalb nur die Variante IN BYTE MODE erlaubt.

DESCRIBE FIELD f LENGTH len IN CHARACTER MODE.

Hier wird die Länge des Feldes f in Zeichen zurückgegeben, falls das Argument rein zeichenartig ist. f darf jedoch nicht vom Typ STRING sein. Die betreffende Prüfung wird statisch und dynamisch durchgeführt und löst je nach Typ einen Syntax- oder Laufzeitfehler aus.

DESCRIBE DISTANCE BETWEEN a AND b INTO x IN BYTE MODE.

Diese Anweisung liefert im Feld x den Abstand zwischen den Feldern a und b in Bytes.

DESCRIBE DISTANCE BETWEEN a AND b INTO x IN CHARACTER MODE.

Diese Anweisung liefert den Abstand in Zeichen zurück, wobei das Ergebnis stets auf die Feldanfänge bezogen ist. Nur zur Laufzeit wird geprüft, ob der Abstand zwischen den Argumenten durch die plattformabhängige Länge eines Zeichens teilbar ist und die beiden Felder a und b das richtige Alignment besitzen. Anderenfalls wird ein Laufzeitfehler ausgelöst.