I have a job which abends with return code 0361 on some 'inauspicious ' days.
The error code details is " No record can be found for a pointer db-key. This is often caused by broken chains in the db due to incorrect recovery.".
This happens in a obtain last record within set-name statement .I am handling only on db-end-of-set. I can trap this error with on any-error-status . But the customer standards do not allow using on any-error-status. Please note that the record i am accessing is updated simultaneously by other programs also. If i get am getting a dead lock abend, i could have convinced the customer . Can any body explain the broken chain concept. I feel that this due some problem in pointers(next,prev etc) in the record.It will be of great help to me , if any body can throw some light on the root cause of this issue.
Sorry for sending the Reply quite Late.
According my understandings :The Broken chain happens in IDMS when a key stored in some Record(This key is used to access some other record in a different Area, for example Key Stored in Record A can be used to Obtain Record B using Sort keys ) is not able able to fetch a Record using this key value as sort key. This generally happens when the database refresh does not happen
correctly in different Areas.
It could be due to recent program has deleted the record which you are try to access, then also this problem can occur. Do you try to get the record using the db_key or walking the set? If possible send me the code list, it would be easy to fix.