There is a user-written built-in function to sort work-tables. The source had to be changed for optimizing the performance. After increasing the length of the work area in the definition, there is this intermittent abend:
IDMS DC016003 V1 T1197 21B073DC TASK:ADS2 PROG:ADSOMAIN FREED STORAGE AT ADDRESS 1E92FA08 WAS FOUND TO HAVE BEEN VIOLATED
Release: All supported releases.
Component: ADS.
The length of the work area allocated during runtime still has the old (short) length. The BIF module uses the new length and thus overwrites the footer of the storage frame. This results in the DC016003 storage violation message when the storage is released.
The length for the GET STORAGE of the BIF work area is taken from an XDE control block that is within the dialog load module. The dialog must be recompiled to get the XDE with the new length for the storage request.