Occasionally, it is quite useful to update header information in a file after it is created and before any users begin using the file. Consider the case of setting an initial serial number.
If a file is opened exclusively, and a PUTHDR() call updates a file attribute (such as the next serial number) under transaction control, and the file is closed and then reopened in shared mode before the transaction is committed or aborted, the following scenarios could apply:
With the introduction of this open modification, other shared open attempts fail with FNOP_ERR (12) / FCNF_COD (-8) as if the file was still in exclusive mode. Once the transaction is completed (commit or abort), then other shared opens behave as expected.