ADK requires class-specific subprograms for controlling the communication between the archiving class and the archive. You must provide these subprograms in the archiving class (LxxxxFnn) function group.
ADK needs these subprograms whenever an archiving object method is called by the program.
- ARCHIVE_OPEN_FOR_READ or WRITE
- class_INIT_WRITE
Initializes the archiving class for writing (passes the archive handle)
- class_INIT_READ
Initializes the archiving class for reading
- class_RENEW_DATA
Initializes the archiving class for a new data object
This subprogram discards the current archiving class key when writing, or all the data if reading the archive.
- class_GET_DATA ("GET" from the ADK perspective)
Provides data in data container for archiving (the class passes the archived data to the ADK).
- class_FREE_DATA
Declares an archive handle invalid when closing an archive
- class_PUT_DATA ("PUT" from the ADK perspective)
Copies data from the data container after reading the archive (the ADK passes the data read to the class).
- ARCHIVE_DELETE_OBJECT_DATA
- class_DELETE_ARCHIVE_OBJ
Deletes the data contained in the data container from the database
To avoid data inconsistencies, this subprogram uses PERFORM ON COMMIT to call another subprogram, in which the data is actually deleted from the database according to global internal tables.
- class_ROLLBACK_WORK
Discards the data marked for deletion from the database by the archiving class
- ARCHIVE_RELOAD_OBJECT_DATA
- class_ARCHIVE_RELOAD_OBJ
Reloads the data in the data container into the database