z/OS DFSMStvs Planning and Operating Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Understanding DFSMStvs restrictions

z/OS DFSMStvs Planning and Operating Guide
SC23-6877-00

Any reader can share a data set, whatever the access mode. Batch jobs can also open nonrecoverable data sets for either input or output. Batch jobs can open recoverable data sets for update in non-RLS mode under the one of these conditions:
  • Only when there is no program currently using them
  • Non-RLS readers are the only users of the data sets

Batch jobs cannot open recoverable data sets for output in RLS mode; only CICS® can do that. In an application that shares a recoverable data set, a batch job must use DFSMStvs to access the data set for output. The application must also support transactional recovery.

The following restrictions apply to DFSMStvs processing:
  • Defer processing

    The DFR/NDF specification in the ACB does not apply to either RLS or DFSMStvs.

    For sequential and skip-sequential processing, RLS and DFSMStvs defer writing the current data buffer of the string. A subsequent request against the RPL in the string that positions the string to another control interval (CI), causes the modified buffer to be written to DASD.

  • Load mode

    VSAM hides load mode with either RLS or DFSMStvs access. Loading a data set in either RLS or DFSMStvs mode forfeits load mode optimizations available with nonshared resource access (for example, SPEED). If you want these options, load the data set with nonshared resource access.

  • Positioning

    An OPEN request for a data set with RLS or DFSMStvs does not establish an implicit position to at beginning of the data set. An explicit POINT request or GET NSP request is required.

  • Locking

    VSAM RLS and DFSMStvs obtain a record lock on POINT for consistent read and consistent read explicit. The record positioned to by the POINT request is the record that is returned on a subsequent GET SEQ request.

  • Sharing

    You can use the DISP=OLD parameter for data sets that are accessed with RLS or DFSMStvs, but this is not recommended.

    Recommendation: Use the DISP=SHR parameter. The DISP=OLD parameter causes backouts to fail because DFSMStvs tries to allocate the data set with the DISP=SHR parameter.

    The access method services DELETE command causes an exclusive enqueue on the data set name for the length of the job. Backouts in the same job fail, even if they are in different steps, because they are unable to allocate the data set dynamically.

  • SHAREOPTIONS

    For RLS and DFSMStvs access, use SHAREOPTIONS(2,X). This allows concurrent non-RLS readers while the data set is in use in RLS or DFSMStvs mode. RLS and DFSMStvs ignore all other specifications and assume that there are multiple concurrent writers and readers.

  • DEFINE parameters

    The parameters on the DEFINE command that are ignored or changed for RLS are also ignored or changed for DFSMStvs.

  • Alternate indexes

    RLS and DFSMStvs support alternate indexes through path access. However, RLS and DFSMStvs do not support a direct open request of an alternate index.

  • Exits

    Neither RLS nor DFSMStvs access supports the JRNAD exit. RLS and DFSMStvs ignore it. Use the RLSWAIT exit to perform a similar function; RLS and DFSMStvs access supports the RLSWAIT exit.

    The RLSWAIT exit is optional. Applications that cannot tolerate VSAM suspending the execution unit that issued the original record management request use it. The exit must do its own wait processing. The wait processing is associated with the record management request that is being asynchronously executed. When the record management request is complete, VSAM posts the event control block (ECB) specified in the request parameter list of an event control block (RPLECB).

  • Request environment

    A VSAM RLS or DFSMStvs record management request task must be the same as the task that opened the ACB or at the same hierarchical level as the record management request.Issue VSAM RLS and DFSMStvs record management requests in AMODE 24 or AMODE 31. Issue OPEN, CLOSE, IDAQUIES, and record management requests in task mode, non-cross-memory mode, and primary ASC mode. A functional recovery routine (FRR) must not be in effect.

    DFSMStvs does not support callers who are running in service request block (SRB) mode.

    Unless privately managed contexts are used, the application must issue all record management, commit, and backout requests pertaining to a given unit of recovery under the same task control block (TCB). This is because a unit of recovery is associated with a context and a context is associated with a TCB. Any requests issued under a different TCB would be handled under the context associated with that TCB and would, therefore, belong to a different unit of recovery. The only exception to this is the case in which a resource manager is using privately managed contexts and switching them between TCBs.

    A work manager, which takes work requests and parcels them out to tasks, might create privately managed contexts. These contexts and the units of recovery associated with them can be moved around, unlike the default contexts that every TCB in the system has. So, if the work manager knows that a piece of work it is about to submit belongs to a particular unit of recovery, the work manager can take that unit of recovery's privately managed context and attach it to the TCB before giving that TCB the work to do.

  • Global resource serialization (GRS)
    Like VSAM RLS, DFSMStvs requires GRS or an equivalent product that provides cross-system serialization to serialize:
    • VSAM OPEN requests
    • CLOSE requests
    • EOV processing
    • Access to DFSMS control structures (for example, catalog)

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014