z/OS MVS Programming: Assembler Services Reference ABE-HSP
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Description

z/OS MVS Programming: Assembler Services Reference ABE-HSP
SA23-1369-00

The DIV macro establishes a window in an address space, data space, or hiperspace to reference and update data from a data-in-virtual object without actually issuing I/O instructions. The data-in-virtual object can be a VSAM linear data set or a nonshared standard hiperspace.

The DIV macro accesses a data object on permanent storage through paging I/O. Data-in-virtual maps the object onto a single virtual address range so your program can view it as beginning at a virtual location and occupying a consecutive virtual address range.

If the window is in an address space or a data space, use assembler instructions to access data. If the window is in a hiperspace, use the HSPSERV macro to access data in 4K-byte blocks.

The DIV macro performs the following services:
Service
Function
IDENTIFY
Identifies you as a user of a data-in-virtual object.
ACCESS
Provides access to the data-in-virtual object.
MAP
Makes the data-in-virtual object addressable through your virtual window.
RESET
Releases changes made in your window since the last SAVE operation.
SAVE
Saves changed data that is in your window.
SAVELIST
Returns the addresses of the first and last changed pages in each range of changed pages within the window.
UNMAP
Eliminates the correspondence between the data-in-virtual object and your virtual window.
UNACCESS
Eliminates your access to the data-in-virtual object.
UNIDENTIFY
Ends your use of the data-in-virtual object.

The services of data-in-virtual execute synchronously, that is, control does not return from the DIV macro until the service is completed. Thus, before you can successfully invoke a service, the previous service must be complete.

For guidance information on the use of data-in-virtual, see z/OS MVS Programming: Assembler Services Guide.

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization: Problem state and any PSW key.
Dispatchable unit mode: Task
Cross memory mode: PASN=HASN=SASN
AMODE: 31-bit
ASC mode: Primary or access register (AR)
Interrupt status: Enabled for I/O and external interrupts
Locks: No locks held
Control parameters: Must be in the primary address space.

Programming requirements

Before using the DIV macro, the caller must first create either a linear data set object or a hiperspace object. The user must also supply a standard 72-byte save area.

Restrictions

  • When you attach a new task, you cannot pass ownership of a mapped virtual storage window to the new task. That is, you cannot use the ATTACH or ATTACHX keywords GSPV and GSPL to pass the mapped virtual storage.
  • While your program is in cross-memory mode, your program cannot invoke data-in-virtual services; however, your program can reference and update data in a mapped virtual storage window.
  • The task that obtains the ID (through DIV IDENTIFY) is the only one that can issue other DIV services for that ID.
  • When you identify a data-in-virtual object using the IDENTIFY service, you cannot request a checkpoint until you invoke the corresponding UNIDENTIFY service.
  • When you use DIV with the IARVSERV macro to share data in virtual storage, you must follow several requirements; see the chapter about sharing data through IARVSERV in z/OS MVS Programming: Assembler Services Guide. The DIV macro does not support VSAM extended format linear data sets for use as a DIV object for which the size is greater than 4GB.

Input register information

The DIV macro is sensitive to the SYSSTATE macro with the OSREL parameter
  • If the caller has issued the SYSSTATE macro with the OSREL=ZOSV1R6 parameter (Version 1 Release 6 of z/OS® or later) before issuing the DIV macro, the caller does not have to place any information into any general purpose register (GPR) unless using it in register notation for a particular parameter, or using it as a base register.
  • Otherwise, the caller must ensure that the following general purpose register contains the specified information:
    Register
    Contents
    13
    The address of an 18-word save area

Output register information

When control returns to the caller, the GPRs contain:
Register
Contents
0
Reason code if GPR 15 contains a nonzero return code; otherwise, used as a work register by the system
1
Used as a work register by the system
2-14
Unchanged
15
Return code
When control returns to the caller, the access registers (ARs) contain:
Register
Contents
0 and 1
Used as work registers by the system
2-13
Unchanged
14-15
Used as work registers by the system

Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control.

