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

 



Compiler and Runtime Options PLB_CHECKFILE2GB Keyword PLB_CLOCKDATE Keyword