Possibility of abnormal termination

If a logical parent is physically and logically deleted, its DASD space is released. For this to occur, all of its logical children must be physically and logically deleted. However, the DASD space for these logical children cannot be released if the logical children have physical dependents with active logical relationships.

Accessing such a logical child from its physical dependents (both the logical child and logical parent have been physically and logically deleted) can result in a user 850 through 859 abnormal termination if one of the following occurs:
  • The LPCK is not stored in the logical child
  • The concatenation definition is data sensitive to the logical parent

The following figure shows an example of abnormal termination.

Figure 1. Example of abnormal termination
Root SEG1 (PP) has child SEG2 (LC if SEG6). Root SEG3 (PD, PP) has child SEG4 (PD and LD, LC of SEG7), which has child SEG5 (PD), which has child SEG6 (PD, LP). Root SEG7 (PD, LD, LP) has no children.

The logical parent SEG7 has been physically and logically deleted (the LD bit is never really set, but is assumed to be set. It is shown only for the purpose of illustration.) All of the logical children of the logical parent have also been physically and logically deleted. However, the logical parent has had its segment space released, whereas the logical child (SEG4) still exists. The logical child still exists because it has a physical dependent that has an active logical relationship that precludes releasing its space.

If an application program accesses SEG4 from its dependents (SEG1 to SEG2/SEG6 to SEG5), IMS™ must build the logical parent's concatenated key if that key is not stored in the logical child. When IMS attempts to access logical parent SEG7, abnormal termination will occur. The 850 through 859 abnormal termination codes are issued when a pointer is followed that does not lead to the expected segment.