Using data-in-virtual with standard hiperspaces
Data-in-virtual allows you to map a large amount of data into a
virtual storage area and then deal with the portion of the data that
you need. The virtual storage provides a window
through which
you can view
the object and make changes, if you want. The
DIV macro manages the data object, the window, and the movement of
data between the window and the object.
Question about behavior | Non-shared standard hiperspace | Shared standard hiperspace | ESO hiperspace |
---|---|---|---|
Can the hiperspace map a VSAM linear data set? | Yes | Yes | No |
Can the hiperspace be a data-in-virtual object? | Yes, providing the hiperspace has not been the target of an ALESERV ADD | No | No |
The task that represents the program that issues the DIV IDENTIFY owns the pointers and structures associated with the ID that DIV returns. Any program can use DIV IDENTIFY. However, the system checks the authority of programs that try to use the other DIV services for the same ID. For problem state programs with PSW key 8 - F, data-in-virtual allows only the issuer of the DIV IDENTIFY to use subsequent DIV services for the same ID. That means, for example, that a problem state program with PSW key 8 cannot issue the DIV IDENTIFY and another problem state program with PSW key 8 issue DIV MAP for the same ID.
- Map a VSAM linear data set to a window in a non-shared or shared standard hiperspace, providing the program owns the hiperspace.
- Map an object in a non-shared hiperspace to an address space window,
providing:
- The program owns the hiperspace, and
- The program or its attaching task obtained the storage for the window (through the STORAGE or GETMAIN macro), and
- The hiperspace has never been the target of an ALESERV ADD macro.
Data-in-virtual allows supervisor state programs or programs with PSW key 0 - 7
(called authorized programs
in this section) to issue DIV IDENTIFY
and then have subtasks of that task use the structures. The subtasks
must also be authorized. This means that an authorized program can
issue a DIV IDENTIFY and an authorized subtask can issue the DIV MAP
for that ID.
Question about behavior | ACCESS | MAP | SAVE | UNIDENTIFY, UNACCESS, UNMAP, RESET |
---|---|---|---|---|
Object is a linear data set, window is in a non-shared or shared standard hiperspace | Task that issued the DIV IDENTIFY. | Task (or authorized subtask of the task) that issued the DIV IDENTIFY. (See Note 1.) | Task (or authorized subtask of the task) that issued the DIV IDENTIFY. The task does not have to own the hiperspace. | Task (or authorized subtask of the task) that issued the DIV IDENTIFY. The task does not have to own the hiperspace. |
Object is a non-shared standard hiperspace, window is in an address space | Task that issued the DIV IDENTIFY. The task must own the hiperspace. | Task that issued the DIV IDENTIFY. The task (or a supertask of the task) that issued the DIV IDENTIFY must have obtained storage for the window. (See Note 2.) | Task that issued the DIV IDENTIFY. | Task (or authorized subtask of the task) that issued the DIV IDENTIFY. The task does not have to own the hiperspace. |
Note:
|
Whether the hiperspace contains the window or is the object, the data-in-virtual service will not create a local copy of the object (that is, you cannot use the LOCVIEW=MAP parameter on DIV ACCESS).
The following two sections describe how your program can use data-in-virtual with hiperspaces.