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


User Access to VSAM Shared Information

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

You can code the following instructions to get the length and address of the data to be sent to another processor:
  • Load ACB address into register RY.
  • To locate the VSI for a data component:
       L   RX,04(,RY)    Put AMBL address into register RX
       L   1,52(,RX)     Get data AMB address
       L   1,68(,1)      Get VSI address
       LH  0,62(,1)      Load data length
       LA  1,62(,1)      Point to data to be communicated
  • To locate the VSI information for an index component of a key-sequenced data set:
       L   RX,04(,RY)    Put AMBL address into register RX
       L   1,56(,RX)     Get index AMB address
       L   1,68(,1)      Get VSI address
       LH  0,62(,1)      Load data length
       LA  1,62(,1)      Point to data to be communicated
Similarly, the location of the VSI on the receiving processor can be located. The VSI level number must be incremented in the receiving VSI to inform the receiving processor that the VSI has changed. To update the level number, assuming the address of the VSI is in register 1:
   LA  0,1           Place increment into register 0
   AL  0,64(,1)      Add level number to increment
   ST  0,64(,1)      Save new level number

All processing of the VSI must be protected by using ENQ/DEQ to prevent simultaneous updates to the transmitted data. To alter the VSI a user must run in KEY0 AUTHORIZED.

If the data set can be shared between z/OS operating systems, a user's program in another system can concurrently access the data set. Before you open the data set specifying DISP=OLD, it is your responsibility to protect across systems with ENQ/DEQ using the UCB option. This protection is available with GRS or equivalent functions.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014