VALIDATE_FILE: PROCEDURE (BALANCES, REC_COUNT);
DECLARE BALANCES FILE RECORD;
DECLARE REC_COUNT FIXED BIN(31);
DECLARE TOTAL PICTURE '999V.99';
DO I = 1 TO REC_COUNT;
READ FILE(BALANCES) INTO (TOTAL);
IF ^VALID(TOTAL) THEN
DO;
PUT LIST('Invalid total value:', TOTAL);
PUT SKIP;
END;
END;
END VALIDATE_FILE;
説明
VALID 関数は、スカラー ピクチャ値への参照である x がそのピクチャ指定に対して有効な値を持つかどうかを判別します。結果は、x の文字列値が x に対して宣言されたピクチャに編集できるかどうかを示す長さ 1 のビット文字列です。
x の文字列値が x に対して宣言されたピクチャに編集できる場合、結果の値は 「1」 B になります。それ以外の場合、結果は 「0」 B になります。
VALID 関数は、ピクチャ データ項目または構造体のメンバーであるピクチャ項目を READ 文で読み取る場合に使用できます。READ によるレコード入力では、ピクチャ データ項目に値を代入する際に通常行われる検証が実行されません。