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


Making Concurrent Requests

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

With VSAM, you can maintain concurrent positioning for many requests to a data set.

Strings (sometimes called place holders) are like cursors, each represents a position in the data set and are like holding your finger in a book to keep the place. The same ACB is used for all requests, and the data set needs to be opened only once. This means, for example, you could be processing a data set sequentially using one RPL, and at the same time, using another RPL, directly access selected records from the same data set.

Keep in mind, though, that strings are not “owned” by the RPL any longer than the request holds its position. Once a request gives up its position (for example, with an ENDREQ), that string is free to be used by another request and must be repositioned in the data set by the user.

For each request, a string defines the set of control blocks for the exclusive use of one request. For example, if you use three RPLs, you should specify three strings. If the number of strings you specify is not sufficient, and you are using NSR, the operating system dynamically extends the number of strings as needed by the concurrent requests for the ACB. Strings allocated by dynamic string addition are not necessarily in contiguous storage.

Dynamic string addition does not occur with LSR and GSR. Instead, you get a logic error if you have more requests than available strings.

The maximum number of strings that can be defined or added by the system is 255. Therefore, the maximum number of concurrent requests holding position in one data set at any one time is 255.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014