I am working in an application where the DB is group of KSDS VSAM files. All these files are get synchronized during update by maintaining a sync number in header record of all the VSAM file called SYNC record. During the start of this application when update start through batch job this sync number get updated for all the files.
When this job encounters any system abend (like S0C7 or S0C4 ABEND), this updated sync number is not available in the few of the files, which leads to database out of sync. However If I am forcefully canceling this update job after it get started, this updated sync number is available throughout all the files. If this update job is successfully complete then obviously the updated sync number is stored in all the files.
Note this is the very first record in VSAM file and in this application data get handled using some intermediate buffer. I could not find out the root point where this buffer is getting handled. In this application the I/O operation of VSAM handled through one assembler routine instead of COBOL READ/WRITE.
Anyone please give me any hints, why this record in few of the file is not getting updated only when system abend is happening.
Any suggestion will be great help!!!
Thanks in advance,