Performance implications

  • By using the DIV macro, you might reduce the amount of I/O. The SAVELIST service additionally improves performance of the application when it is necessary to inspect and verify data only in pages that have changed.
  • Using LOCVIEW=MAP on a DIV ACCESS request degrades performance. Use LOCVIEW=NONE request whenever possible. You can use LOCVIEW=MAP request for small data objects without significant performance loss.
  • Using RETAIN=YES on a DIV UNMAP request can degrade performance. Using RETAIN=YES causes the system to read more pages from the object.

Syntax

The standard form of the DIV macro is written as follows:

Syntax Description
   
   name name: Symbol. Begin name in column 1.
   
One or more blanks must precede DIV.
   
DIV  
   
One or more blanks must follow DIV.
   
  Valid parameters:
  (Underlined parameters are those that you must specify.)
IDENTIFY ID, TYPE, DDNAME or STOKEN
ACCESS ID, MODE, SIZE, LOCVIEW
MAP ID, AREA, OFFSET, SPAN, STOKEN, RETAIN, PFCOUNT
RESET ID, OFFSET, SPAN, RELEASE
SAVE ID, OFFSET, SPAN, SIZE, STOKEN, LISTADDR, LISTSIZE, MF
SAVELIST ID, LISTADDR, LISTSIZE, MF
UNMAP ID, AREA, RETAIN, STOKEN
UNACCESS ID
UNIDENTIFY ID
   
,ID=addr addr: RX-type address, or register (2) - (12).
   
   ,AREA=addr addr: RX-type address, or register (2) - (12).
   
   ,DDNAME=addr addr: RX-type address, or register (2) - (12).
   
   ,LISTADDR=listaddr addr: RX-type address, or register (2) - (12).
   
   ,LISTSIZE=listsize addr: RX-type address, or register (2) - (12).
   
   ,LOCVIEW=MAP Default: LOCVIEW=NONE
   ,LOCVIEW=NONE  
   
   ,MODE=READ Default: None
   ,MODE=UPDATE  
   
   ,OFFSET=addr addr: RX-type address, or register (2) - (12).
   ,OFFSET=* Default: OFFSET=0
   
   ,RETAIN=YES Default: RETAIN=NO
   ,RETAIN=NO  
   
   ,SIZE=addr addr: RX-type address, or register (2) - (12).
   ,SIZE=*  
   
   ,SPAN=addr addr: RX-type address, or register (2) - (12).
   ,SPAN=*  
   
   ,STOKEN=addr addr: RX-type address.
   
   ,TYPE=DA Default: None
   ,TYPE=HS  
   
   ,PFCOUNT=nnn Default: 0
   
   ,RELEASE=YES Default: RELEASE=NO
   ,RELEASE=NO  
   

Parameters

The IDENTIFY, ACCESS, MAP, SAVE, SAVELIST, RESET, UNMAP, UNACCESS, and UNIDENTIFY parameters, which designate the services of the DIV macro, are mutually exclusive. You can select only one. The parameters are explained as follows:

IDENTIFY
Selects the data-in-virtual object (linear data set or hiperspace) that you want to process. When you specify IDENTIFY, you must also specify ID and TYPE. ID specifies the address of an eight-byte field into which the IDENTIFY service returns a unique eight-byte name. When you invoke other data-in-virtual services, you use this identifier, or token, as input. The use of the ID is associated only with your task; that is, all services for this ID must be requested by the same task that obtained the ID.

When the object is a data set, you must also specify TYPE=DA and DDNAME. When the object is a nonshared standard hiperspace, you must specify TYPE=HS and STOKEN.

ACCESS
Requests permission to access a data-in-virtual object. When you specify ACCESS, you must also specify ID and MODE, and you may optionally specify SIZE or LOCVIEW. ID specifies the token which identifies the object you want to access. If your object is a hiperspace, ACCESS allows either multiple readers or one updater. Therefore, the system does not accept a read request if there is already an updater, and it does not accept an update request if there is any other user currently accessing the same object. You cannot access a hiperspace as a data object if it is, or has been on an access list.
MAP
Establishes addressability to the object in a specified range of virtual storage, called the virtual window. When you specify MAP, you must also specify ID and AREA, and you may optionally specify OFFSET, SPAN, STOKEN, RETAIN, and PFCOUNT. Specify STOKEN when your window is in a data space or a standard hiperspace. If your window is in an address space, your object can be either a linear data set or a nonshared standard hiperspace. If your window is in a data space or a hiperspace, your object can be only a linear data set.

