データチェックには、次の10種類があります。
英数字日本語混在項目を除く入出力項目に文字を入力する際に、項目長分の全桁を入力したかどうかをチェックする機能です。定義体作成時に項目単位に指定でき、データを入力した場合は全桁を入力しなければエラーとなります。ただし、全桁入力の指定のある項目で文字の入力を省略した場合にはエラーとはなりません。
また、全桁入力チェックは項目長で行われるため、数字項目で全桁入力を行う場合、小数部ありや999,999などの編集形式の場合、項目領域長が項目長よりも大きくなるため画面上全桁入力した場合は、項目長チェックでエラーとなるので注意が必要です。
数字項目で全桁入力を行う場合は、小数部なしでかつ、編集形式を999999にすることをおすすめします。
必須入力とは、入出力項目に入力する際に1文字以上のデータを入力したかどうかをチェックする機能です。定義体作成時に項目単位に指定できます。
必須入力でのチェックの対象はデータであり、入力操作ではありません。したがって、データの入力操作を省略しても、表示済のデータが存在すれば入力データとして扱い、エラーとはなりません。
項目長チェックは、入力データ長と項目長の関係をチェックするものであり、数字項目および英数字日本語混在項目に対して無条件に行われます。
数字項目の項目長チェックでは、入力データ長が項目長よりも大きい場合にエラーとなります。これは数字項目に編集指定がある場合に行われます。
英数字日本語混在項目の項目長チェックでは、入力データ長が(項目長 -2)より大きい場合にエラーとなります。
桁長チェックは、小数点以下の桁を持つ数字項目で、入力した小数部桁数と整数部桁数が定義体作成時の指定と正しいかをチェックするものです。
小数部桁数を定義した数字項目に対して無条件に行われます。
定義体作成時に項目単位に指定するものであり、次の条件をすべて満たした場合に最終桁をチェックデジットとしてチェックを行うものです。
小数部桁数が0の符号なし数字項目
項目長が2以上で、かつ2桁以上の数字を入力する。
リダンダンシチェックには次の2つの方法があります。
左桁より重み7,6,5,4,3,2,7,6,…を掛けて得た値をすべて加え、その結果を11で割った余りを11より引いた値をチェックデジットとする。
左桁より重み2,3,4,5,6,7,2,3,…を掛けて得た値をすべて加え、その結果を11で割った余りを11より引いた値をチェックデジットとする。
定義体作成時に項目単位に指定するものであり、日本語項目に対して次のどれかを指定することができます。
ANKデータの入力をエラーとする。
1バイトデータである英数字をエラーデータとして扱い、2バイトで表現される日本語の入力だけを許します。
日本語の入力をエラーとする。
2バイトで表現される日本語をエラーデータとして扱い、1バイトデータである英数字の入力だけを許します。
日本語検査をしない。
最初に入力された文字の種類により、入力可能なデータを決定します。すなわち、最初に英数字が入力された場合は英数字の入力だけが可能となり、途中から日本語を入力することはできません。また、最初に日本語が入力された場合は日本語の入力だけが可能となり、途中から英数字を入力するとはできません。入力されたデータが日本語であるのか英数字であるのかは、項目の状態の参照で判断できます。
指定した桁数分のデータを最小限入力しないとエラーとするチェック機能であり、定義体作成時に数字項目および英数字項目に指定できます。
最小入力桁数チェックは全桁入力と同時に指定することはできません。また、データの入力を省略した場合は、最小入力桁数チェックは行われません。
数字項目および英数字項目での、それぞれのチェック機能は次のとおりです。
定義体作成時に指定した桁数以上の0~9の数字を入力したかをチェックします。
ただし、桁数には符号、通貨記号、編集文字および小数点は含みません。
定義体作成時に指定した入力桁数以上の文字を入力したかをチェックします。
データの前の空白も入力文字としてカウントします。ただし、データの後ろの空白はカウントしません。
数字項目および英数字項目に対して項目単位に指定でき、入力した文字が指定値と等しいかをチェックする機能です。指定した値と等しくない場合エラーとなります。
数字項目および英数字項目での、それぞれのチェック機能は次のとおりです。ただし、データの入力を省略した場合は、チェックは行いません。
定義体作成時に指定した有効値と入力した数値が等しいかをチェックします。
符号付きの項目および小数部を持つ項目であれば、符号および小数桁の補正を行った後、チェックを行います。
定義体作成時に指定した有効値と入力した文字列が等しいかをチェックします。