Our developer ran a batch program in PRD environment and receive an 1117 abend:
+IDMS DC208001 IDMS job abending with abend code 1117
+IDMS DC208001 #ABEND from Module IDMSDBMS at Location 1BC63000 Offset 003614
Then after a few minutes we ran the same program again and it ran fine:
Program does no updates - only reads are performed.
This abend can be caused as a byproduct of the Retrieval Nolock specification, where a transaction was reading a record while another transaction was updating it.
This is only the case if the transaction is RETRIEVAL only, and RETRIEVAL NOLOCK is specified in the sysgen. A DBAN can be run to verify no corruption in the
Can turn on optional bit 316:
An 1117 abend from IDMS typically indicates some problem has been detected while attempting to reconstruct a fragmented variable length record.
These abends can occur during the execution of a retrieval transaction being run within a CV when concurrent update activity is occurring and the CV's sysgen contains the RETRIEVAL NOLOCK option. In these cases no real database corruption may exist and the failing transaction can be immediately rerun.
Similar database abends can be optionally returned to the calling program as a database minor code of 57 instead of an abend. This allows the program to automatically initiate the restarting of the database transaction. 1117 abends may now return a minor code of 57 instead of abending by defining the following optional apar bit in module RHDCOPTF.
This will allow your program to check for a 57 minor status and handle that within the program. This would prevent the abends from occurring. This optional bit was
introduced in release 18.0 thru ptf RO41047.