Storage violation abends with User-Defined ADS Built-In Functions

book

Article ID: 36211

calendar_today

Updated On:

Products

CA IDMS CA IDMS - Database CA IDMS - ADS

Issue/Introduction

 Issue: 

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 " 

Environment:  

CA IDMS ADS all releases.

 

Cause: 

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.

 

Resolution:

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.

  

Additional Information:

A description how to generate user owned built-In functions can be found in the manual

ADS Reference Guide CA ADS™ for CA IDMS™

Release 18.5.00

 

Chapters:

Steps for Generating a User-Defined Built-In Function

and 

Model XDE Module

Environment

Release: IDADSO00100-18.5-ADS-for CA-IDMS
Component: