Hi John, I found the below info in the IBM Redbook – VSAM Demystified:
You open a VSAM cluster in RLS mode by either specifying this in your program ACB macro, or by using the RLS JCL keyword. Options are
* RLS=NRI, No Read Integrity; the application will read every record, even records that are in use elsewhere
* RLS=CR, Consistent Read; the application will put a share lock on the record while reading and will not read records that are held for update by another user.
* RLS=CRE, Consistent Read Explicit; the application will hold a record it is reading until is issues a commit point. CRE only works with applications that log updates and use commits to manage transaction backout.
Sample JCL
//DDNAME DD DSN=dataset.name,DISP=SHR,RLS=CR
From VSAM Demystified Redbook:
5.5.11 RLS rules
RLS enforces some rules when you have a data set open in RLS and non-RLS modes.
RLS OPEN rules
The RLS OPEN command has these restrictions concerning RLS:
_ RLS OPEN for input/output fails if the data set is already opened for non-RLS output.
_ RLS OPEN for input/output fails if the data set is already opened for non-RLS input, unless
the data set is defined as SHAREOPTION(2,x). The non-RLS reader does not have read
integrity.
_ RLS OPEN for output of a recoverable data set by a batch client fails.
_ RLS OPEN for a data set that is either quiesced or is quiescing fails (QUIESCE=YES in
catalog).
_ RLS OPEN for a VSAM data set that has not been assigned a CF cache by using the SMS
STORCLAS construct fails.
_ Empty KSDSs: RLS allows you to open an empty KSDS without first loading the data set.
In other modes (NSR, RLS), this process is not possible.
_ Positioning: RLS does not do implicit positioning to the beginning of the data set for SEQ
processing. An explicit POINT is required.