This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.
APPLICATION RESTART CONTROL for DB2
all version of Application Restart Control for IMS, DB2, and VSAM
This customer is testing a restart, the program reads from an input dataset and outputs to a number of output datasets. There are two the output dataset the customer is concerned about.
The first job was cancelled with s S222, and the "E" dataset had 32 records in it after the ABEND, the DATASET CHARACTERISTICS REPORT show 90 IO's. The the "F" dataset has 1 record in it and it shows 10 IO's.
Why is that?
Second, the ABEND it looks like one record was not written to the "A" dataset, though the second job shows the input dataset was past the record when it abended. The restart shows that the record written.
The records that appear in the ARCPRINT are accurate and show the number of logical records that have been read or written. Because of the way we buffer the records, these records are not placed on DASD until we do a physical write of the buffer. AR/CTL does a physical write of the buffer when:
a) the first record is logically written to the file
b) when the buffer is full and the next record to be written would overflow the buffer
c) when a checkpoint is taken
d) when the file is closed at the end of the job
In the case of ABEND1:
1. The only logical record written for the "F" dataset was after record 19 was read from the input dataset. Since this was the first record written, AR/CTL wrote the buffer to DASD. The next process was a read of the input dataset again and then the job abended.
2. For the "E" dataset, a physical write was done after record 1 was logically written to the file. Next, Record 2 was logically written to the file and this was followed by a checkpoint which caused a second physical write to be completed. The third/last physical write was done after record 3 was placed in the buffer. There were no more physical writes of the buffer after that even though there were logical writes of records 4 through 38.
So the output files, "E" and "F", reflect what has been physically written to them. Since a restart is going to back out the files to the last checkpoint taken, there is no problem with the restart.