When accessing a non-input-only file with a CHAIN
/READx
operation, the record is locked and becomes inaccessible to the
system, and unreadable other programs. This is fine if you are about to update the record immediately, but if you have data processing to do following
the read, it can leave the record unavailable for too long. Therefore, non-input files using the CHAIN
, READ
,
READE
, READP
, and READPE
operation codes should always be accessed with the no lock option,
(N)
.
Noncompliant code example
FDDDLJNL7 UF E K DISK INFSR(*PSSR)
...
C READ DDDLJNL7
FDDDLJNL7 UF E K DISK INFSR(*PSSR)
...
/free
read DDDLJNL7;
/end-free
Compliant solution
FDDDLJNL7 UF E K DISK INFSR(*PSSR)
...
C READ(N) DDDLJNL7
FDDDLJNL7 UF E K DISK INFSR(*PSSR)
...
/free
read(n) DDDLJNL7;
/end-free