A fix is available
APAR status
Closed as program error.
Error description
When a DLZ004I condition has occurred because of a HD write- error and the (CICS)/DLI system did not terminate abnormally, it may later be detected that changes for databases that were not affected by the DLZ004I incident are missing.
Local fix
n/a
Problem summary
**************************************************************** * USERS AFFECTED: All DL/I batch and online users. * **************************************************************** * PROBLEM DESCRIPTION: In case of a DLZ004I HD write-error * * with continued (CICS)/DLI execution, * * changes for databases that were not * * affected by the DLZ004I incident may * * be missing. * **************************************************************** At task termination (batch and online) the DL/I buffer handler 'Purge' function in routine DLZDBH03 is invoked. Depending on further input parameters it checks the individual buffers of the DL/I HD buffer pool in a loop, if they had been changed by the terminating task. If yes, this buffer is written back to disk. However when a buffer is flagged as permanent-write-error (BFFRSW = BFFRWERR) this loop is stopped, since the end-loop- condition that had been cleared at the beginning of the process for the individual buffers is in this case not restored on return as it would normally be done. Because of that, no more buffers following the one with the permanent-write-error are processed and hence no more valid data are saved back to disk.
Problem conclusion
The end-loop-condition is restored at the end of the process for permanent-write-error buffers as well. This correction has also been implemented for non-reusable buffers. In addition, this APAR corrects the error: WRONG DATABASE NAME IN DL/I I/O ERROR STOP RECORD Description: When a DLZ004I or DLZ005I error has occurred, the DL/I I/O error stop log record may contain an invalid database name. Solution: For an I/O error that has occurred during HD-Write, use the actual buffer prefix instead of the DSG to identify the (name of the) failing database in the DL/I VSAM error exit DETIOERR / sub-rtn. LOGIOERR of DL/I Buffer Handler routine DLZDBH02. Also fixed in LOGIOERR / DLZDBH02: Ensure that the DL/I I/O error stop record is written in the DL/I batch environment also, when UPSI bit 7 (abend interception via STXIT) is set to 1 (duplicate usage of SCDSIND bit 0 in batch and CICS/DLI online).
Temporary fix
Comments
APAR Information
APAR number
PH29953
Reported component name
5746 DOS/VS DL/
Reported component ID
5746XX100
Reported release
3IO
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-09-28
Closed date
2021-04-01
Last modified date
2021-04-14
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
DLZBACK0 DLZBACM0 DLZDBH02 DLZDBH03 DLZLGPM0 DLZLOGP0 DLZLOGPC DLZLPCC0
Fix information
Fixed component name
5746 DOS/VS DL/
Fixed component ID
5746XX100
Applicable component levels
R3IO PSY UI73493
UP21/04/08 I 1000
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG32M","label":"APARs - VSE\/ESA environment"},"Platform":[{"code":"PF054","label":"z\/OS"}],"Version":"3IO"}]
Document Information
Modified date:
15 April 2021