If you specified TYPE=DA, you can issue more than one MAP with different STOKENs. You cannot mix data space and hiperspace maps with address space maps under the same ID at any one time.

RESET
Releases changes made in the window since the last SAVE operation. When you specify RESET, you must also specify ID, and you may optionally specify OFFSET, SPAN, and RELEASE. If the window corresponds to blocks on the object, the current contents of the object will replace the data that has changed in the window when the program next references the window. RESET does not change the object.

Do not specify RESET for a storage range that contains DREF storage.

SAVE
Writes changed pages from the window to the corresponding blocks in the object. When you specify SAVE, you must also specify ID, and you may optionally specify OFFSET, SPAN, SIZE, and STOKEN. The system writes changed pages from the window into the blocks specified by OFFSET and SPAN. SAVE cannot change the size of a hiperspace object.

Do not specify SAVE for a storage range that contains DREF storage.

Optionally, SAVE accepts a user list that the application specifies through the LISTADDR and LISTSIZE parameters. The user list contains information returned by the SAVELIST service. If you specify a user list as input for SAVE, you cannot specify OFFSET and SPAN, and the system saves only those pages specified in the user list.

SAVELIST
Returns the addresses of the first and last changed pages in each range of changed pages within the window. The mapped ranges may be either address spaces, data spaces, or hiperspaces. If more than one data space or hiperspace is mapped onto a DIV object, the selected range must be contained within a single data space or hiperspace.
UNMAP
Terminates a virtual window by removing the correspondence between virtual pages in the window and blocks in the object. After the UNMAP is complete, the contents of the pages depend on the value you specify for RETAIN; the virtual pages in the former window either retain the current view of the object or appear as if they had just been obtained.

When you specify UNMAP, you must also specify ID and AREA, and you may specify RETAIN and STOKEN if the object is a data set and the window is in a data space or a hiperspace. UNMAP has no effect on the object itself and does not save data from the virtual window. If you want to save the data in the window, invoke SAVE before you invoke UNMAP.

If you issued multiple MAPs with different STOKENs, use STOKEN on UNMAP. If you do not specify STOKEN, the system scans the mapped ranges and unmaps the first range that matches the virtual area regardless of the data space it is in. Issuing UNACCESS or UNIDENTIFY automatically unmaps all mapped ranges.

UNACCESS
Relinquishes your permission to read from or write to a data-in-virtual object. When you specify UNACCESS, you must also specify ID, which provides the address of the unique name that was returned by the IDENTIFY service. When you invoke UNACCESS, any outstanding windows for the specified ID are automatically unmapped with an implied RETAIN=NO.
UNIDENTIFY
Ends the use of a data-in-virtual object under a previously assigned ID. When you specify UNIDENTIFY, you must also specify ID, which provides the address of the unique name that was returned by the IDENTIFY service. If the object is still accessed or mapped under the specified ID, the system will automatically unaccess and unmap it with an implied RETAIN=NO.
,ID=addr
Specifies the address of a field in storage where the IDENTIFY service stores a unique eight-byte name that it associates with the object. This name acts as a token and is the output value from the IDENTIFY service. It is a required input value for all the other services.
,AREA=addr
Specifies the address of a four-byte field in storage containing a pointer to the start of the virtual window. You must specify the AREA parameter when you invoke the MAP and the UNMAP services. The starting address for an UNMAP request must be identical to the starting address of its corresponding MAP request. Address space virtual storage that is occupied by a window must meet the following requirements:
  • The window must begin on a 4096-byte (page) boundary and must be a multiple of 4096 bytes long.
  • Virtual storage within the window must have been obtained from a single, pageable, private area subpool owned by the task that issued the IDENTIFY.
  • The window cannot contain VIO storage.
  • Pages within the window cannot be page fixed.
