Created On:  29 May 2012

Problem:

I have an application that is calling the Micro Focus File Handler directly by coding calls to EXTFH.  I wish to read a record in an indexed file as if the following COBOL statement was being executed:

READ test-file IGNORE LOCK

So that it will return the record to the program even if the record is currently locked by another process.

There does not seem to be an opcode documented that will do a READ IGNORE LOCK operation although the phrase is available within COBOL syntax.  How do I accomplish this?

Resolution:

The IGNORE LOCK functionality is turned on using a bit setting in the FCD description for the file.

To turn this on set the appropriate bit on and then use a READ RANDOM operation code, for example FAF6.

Look at the fcd-config-flags - bit 0.

fcd-config-flags pic x comp-x
• Bit 7 - WRITETHRU
• Bit 6 - Use relative byte address
• Bit 5 - Update current record pointer
• Bit 4 - For FCD2 use fcd-reladdr-big for relative byte address instead of fcd-reladdr-offset
• Bit 1 - Call status conversion routine
• Bit 0 - Set if IGNORELOCK required