Each time the database structure is changed, DP4 increments the generation number held in the database index file. New and updated records are written to the database with the current generation number.
When a program reads a record, the generation number for the record is checked to ensure that it is the same as the program generation number. If the two numbers are different, the data independence table is used to convert the record to the structure required by the program.
This means that provided the program logic is not affected by the change, you can change the database structure without needing to recompile programs.