SETC

1. Syntax

1  SETC ( name , 'value'  , duplication  )

FASTREXX 条件式で使用できます。

文字変数を定義または変更します。

name
1 文字から 256 文字の変数 ID。変数名の突き合わせでは、大/小文字が区別されません。システム文字変数またはシステム数値変数は使用できません。FASTREXX 変数の使用を参照してください。
value
次のような単一値を入力できます。
  • 16 進数ストリングの指定。16 進数ストリングは 'hhhhhh'x の形式でなければなりません。引用符で囲まれた値の文字数は偶数であり、使用される文字が有効な 16 進文字 (0–9、A–F) である必要があります。
  • バイナリー・ストリングの指定。バイナリー・ストリングは 'nnnnnn'b の形式でなければなりません。引用符で囲まれた値は「0」と「1」の組み合わせである必要があります。
  • 文字ストリングの指定。非数値タイプの場合は、値を引用符で囲む必要があります。
  • &variable_name の指定による変数の指定。一致する文字変数、数値変数、または TALLY 変数を見つけられる場合は、変数で値が代用されます。一致する変数を検出できなければ、ストリングはリテラル値として扱われます。数値または TALLY 変数が参照された場合、値は、その表示形式に変換され、先行ゼロが除去された数値になります。

    &variable_name(n:length) と指定することで、変数のサブストリングを参照できます。これは、変数の n 番目の文字から始まるストリングを、length で指定された最小長、または変数の残りの長さだけ戻します。n が変数の長さより大きければ、その値は NULL として扱われます。

duplication
整数 n を指定することで、リテラル値を n 回複写します。
注: 値がリテラル定数であり、置換変数ではない場合にのみ使用できます。

例 1

A10 という変数を値 A の 10 回の繰り返しでセットアップします。

If RECSIN() = 1 
  SETC('CHECK_CHAR','A',10)
else
  SETC('CHECK_CHAR','B',10)

If FLDI(20,10,,'EQ','&CHECK_CHAR') then
  Return
Else
  Return "DROP"

例 2

10 番目の入力レコードを変数 REC10 にコピーします。

If RECSIN() = 10 then
   SETC('REC10','&ZINREC')

例 3

入力レコード上の名前の値を列 3 から 20 まで変数名にコピーします。

SETC('NAME','&ZINREC(3:20)')