Data space and hiperspace virtual storage that is occupied by a window must meet the following requirements.
  • The window must be on a 4096-byte boundary and must be a multiple of 4096 bytes long.
  • The data space or hiperspace must be owned or created by the task specifying the MAP service.
  • The data space or hiperspace must exist until you specify the UNMAP service for all mapped ranges.
  • The specified mapped range must lie within the current bounds of the data space or hiperspace.
,DDNAME=addr
Specifies the address of a field containing the ddname for the data set object when you specify TYPE=DA on IDENTIFY. The first byte of the field must be the number of characters in the ddname. The bytes following the first byte must contain the EBCDIC characters of the ddname itself. The ddname must conform to the standard syntax for ddnames (one through eight alphameric or national characters). DDNAME is required when you invoke IDENTIFY with TYPE=DA for a data set object but is not allowed when you specify TYPE=HS for a hiperspace object. Do not specify a DDNAME that corresponds to a VSAM extended format linear data set for which the size is greater than 4GB, because the DIV macro does not support them for use as a DIV object.
,LISTADDR=listaddr
Specifies the address of a 4-byte field that contains a pointer to the user list that the caller provides for the SAVELIST service.
,LISTSIZE=listsize
Specifies the address of a 4-byte field that contains the number of entries in the user list for the SAVELIST service. The size of the list must be a minimum of three entries and a maximum of 255 entries, where each entry contains two words.
,LOCVIEW=MAP
,LOCVIEW=NONE
Specifies whether the system is to create a local copy of the data-in-virtual object. For hiperspace objects, you must specify LOCVIEW=NONE or use the default.

LOCVIEW=MAP specifies that the system is to establish a local copy of the data set object for the specified range. Use MAP to maintain a consistent view in the virtual storage window of data on permanent storage in environments where there are multiple writers or at least one reader and writer at the same time to the object.

LOCVIEW=NONE specifies that the system is not to create a local copy of the object. NONE is the default. Use NONE in environments where there is either a single writer, OR one or more readers, but not both at the same time.

,MODE=READ
,MODE=UPDATE
Specifies whether the object is being accessed for the purpose of reading or updating. If you are using the SAVE service to update an object, specify MODE=UPDATE. Otherwise, specify MODE=READ to signify read-only access to the object. You must specify MODE whenever you specify ACCESS.
,OFFSET=addr
,OFFSET=*
Specifies the beginning of a continuous range of blocks in a data-in-virtual object. OFFSET is used with SPAN to define a continuous range of blocks in an object. OFFSET designates the location of the first block in the range, and SPAN designates how many blocks are in the range. An OFFSET value of zero designates the first block (the beginning) of an object. The system permits an OFFSET beyond the current end of the object as long as it remains within the maximum number of blocks allowed for the object and also within the absolute limit of (2**20)-1 blocks. If you omit OFFSET or specify OFFSET=*, the system uses a default OFFSET of zero. You can specify the OFFSET parameter with MAP, RESET, and SAVE.
,RETAIN=YES
,RETAIN=NO
Determines what data appears in the window when you invoke the MAP service, and what data is left in virtual storage when you invoke UNMAP.

When you specify RETAIN=YES with MAP, the data in the virtual range stays the same. The system considers all pages in the range changed. When you specify RETAIN=NO (or use the default) with MAP, data in the object replaces the data in virtual range.

When you specify RETAIN=NO with UNMAP, the data in the virtual range becomes freshly obtained. When you specify RETAIN=YES with UNMAP, the virtual range retains its current view.

,SIZE=addr
,SIZE=*
Specifies the address of a field where the system stores the size of the object. The system returns the size in this field whenever you specify SAVE or ACCESS and also specify SIZE. When the system returns control after executing a SAVE, the value that it returns is the minimum number of blocks that must be mapped to ensure that the entire object is mapped. If you omit SIZE or specify SIZE=*, the system does not return the size.

If you specified TYPE=DA for a linear data set object, and you specify SIZE, the macro returns the current size of the object in the four-byte location that SIZE designates.

