POSITION

省略形:POS

POSITION は、DEFINED 属性とともに使用する属性です。定義済み変数の開始位置となる基本変数内のビットまたは文字を指定します。形式は次のとおりです。

POSITION(expression)

expression は、基本変数の開始位置を基準とする位置を指定する整数式です。式の範囲は 1 から n で、n は次のように定義されます。

n = basis_length – defined_length+1

basis_length は基本変数の長さ (ビット数または文字数) であり、defined_length は定義済み変数の長さ (ビット数または文字数) です。

定義済み変数および基本変数は、固定長ビット文字列、固定長文字列、ピクチャ変数、またはこれらのデータ型のいずれかを含む集合体である必要があります。

次の例では、DO グループが 2 つあり、どちらも同じ目的を達成します。2 つ目の DO グループでは、POSITION 属性を使用しています。

DECLARE X CHARACTER(200);
DECLARE Y CHARACTER(1) DEF X POS(I);

DO I = 1 to 200;
   IF SUBSTR(x,i,1) = '?' THEN 
      CALL ERROR();

DO I = 1 to 200;
   IF Y = '?' THEN   /* Uses position attributes */ 
      CALL ERROR();