Step 3 - Recursive Integrity Check

This step in an archiving procedure performs a recursive integrity check on Primary archive root objects with a pending status (archive root objects were updated to pending in Step 2: Build Child Archive Root Objects). Again, this background process processes archive root objects related to the specified Archive or Purge DB process. You specify the DB process as a parameter on the batch control.

If any foreign key constraint specified on a table related to any of the maintenance objects associated with a given Primary archive root object or its children references the same table that the foreign key constraint is defined, the program performs a recursive integrity check.

If only one side of a recursive relationship is slated for archive or purge, the program deletes all of the archive root objects related to the root object in question (from the Primary root object down). In other words, this is an invalid condition and deleting the archive root objects prevents the corresponding data from being archived or purged by the last step.

If both sides of a recursive relationship are slated for archive or purge, the program updates the Primary archive root object references on all archive root instructions involved in the recursive relationship to match the current archive root object instruction's Primary archive root object. In other words, the archive root object cross-reference (archive root instruction) is updated so that all of the archive root objects involved in a recursive relationship are archived or purged together.

This is best explained by example:

Suppose that a DB process' purpose is to archive adjustments that are more than four years old.

Note: Rarely performed. There are very few cases where recursive relationships exist in the system.