If you specified TYPE=HS for a hiperspace object, and you specify SIZE, ACCESS returns two sizes in the eight-byte location. The first is the current size of the hiperspace (in 4K byte units), and the second is the maximum size of the hiperspace (also in 4K byte units).

Specify SIZE only when you specify ACCESS or SAVE.

,SPAN=addr
,SPAN=*
Specifies the address of a four-byte field containing the number of blocks that are to be processed. Use SPAN only with the MAP, RESET, or SAVE services, which operate only on a range of contiguous blocks. SPAN indicates how many blocks are in the range. It is used with OFFSET, which indicates the first block of the range.

For the RESET and SAVE services, the block range can include noncontiguous mappings of an object. This lets you reset or save several maps in a single DIV macro invocation.

For the MAP service, the block range can extend beyond the end of the object, but it cannot extend beyond the maximum size allowed for the object. You can create a window that exceeds the size of the object. The maximum span allowed is (2**20)-1 blocks.

If you omit SPAN or specify SPAN=*, or if the four-byte field contains zero, the system uses the SPAN default value. For the SAVE and RESET services, the default value is the number of blocks in the object from the specified or defaulted block to the end of the last mapped range. For the MAP service, the default is the current size of the object in blocks, minus the value specified by OFFSET. If the offset value is beyond the end of the object, the span defaults to one when you omit SPAN.

,STOKEN=addr
Specifies the address of an eight-byte field that identifies a hiperspace or data space. STOKEN is valid only with the IDENTIFY, MAP, SAVE, and UNMAP parameters. Specify STOKEN with MAP to map a linear data set object onto data space or hiperspace virtual storage, or to unmap data space or hiperspace storage.

With MAP, the system maps the permanent object into the data space or hiperspace that the STOKEN represents. If you do not specify STOKEN, the mapping applies to the primary address space. With UNMAP, STOKEN identifies which data space or hiperspace contains the window to be unmapped.

If you specified TYPE=HS for a hiperspace object, specify STOKEN with IDENTIFY. The system does not verify the STOKEN until you use the associated ID with ACCESS.

,TYPE=DA
,TYPE=HS
TYPE=DA specifies that your program is using a data definition statement to identify a VSAM linear data set as the data object. The DIV macro does not support VSAM extended format linear data sets for use as a DIV object for which the size is greater than 4GB. TYPE=HS specifies that your program is using STOKEN to identify a hiperspace as the data object. The hiperspace must be a nonshared standard type and must be owned by the task issuing the IDENTIFY. Only the owner of the hiperspace can issue any subsequent ACCESS, MAP, and SAVE. You can use a nonshared standard hiperspace if no program has ever issued ALESERV ADD for that hiperspace. You cannot issue ALESERV ADD for a nonshared standard hiperspace while it is a data object.
,PFCOUNT=nnn
Specifies the additional pages the system is to read into real storage on a page fault. nnn is an unsigned decimal number from 0 to 255. If you specify an integer greater than 255, the system uses 255. Zero is the default. If you omit PFCOUNT or specify PFCOUNT=0, the system reads blocks from the data object one at a time. In any case, the system reads in successive pages only to the end of the virtual range of the mapped area containing the originally referenced page.

Use PFCOUNT if your program accesses the mapped object in a sequential manner. Because you get a page fault the first time you reference each page, reading into real storage multiple consecutive pages on each page fault might decrease the number of page faults and improve your program's performance.

PFCOUNT applies to movement of pages from the object to central storage. PFCOUNT does not apply to movement of changed or unchanged data that the system has moved to the real storage as a direct result of system management of the real storage.

,RELEASE=YES
,RELEASE=NO
Specify RELEASE=YES to release all virtual pages in the reset range. Specify RELEASE=NO or use the default to release only changed pages in the reset range. RELEASE=NO does not replace unchanged pages in the window with a new copy of pages from the object. It replaces only changed pages. If another ID might have changed the object itself while you viewed data in the window, specify RELEASE=YES to reset all pages. Any subsequent reference to these pages will cause the system to load a new copy of the data page from the object.

ABEND codes

