An ADS application encounters the following abend:
IDMS DC171001 V1 CA ADS ABEND. OTB CANNOT BE LOCATED; GETSTG RC=04
Component: ADS.
Release: All supported releases.
A common cause of a DC171001 abend is that some user code (ADS dialog or cobol or assembler program) has invoked RHDCSNON to sign on a new user and a user was already signed on.
In this case, RHDCSNON will invoke RHDCSNOF to sign off the existing user. This will have the effect of deleting all resources attached to the session. Most likely, the logic of the application requires that that does not happen.
Before invoking RHDCSNON, have the user program invoke RHDCSNOF, passing a parameter of 8. This will sign the previous user off and preserve any resources, RHDCSNON will not attempt to sign the user off, and the delete of the resources will be avoided.
Sample record and ADS code:
ADD
RECORD NAME IS RHDCSNOF-LINK-RECORD VERSION IS 1
RECORD NAME SYNONYM IS RHDCSNOF-LINK-RECORD VERSION 1
PREFIX IS LK-
.
RECORD ELEMENT IS HALFWORD VERSION 1
PICTURE IS 9(4)
USAGE IS COMP
VALUE IS ( 8 )
.
INIT ( RHDCSNOF-LINK-RECORD ).
...
LINK TO PROGRAM 'RHDCSNOF' USING ( RHDCSNOF-LINK-RECORD ).