
チェックテーブルのすべてのキー項目に対して常に外部キーをチェックすることは推奨できません。たとえば時間依存のチェックテーブル、およびバージョン番号がキーのコンポーネントであるチェックテーブルに対しては、すべてのキー項目のチェックは不要です。
この場合にはジェネリック外部キーを使用することができます。これによってチェックテーブルのキー項目への割り当てから項目を除外することができます。除外されなかったキー項目に対してのみチェックが実行されます。
チェックテーブルのキー項目に定数値を割り当てることもできます。この場合、指定した定数と値が一致するかどうかのチェックだけを行う必要があります。このチェックは、このキー項目に定数値を含むチェックテーブルのレコードが有効な場合のみ使用可能です。
この図で示されている外部キーの場合、
Dynpro チェックに対応する SELECT 命令は次のようになります。SELECT * FROM PTAB WHERE PTAB-FIELD1 = FTAB-FIELD6 AND PTAB-FIELD3 = FTAB-FIELD8 AND PTAB-FIELD4 = ‘K’.
チェック項目
Field6 への入力が有効となるのは、 PTAB-Field1 の値が Field6 の値、 PTAB-Field3 の値が Field8 の値、および PTAB-Field4 の値が定数 K に一致するレコードがチェックテーブル PTAB に存在する場合だけです。
Dynpro
上の項目
Field7
と
Field9
に入力された値は、チェックテーブルに対するチェック時には意味を持ちません。この場合、
Field6 =1
、
Field8 =3
、および
Field9 = B
という入力は有効にはなりません。なぜなら、チェックテーブルに
PTAB-Field1 =1
、
PTAB-Field3 =3
、および
PTAB-Field4 = K
というレコードが存在しないからです。