DIV might abnormally terminate with abend code X'08B'. See z/OS MVS System Codes for an explanation and programmer response.

Return and reason codes

When the system returns control to the caller after the DIV macro executes, it supplies a return code in the low-order (rightmost) byte of general register 15 and a reason code in the two low-order bytes of register 0. After an unsuccessful completion, the system abnormally terminates the caller and supplies an abend code of X'08B' and a reason code in the two low-order bytes of general register 15. See z/OS MVS System Codes for a detailed explanation of the reason codes for abend code X'08B'.

The hexadecimal values of the reason and return codes are:

Reason Code Return Code Abend Code Meaning and Action
none 00 Meaning: Successful completion.

Action: None.

0001 none 08B Meaning: Unknown service was requested.

Action: None.

0002 none 08B Meaning: Unknown parameter list format.

Action: None.

0003 none 08B Meaning: Input parameter list cannot be addressed.

Action: None.

0004 none 08B Meaning: Storage specified in the parameter list cannot be addressed.

Action: None.

0005 none 08B Meaning: The parameter list contains a reserved field that does not contain binary zeros.

Action: None.

0006 none 08B Meaning: The caller is not running in task mode.

Action: None.

0007 none 08B Meaning: The caller is in cross memory mode.

Action: None.

0008 none 08B Meaning: The specified TYPE is not valid.

Action: None.

0009 none 08B Meaning: The supplied ID is not valid or is an ID that the caller cannot use.

Action: None.

000A 08 Meaning: Environmental error. Another service is currently executing with the specified ID.

Action: Retry the request one or more times until the other service currently executing for this ID completes.

000B none 08B Meaning: The object is already accessed with the specified ID.

Action: None.

000C none 08B Meaning: The caller does not have proper RACF® authorization to the requested object.

Action: None.

000D none 08B Meaning: The requested window exceeds the maximum allowable size for the object.

Action: None.

000E none 08B Meaning: The object is not currently accessed for the specified ID.

Action: None.

000F none 08B Meaning: The specified range overlaps a range that is already mapped for the specified ID.

Action: None.

0010 none 08B Meaning: The specified range overlaps another mapped range in the current address space or in the specified data space.

Action: None.

0011 none 08B Meaning: Undetermined user error.

Action: None.

0012 none 08B Meaning: The virtual storage specified does not begin on a 4K boundary.

Action: None.

0013 none 08B Meaning: The virtual storage specified is not in a pageable private area subpool.

Action: None.

0014 none 08B Meaning: The virtual range specified cannot be used to map an object.

Action: None.

0015 none 08B Meaning: The caller did not issue GETMAIN for at least one page in the specified range.

Action: None.

0016 none 08B Meaning: The virtual range specified contains at least one fixed page and you did not specify RETAIN=YES.

Action: None.

0017 0C Meaning: System error. Portions of virtual storage mapping the object were not addressable, and therefore, could not be saved. (There was either a paging I/O error or data occupying a bad real frame.)

Action: Retry the request. If the problem persists, record the return and reason code and supply it to the appropriate IBM® support personnel.

0018 none 08B Meaning: The caller does not have UPDATE access to the object.

Action: None.

0019 none 08B Meaning: A page to be saved or reset was in the page fixed state.

Action: None.

001A 04 Meaning: Program error. The specified range does not encompass any mapped area of the object.

Action: None required. However, you might want to check that the specified range for this operation was correct.

001B none 08B Meaning: The virtual storage area specified to be unmapped is not currently mapped.

Action: None.

001C 08 Meaning: Environmental error. The object cannot be accessed at the current time.

Action: Retry the request one or more times until the operation succeeds.

001D none 08B Meaning: The accessed object is not at the correct control interval size.

Action: None.

001E none 08B Meaning: The length of the ddname exceeds the maximum size allowed.

Action: None.

001F none 08B Meaning: The caller's storage protect key is not the same as when IDENTIFY was invoked.

Action: None.

0020 none 08B Meaning: An ACCESS was attempted by a task that does not own the specified ID.

Action: None.

0021 0C Meaning: System error. Portions of the object could not be retained in virtual storage as requested.

