ストリング命令

ストリング命令を次の表に示します。

表 61. ストリング命令
命令 従来型の構文 自由形式構文
連結 CAT (2 つの文字ストリングの連結) + 演算子
チェック CHECK (文字の検査) %CHECK (文字の検査)
逆向きの検査 CHECKR (逆向きの検査) %CHECKR (逆向きの検査)
作成 %STR (ヌル文字で終了するストリングの入手または保管)
置換 %REPLACE (文字ストリングの置換)
走査 SCAN (ストリングの走査) %SCAN (文字の走査)
サブストリング SUBST (サブストリング) %SUBST (サブストリングの検索)
変換 XLATE (変換) %XLATE (変換)
ブランクのトリミング %TRIM (両端の文字のトリミング)%TRIML (先行文字のトリミング)、または %TRIMR (末尾の文字のトリミング)

ストリング命令には、連結、走査、サブストリング化、変換、および検査が あります。 ストリング命令を使用できるのは、文字フィールド、図形フィールド、または UCS-2 フィールドに対してだけです。

CAT 命令では、2 つのストリングが連結されて 1 つのストリングになります。

CHECK および CHECKR 命令では、演算項目 2 のそれぞれの文字が演算項目 1 の有効な文字の間にあるかどうかが検査されます。CHECK では左から右に、CHECKR では右から左に検査されます。

SCAN 命令では、演算項目 1 に指定された別のストリングを見付けるために、 演算項目 2 の基本ストリングが走査されます。

SUBST 命令では、演算項目 2 の基本ストリングから指定されたストリングが抜き出さ れます。抜き出されたストリングは、結果のフィールドに入れられます。

XLATE 命令では、演算項目 1 の変換元および変換先ストリングに従って、演算項目 2 の文字が変換されます。

注:
演算項目 1、演算項目 2、または結果フィールドに形象定数を使用することは できません。演算項目 1 と結果のフィールドまたは演算項目 2 と結果のフィールドに、デー タ構造のオーバーラップがあってはなりません。

ストリング命令では、演算項目 1 と演算項目 2 は 2 つの部分を持つことがで きます。 両方の部分を指定する場合には、コロンで区切らなければなりません。 このオプションは、CAT、CHECK、CHECKR、および SUBST 以外のすべての命令に 適用されます (これらの命令では演算項目 2 だけに適用されます)。

CAT、SUBST、または XLATE 命令の命令拡張として P を指定した場合には、 操作の後で結果のフィールドに右側からブランクが埋め込まれます。

詳細については、それぞれの命令の項を参照してください。

図形フィールドにストリング命令を使用する場合 には、演算項目 1、演算項目 2、および結果のフィールドのデータは すべて図形でなければなりません。図形文字の長さ、開始位置、およびブランクの数に数値が指定されている場合 には、その値は 2 バイト文字を表します。

UCS-2 フィールドにストリング命令を使用する場合 には、演算項目 1、演算項目 2、および結果のフィールドのデータは すべて UCS-2 でなければなりません。UCS-2 文字の長さ、開始位置、および ブランクの数に数値が指定されている場合には、その値は 2 バイト文字を表します。

混合モードの文字データの図形部分にストリング命令が使用されている場合 には、開始位置、長さ、およびブランクの数は 1 バイト文字を表します。データの保全性の維持はユーザーの責任になります。