Stringverarbeitung für Bytefolgen
Zusatz IN BYTE MODE
Die String-Anweisungen für die Typen X und XSTRING werden durch den Zusatz IN BYTE MODE von den Zeichenkettenbefehlen unterschieden. Für die Varianten der Zeichenketten ist optional der Zusatz IN CHARACTER MODE möglich.
Ist der Zusatz IN BYTE MODE angegeben, sind als Argumente nur X-Felder und X-Strings erlaubt. Werden Argumente eines anderen Typs übergeben, so wird ein Syntax- oder ein Laufzeitfehler ausgelöst.
CLEAR ... WITH IN BYTE MODE
CONCATENATE x1 ... xn INTO x IN BYTE MODE
FIND ... IN BYTE MODE
REPLACE ... IN BYTE MODE
REPLACE f WITH g INTO h IN BYTE MODE
SEARCH x FOR x1 IN BYTE MODE
SHIFT x ... IN BYTE MODE
SPLIT ... IN BYTE MODE
Bei allen String-Befehlen für Bytefolgen werden X-Felder immer in ihrer vollen Länge berücksichtigt, so daß Bytes mit Inhalt X'00' am Ende des Feldes niemals abgeschnitten werden. Für die Anweisungen FIND, SEARCH und REPLACE mit Zusatz IN BYTE MODE gibt es keine Varianten, die Suchmuster verwenden.
Stringlänge
Die Stringlänge für Bytefolgen kann mit der Funktion XSTRLEN bestimmt werden. XSTRLEN liefert für X-Strings die aktuelle Länge und für X-Felder die definierte Länge in Bytes, wobei Nullbytes am Ende von Feldern mitgezählt werden.
Stringvergleichsoperationen
Die X-Varianten der Stringvergleichsoperationen werden durch das Präfix BYTE- von den Zeichenkettenvarianten unterschieden. Als Argumente sind für diese Operationen nur X-Felder und Felder vom Typ XSTRING erlaubt.
BYTE-CO
BYTE-CN
BYTE-CA
BYTE-NA
BYTE-CS
BYTE-NS