フィールドの妥当性規則の種類

LANSAを使った開発作業では、業務内容に基づく妥当性規則を、フィールド単位またはファイル単位で、リポジトリに集中定義することになっています。これにより、同じ検証処理をプログラム中のあちこちに記述しなくても済むようになるのです。フィールドにもファイルにも、同じ種類の妥当性規則を設定できます。

重要なのは、フィールドの妥当性検証処理が、データベース・ファイルに対する操作の一環として実行される、ということです。すなわち、該当するフィールドに関係するファイル操作(レコードの挿入/更新/削除など)の際、検証処理が必ず実行されるのです。

妥当性規則には次の6種類があります。

値の範囲: 

フィールドの値が所定の範囲内にあることを表す規則です。

例:従業員番号(Employee Number)はA0000~A9999の範囲内。

許容される値の列挙:

フィールドの値として許容されるものを列挙する形の規則です。

例:従業員の技能階級(Skill Grade)は「P」、「F」、「M」、「D」のいずれか。

あるファイル内のレコードとの参照制約:

フィールドの値は、あるコード表(ファイル)に載っている値でなければならない、という形の規則です。

例:部課コード (Section Code) は部課 (Section) ファイルに記載されているコード。

式の評価: 

ある条件式を満たしていなければならない、という形の規則です。

例:部門コード (Department Code) は空。

ユーザー・プログラムの呼び出し: 

独自に用意した検証プログラムまたはLANSAファンクションを呼び出す形の規則です。

例:日付と曜日が矛盾しない旨を確認するプログラムの呼び出し。

日付の書式/範囲: 

所定の書式(「DDMMYYCC」、「CCYYMMDD」など)、所定の範囲内の日付データであることを表す規則です。

例:従業員の雇用日付は「DDMMYY」という書式で、未来の日付ではない。

 

実質的には同じ検証内容でも、規則の書き方がひと通りには決まらない場合もあります。例えばあるフィールドが空白である旨の検証は、「許容される値の列挙」型の規則としても、「式の評価」型の規則としても設定できます。

次のトピックも参照してください。

フィールドに対する妥当性規則やトリガーの定義