Check Table vs Value Table
It very important to know that a table behaves as both value table and check table but not simultaneously.
Consider a field F present in a database table DBT. Consider a Table T (Another database aTable) which behaves as a Value Table and Check Table at different Situations.
Case 1.
When the field F is a primary key for the database table DBT, the table T behaves as a Value Table. We can enter a new value for the field F and values for field F flow from table T the database table DBT. (Field F is the primary key for both the tables T and DBT)
Case 2.
When the field F is a foreign key in the database table DBT, the table T behaves as Check Table. We cannot enter a new value for the field F and Values for field F will be Checked against Table T and only those values present in table T should be given for field F. (Field F is the Primary key in Table T and Foreign Key in Table DBT).
Read Here for More SAP ABAP Interview Questions
Value table contain all the possible value assigned to the field of the table at domain level. When we press the F4 help button it shows all the possible values for that particular field. In simple words value table means domain level checking.
Check table on the other hand means Field level checking, For example we have two tables one Product table and other Order table. When an order is placed we need to see whether that product exist so we can refer to Product table.
Here Order table becomes check table for Product table. This is nothing but parent child relationship. When there is a foreign key relationship between two tables then the first table is the foreign key table and the table which is used to establish relationship with the second table is the Check table. In simple words foreign key table in DBMS is called Check table in SAP there is no difference.
A check is not implemented by simply entering a value table! One record of the foreign key table uniquely identifies one record of the check table using the entries in the foreign key fields.The check against the value table only takes effect when a foreign key has been defined.