z/OS DFSMS Using Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Processing Multiple Strings

z/OS DFSMS Using Data Sets
SC23-6855-00

In multiple string processing, there can be multiple independent RPLs within an address space for the same data set. The data set can have multiple tasks that share a common control block structure. There are several ACB and RPL arrangements to indicate that multiple string processing occurs:
  • In the first ACB opened, STRNO or BSTRNO is greater than 1.
  • Multiple ACBs are opened for the same data set within the same address space and are connected to the same control block structure.
  • Multiple concurrent RPLs are active against the same ACB using asynchronous requests.
  • Multiple RPLs are active against the same ACB using synchronous processing with each requiring positioning to be held.

If you are doing multiple string update processing, you must consider VSAM lookaside processing and the rules surrounding exclusive use. Lookaside means VSAM checks its buffers to see if the control interval is already present when requesting an index or data control interval.

For GET nonupdate requests, an attempt is made to locate a buffer already in storage. As a result, a down-level copy of the data can be obtained either from buffers attached to this string or from secondary storage.

For GET to update requests, the buffer is obtained in exclusive control, and read from the device for the latest copy of the data. If the buffer is already in exclusive control of another string, the request fails with an exclusive control feedback code. If you are using shared resources, the request can be queued, or can return an exclusive control error.

The exclusive use rules follow:

  1. If a given string obtains a record with a GET for update request, the control interval is not available for update or insert processing by another string.
  2. If a given string is in the process of a control area split caused by an update with length change or an insert, that string obtains exclusive control of the entire control area being split. Other strings cannot process insert or update requests against this control area until the split is complete.
If you are using nonshared resources, VSAM does not queue requests that have exclusive control conflicts, and you are required to clear the conflict. If a conflict is found, VSAM returns a logical error return code, and you must stop activity and clear the conflict. If the RPL that caused the conflict had exclusive control of a control interval from a previous request, you issue an ENDREQ before you attempt to clear the problem. Clear the conflict in one of three ways:
  • Queue until the RPL holding exclusive control of the control interval releases that control, then reissue the request.
  • Issue an ENDREQ against the RPL holding exclusive control to force it to release control immediately.
  • Use shared resources and issue MRKBFR MARK=RLS.

Start of changeNote: If the RPL includes a correctly specified MSGAREA and MSGLEN, the address of the RPL holding exclusive control is provided in the first word of the MSGAREA. The RPL field, RPLDDDD, contains the RBA of the requested control interval if the data set is not an extended-addressable data set. For an extended-addressable data set, the RBA of the record will be in the lower six bytes of the field RPLRBAR. End of change

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014