I am getting error code 3077 while updating one of the adabas file. Here, we are trying to update or replace one value with others say XXX with YYY. Not adding any new records. so its not going to take extra spaces
Still we done re-org the physical file corresponding to the logical file (update happening) to get additional space. But still we get the same error.
Have no clue how to address this issue.
Any valuable comments or suggestion will help me better.
I am just getting the error message which don’t have suffice information.
MENU DRIVER DETECTED ERROR : 3077 IN PROGRAM : XXXNNNP AT LINE : 2515
Not enough space for extent. DB/FNR/Subcode :1:/:2:/:3:.
DATE : 11/09/14 TIME : 17:34:48 - TERMINATING NATURAL RUN
Can you advise us how to find the subcodes for this issue?
If your change does slightly increase the compressed record then the record will not fit any longer into this data block and if the file has DSREUSE=OFF (you can change this with ADADBS DSREUSE function) a new block will be allocated. If DSREUSE=ON it will be checked if there is another DS block where the record fits, but this algorithm will not check the whole file. It just looks ahead some blocks and if there is no space it will also take a new block.
The RSP-77 can also happen because of no space in ASSO. Do you update a descriptor ? A simple change there can lead to a complete different layout of the index blocks.
Check with ADAREP whether ASSO or DATA is full.
To get space you might take some allocated space which is not yet used from other files (ADADBS DEALLOCATE or AOS function) or you increase the database (ADAFRM, ADADBS INCREASE - existing dataset or ADADBS ADD - new dataset).
The LASTMSG command will show you the entire message, with all the variables replaced.
As this appears to be a batch job add LASTMSG to your batch parameters before FIN.
I am not modifying any fields where its field will be increased. Just changing the value from XXX to YYY.
All ASSO (index) space had been used by the physical file (obviously by the mass updates to the logical file) and when the file needed to extent, no more free space was available, thus producing the 3077 error.
Actually my DBA have ‘reorged’ the physical file and in doing so, quite a large amount of index space has been recovered. This could be because records had split/grown over into multiple blocks (caused by the updates) and it was needing free space to allocate more blocks. The reorg basically puts records back into single blocks and in doing so, releases any unused blocks back to free space.
Anyways, thanks for your note.
Wolfgang winter,
Yes. LASTMSG will work and thanks for reminding me. After the work by my DBA, my job processing the file with updates without any issue.