Action: Retry the request. If the problem persists, record the return and reason code and supply it to the appropriate IBM support personnel.

0022 none 08B Meaning: The task that issued IDENTIFY (or the task for which it is a subtask) does not own the virtual storage it is attempting to map.

Action: None.

0023 none 08B Meaning: Part or all of the specified storage to be mapped is not in the user's key.

Action: None.

0024 none 08B Meaning: The caller requested a DIV service holding the local lock.

Action: None.

0025 none 08B Meaning: The caller requested a DIV service while not in a correct calling environment.

Action: None.

0026 none 08B Meaning: The caller requested a DIV service, but was not in a 31-bit addressing mode.

Action: None.

0027 none 08B Meaning: The specified offset and span describe a range that goes beyond the maximum supported object size.

Action: None.

0028 08 Meaning: Program error. The caller tried to access an empty data set with MODE=READ specified.

Action: None required. If the data set was not expected to be empty, check return codes from previous DIV operations to ensure that the data was saved as expected.

0029 none 08B Meaning: The caller tried to map into a disabled reference (DREF) data space.

Action: None.

002A none 08B Meaning: The caller tried to map the object into a data space. However, the caller has specified LOCVIEW=MAP to access the object.

Action: None.

002B none 08B Meaning: The data space is not big enough to contain the window.

Action: None.

002C none 08B Meaning: The caller requested a data space or hiperspace MAP with address space MAPs outstanding, or an address space MAP with data space or hiperspace MAPs outstanding under the given ID.

Action: None.

002D 04 Meaning: The data space has been deleted. However, the requested UNMAP has been successful.

Action: None.

002E none 08B Meaning: The data space has been deleted. The requested UNMAP cannot be performed. At least one page in the SAVELIST range was in a deleted data space.

Action: None.

0036 none 08B Meaning: STOKEN does not represent a valid data space that the caller can use.

Action: None.

0037 04 Meaning: Program error. The caller invoked ACCESS. The ACCESS is successful, but the system is issuing a warning that the data set was not allocated with a SHAREOPTIONS(1,3) and that LOCVIEW=MAP was not specified with ACCESS.

Action: None required. However, to eliminate the possibility of potential errors, you should allocate the data set to be used as a DIV object with SHAREOPTIONS(1,3), or you should specify LOCVIEW=MAP when the DIV ACCESS is done.

0038 none 08B Meaning: The caller invoked ACCESS, but ACCESS failed because the data set was not allocated as a linear data set.

Action: None.

0039 none 08B Meaning: The caller specified SAVE or RESET for a storage range that contains DREF storage. The SAVE or RESET was unsuccessful.

Action: None.

003A none 08B Meaning: The program attempted to map an ESO hiperspace. You can map only to a standard type hiperspace.

Action: None.

003B none 08B Meaning: The caller requested UNMAP with RETAIN=YES for a hiperspace window. You must specify RETAIN=NO or use the default.

Action: None.

003C none 08B Meaning: The caller requested UNMAP with RETAIN=YES for a mapped standard hiperspace object. You must specify RETAIN=NO or use the default.

Action: None.

003D none 08B Meaning: The STOKEN for the object associated with the specified ID does not represent a valid hiperspace that this request can use.

Action: None.

003E 08 Meaning: Environmental error. The hiperspace object cannot be accessed at this time. The number of current READs might exceed the maximum allowed. (If MODE=READ, the object is already accessed under a different ID for UPDATE. If MODE=UPDATE, the object is already accessed under at least one other ID.)

Action: Retry the request one or more times until the operation succeeds.

003F none 08B Meaning: The caller specified LOCVIEW=MAP for an ID associated with a hiperspace object.

Action: None.

0040 08 Meaning: Environmental error. The specified MAP range would extend the data object beyond the installation data space limits.

Action: Retry the MAP operation with a smaller range specified, or map this range onto a different DIV object.

0041 none 08B Meaning: The caller specified a STOKEN with an ID representing a hiperspace object. Mapping data space virtual storage onto a hiperspace object is not allowed.

Action: None.

