We have a user-written built-in function to sort work-tables. We had to change the source for optimizing the performance. After increasing the length of the workarea in the definition we sometimes get an abend:
" IDMS DC016003 V1 T1197 21B073DC TASK:ADS2 PROG:ADSOMAIN FREED STORAGE AT ADDRESS 1E92FA08 WAS FOUND TO HAVE BEEN VIOLATED "
CA IDMS ADS all releases.
The length of the workarea 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 workarea is taken from an XDE controlblock that is within the dialog loadmodule. You have to recompile the dialog to get the XDE with the new length for the storage request.
A description how to generate user owned built-In functions can be found in the manual
ADS Reference Guide CA ADS™ for CA IDMS™
Steps for Generating a User-Defined Built-In Function
Model XDE Module