PLB_CHKDRN Keyword
PLBWIN, PLBCE or PLBLinux
PLB_CHKDRN={ ON | OFF }
The PLB_CHKDRN keyword controls whether the runtime is to perform ISI data record validation for ISAM WRITE operations to prevent data in the text file from being overwritten due to a corrupted ISI file or a secondary ISI file that has not been properly maintained.
When PLB_CHKDRN is set to ON, the runtime will issue an I52 error that indicates that an ISAM WRITE operation has failed because a DRN ( data record number ) could cause data in the text data file to be overwritten. The following subcodes provide additional information:
|
Subcode |
Indicates that a data record ... |
|
20 |
number retrieved from an ISI deleted data record map is invalid. |
|
21 |
position, determined from the ISI file, points into the TXT data file before the actual end of file position. |
Note: The enabling of PLB_CHKDRN may cause an I52 error when multiple ISAM WRITE operations using multiple IFILEs and the identical data had previously worked correctly. When the following case is executed with the PLB_CHKDRN keyword being set to OFF or not used, the 'WRITE IFILE2' operation actually inserts the KEY2 into the secondary ISIFILE2 and causes the same data record in the 'SAMETEXT' file to be written a second time. If PLB_CHKDRN is set to ON, the 'WRITE IFILE2' operation will cause an I52 error because data in the 'SAMETEXT' file can not be overwritten via an Isam WRITE operation. When using PLB_CHKDRN set to ON for this case, an INSERT KEY operation is required for the IFILE2 file.
|
IFILE1 |
IFILE |
|
|
IFILE2 |
IFILE |
|
|
. |
|
|
|
|
PREP |
IFILE1,"SAMETEXT","ISIFILE1"... |
|
|
PREP |
IFILE2,"SAMETEXT","ISIFILE2"... |
|
. |
|
|
|
|
WRITE |
IFILE1,KEY1;DATA1 |
|
|
WRITE |
IFILE2,KEY2;DATA1 ;I52 with PLB_CHKDRN |
See Also: PLBWIN Keywords, PLBCE Keywords, PLBLinux Environment Variables, Compiler and Runtime Options
![]() |