0042 none 08B Meaning: The hiperspace you are specifying as a data object has been the object of an ALESERV ADD macro, and is therefore ineligible to be used as a DIV object.

Action: None.

0043 04 Meaning: Program error. The specified range has no pages that have been altered.

Action: None required. However, you might want to check that the specified range for this operation was correct.

0044 04 Meaning: Successful completion. The table is full and there are more ranges to check.

Action: None required. However, to obtain all of the information regarding changed pages, you can either retry the SAVELIST operation with a larger list, or you can obtain a new OFFSET and SPAN from the last entry in the returned list, and invoke SAVELIST another time to fill in the list with additional changed page information.

0045 08 Meaning: Environmental error. Storage for the SAVELIST operation could not be obtained. The DIV request is rejected.

Action: Retry the request one or more times. If the problem persists, check with the operator to see if another user in the installation is causing the problem, or if the entire installation is experiencing storage constraint problems.

0046 none 08B Meaning: The LISTSIZE specified is not valid.

Action: None.

0047 none 08B Meaning: SAVE and either LISTADDR or LISTSIZE is specified.

Action: None.

0048 none 08B Meaning: All or a portion of a range specified in the user's SAVELIST does not intersect with a mapped region.

Action: None.

0049 none 08B Meaning: While using a user list with SAVE, the caller specified either OFFSET or SPAN.

Action: None.

004A none 08B Meaning: Addresses in the user list are not valid, not on a page boundary, or the start address is higher than the end address.

Action: None.

004B none 08B Meaning: Selected range spans across multiple data spaces or hiperspaces.

Action: None.

004C none 08B Meaning: The caller specified SAVE for a data space or hiperspace, but did not supply a value for STOKEN.

Action: None.

004D none 08B Meaning: The caller is not authorized to access the requested data.

Action: None.

0052 none 08B Meaning: The specified virtual range contains at least one protected page.

Action: Remove the protection status from the protected pages in the specified virtual range. Then issue the DIV macro again. If you want to invoke MAP or UNMAP and want to preserve the protection status, specify RETAIN=YES when you issue the macro.

0801 08 Meaning: Environmental error. Storage to build the necessary data-in-virtual control block structure could not be obtained.

Action: Retry the request one or more times. If the problem persists, check with the operator to see if another user in the installation is causing the problem, or if the entire installation is experiencing storage constraint problems.

0802 08 Meaning: System error. I/O driver failure.

Action: Retry the request. If the problem persists, record the return and reason code and supply it to the appropriate IBM support personnel.

0803 0C Meaning: System error. A necessary page table could not be read into central (also called real) storage.

Action: Retry the request. If the problem persists, record the return and reason code and supply it to the appropriate IBM support personnel.

0804 0C Meaning: System error. Catalog update failed.

Action: Retry the request. If the problem persists, record the return and reason code and supply it to the appropriate IBM support personnel.

0805 none 08B Meaning: System error. Indeterminate origin.

Action: None.

0806 0C Meaning: System error. I/O error.

Action: Retry the request. If the problem persists, record the return and reason code and supply it to the appropriate IBM support personnel.

0807 04 Meaning: Environmental error. Media damage might be present in allocated DASD space. The damage is beyond the currently saved portion of the object. The SAVE completed successfully.

Action: None required. However, do not attempt to increase the size of this DIV object.

0808 08 Meaning: System error. I/O from a previous request has not completed.

Action: Retry the request. If the problem persists, record the return and reason code and supply it to the appropriate IBM support personnel.

Example 1

Identify a hiperspace as a data object. The hiperspace's STOKEN is at HSSTOK. IDENTIFY is to return the ID at DIVOBJID.
DIV IDENTIFY,TYPE=HS,STOKEN=HSSTOK,ID=DIVOBJID

Example 2

Whenever a page fault on a page in the mapped range requires that the system read the page from the data set object, the system, if possible, preloads up to seven additional pages, virtually successive to the fault page.
DIV MAP,ID=DIVOBJID,AREA=MAPPTR1,SPAN=SPANVAL,OFFSET=*,STOKEN=DSSTOK,PFCOUNT=7

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014