TESTN
FASTREXX 条件式で使用できます。
- name
- TALLY リテラルまたは数値変数と一致する 1 から 256 の名前です。変数名の突き合わせでは、大/小文字が区別されません。名前が検出されない場合、値が 0 の数値変数が作成されます。
- オペレーター (operator)
- デフォルトは EQ または = です。この機能では、動的テンプレートと基準編集で示した、すべての演算子をサポートしています。サポートする演算子の詳細と説明については、以下の節を参照してください。
- 値
- 入力する値は、参照されている演算子とフィールドでのコンテキストで有効な値である必要があります。例えば、複数の値を使用できる演算子は、CO (包含) など一部の演算子のみです。また、数値を入力するのは、数値フィールドを検査する場合です。
- 16 進数ストリングの指定。16 進数ストリングは 'hhhhhh'x の形式でなければなりません。引用符で囲まれた値の文字数は偶数であり、使用される文字が有効な 16 進文字 (0–9、A–F) である必要があります。
- バイナリー・ストリングの指定。バイナリー・ストリングは 'nnnnnn'b の形式でなければなりません。引用符で囲まれた値は「0」と「1」の組み合わせである必要があります。
- 文字ストリングの指定。非数値タイプの場合は、値を引用符で囲む必要があります。
- &variable_name の指定による変数の指定。一致する文字変数、数値変数、または TALLY 変数を見つけられる場合は、変数で値が代用されます。一致する変数を検出できなければ、ストリングはリテラル値として扱われます。数値比較が実行される場合、文字変数は数値に変換されます。変換に失敗すると、関数は「偽」の結果を返します。数値または TALLY 変数が文字比較で参照された場合、値は、表示画面形式に変換され、先行ゼロが除去された数値になります。
- VER
- フィールドが、「値」列で指定されている文字だけで構成されていることを検証します。
例 1
第 1 バイトが A であるレコードの数をカウントし、20 を超えた時点で処理を停止します。
IF FLD(1,1) = 'A' then
SETN(COUNTA,'+1')
if TESTN(COUNTA,'>',20) then
return "STOP IMMEDIATE"
else
return
例 2
列 28 で開始するパック 10 進数フィールドの合計が 100 を超えた時点で、処理を停止します
注: この事例では、File Manager がパック 10 進数フィールドの長さを計算します。
TALLY(28,P,'Total Sales')
if TESTN('Total Sales',,'>',100) then
return "STOP IMMEDIATE"
else
return