Today i am going to explain what is check table and value table, what are the difference between the check and value table and steps to create basic check table and value table.
Note : Here i am explaining basic level explanation in check table and value table, if you are fresher in ABAP development, this blog is very helpful to you.
Check Table : It is nothing but table it contains all valid entries of a particular foreign key table field. Basically the check table is used for field level validation (it restricts the field value).
The check table is the table used by system to check whether the data exist or not in foreign key table field. When ever you are trying to create the table, if you are sure the field contains some values that values only you can use in another foreign key Data Base Table.
Value Table : The value table is maintained at domain level, it is also called as domain level validation.
It is a table which contains all valid entries of a domain, this domain can be reused in multiple tables.
Difference between check table and value table :
The check table will carry out the check for input values for the table field being entered in any application and value table will provide values on F4 help for that table field.
The check table defines the foreign keys and is part of the table definition.
The value table is part of the domain definition.
check table is validation at field level.
value table is validation at domain level.
Value table is defined at the domain level and is used to provide F4 help for all the fields which refer to that domain.
Also while defining a check table SAP proposes the value table as check table by default. Referring to the previous example if you tried to define a check table for the MATNR field SAP would propose MARA as the check table.
Example : A foreign key links two tables T1 and T2 by assigning fields of table T1 to the primary key fields of table T2. Table T2 is then known as the check table of the foreign key.
Steps to create :
Go to T-code se11.
Enter table name ZSI_CHECK_TABLE
Click on create
Give short description and give delivery class as 'A'
After that Click on fields tab
Give the field name and create the data element.
The data element of primary key table and foreign key table must be same.
Double click on data element, and again double click on domain the below screen will visible.
select value range tab.
provide fixed values and short description as per requirement.
Enter the value table name in domain level, the value table name is nothing but table name, that means for which table you want to maintain the value table.
Finally activate the domain, data element and table.
Repeat the steps and create the another table called value table.
Foreign key field domain must be same as primary key domain.
After creating the check table create the value table same as for check table and click on field for which data element in check table gave as a value table.
Then click on foreign key relationship button.
When ever you click on foreign key relationship it automatically proposed a foreign key field with out giving any table name, that is the magic of creating value table.
Finally click on copy button the values placed which is present in check table comes into the value table, so it restricts the values from the field.
Finally provide the cardinality and foreign key field type.
Then, successfully created the foreign key relation ship using value table.
I hope every one got understand about check table and value table.