I encountered a response code of 47 when trying to access ADABAS (in COBOL) and learnt that it is due to hold queue limit breach. Is there a way to find out the maximum value that is set for the queue in the current execution environment? I read the relevant document and understand the way it is calculated but would like to know the existing value that is present.
I’m sure your friendly DBA would be more than happy to let you know the database’s NISNHQ parameter (limit of records on hold for a single user).
Armed with this information, you should modify your COBOL program to issue an ET command before you reach this limit, preferably at the end of a logical transaction or a multiple thereof.