I am getting the error below when attempting to delete the Prod version of a database via DDOL. How do I move forward with deleting this database and it's substructures?
DDOL001019C - ERPP - DEL ERR. OCCURRENCE IS SUBJ OF A REQD RELATIONSHIP
Release : All
Component : DATACOM DATADICTIONARY
Component : Datacom/DB
It is most likely that this is a vestige of a problem in Datadictionary which occurred many years ago under release 8.0, and which was incorrectly fixed in the 8.1 upgrade. The problem was due to the way parents of certain entities were handled in History status versions.
The problem was described in Datacom/DB release 8.1 solution LO11205 and Datadictionary Problem 1059, published in January of 1997.
The structure being OBSOLETEd contains one or more substructures that are in HISTORY status with the PROD version of the substructure attached to a different parent. When DD 8.0 solution 194 was sourced into 8.1, it would skip the DELETE of the HISTORY versions. This caused a D01 when an attempt was made to DELETE the parent as part of the OBSOLETE.
CONDITIONS: Database was RESTORED from PROD to T1 and T2. Three new AREAs were created in T2. Then three tables were transferred from the area subsequently deleted to the new AREAs (one per) in T2. Then deleted the original AREA from T002. Deleted the 3 Tables from PROD AREA, then attempted to Delete the PROD AREA at which point the D01 abend occurred.
Could also get this error when obsoleting a PROD version of an area or database whose children have been deleted but still remain in history status.CAUSE: The production AREA (or it could be a DATABASE with the AREAs transferred or deleted out from under it) has a maximum number of history versions for it. This caused the oldest history version to be deleted to make room for the one being deleted from PROD. The oldest history version is still related to its children, thus giving the D01 error.
WORK-AROUND: Delete the oldest history version of the occurrence that is being deleted from PRODuction. Then do the delete from production. For example, if you have an area in production with version 8 and three areas of the same name in history with version numbers 7, 6 and 5: delete version 5 of the area. Note that this example is based on ENTY-HIST-VER on the AREA of 3. If your number is different then keep this in mind and delete the oldest history version (the one with the smallest version number).
This situation can be identified by running a DDUTILITY report of relationships, created using this input:
//SYSIN DD *
-USR DATACOM-INSTALL,NEWUSER
-DEF PATH,P1
-DEF TRACE,DATABASE.AREA,$INTERNAL
-DEF TRACE,AREA.TABLE,$INTERNAL
-END
-RPT START,DATABASE,* (ALL),P1
-RPT RELAT
-END
/*
In the report, you will see, for example, that one Area is connected to two tables with the same name, but different versions. Here is a snippet of that situation:
AREA ADM-ATS (0009) PROD
AREA ID ATS
$INTERNAL TABLE
ADM-ATS (0009)HIST
ADM-ATS (0010)HIST
ADM-ATS (0011)HIST
ADM-ATS (0012)PROD
Every user's situation and need might be different, but this will identify the problem, and depending on your need, deleting the oldest version of a particular table, area, or database might allow you to delete and obsolete the database or to perform your maintenance.
To make identification of this situation easier, we have an edit macro that you can run against the output of the DDUTILTY job. Details and a description of the whole process is found within the macro. Please download this and it will help you see if you have any areas, tables, or keys that fall into this situation.
As always, please contact Broadcom support for Datacom if you have further questions.