The following example maps a data-in-virtual object in a data space.
The size of the data space is 10 megabytes, or 2560 blocks. (A block
is 4K bytes.)
* CREATE A DATA SPACE, ADD AN ACCESS LIST ENTRY FOR IT
* AND MAP A DATA-IN-VIRTUAL OBJECT INTO DATA SPACE STORAGE
.
DSPSERV CREATE,NAME=DSNAME,STOKEN=DSSTOK,BLOCKS=DSSIZE,ORIGIN=DSORG
ALESERV ADD,STOKEN=DSSTOK,ALET=DSALET,AL=WORKUNIT,ACCESS=PUBLIC
.
* EQUATE DATA SPACE STORAGE TO OBJAREA
.
L 4,DSORG
LAM 4,4,DSALET
USING OBJAREA,4
.
* MAP THE OBJECT
.
DIV IDENTIFY,ID=OBJID,TYPE=DA,DDNAME=OBJDD
DIV ACCESS,ID=OBJID,MODE=UPDATE
DIV MAP,ID=OBJID,AREA=OBJAREA,STOKEN=DSSTOK
.
* USE THE ALET IN DSALET TO REFERENCE THE
* DATA SPACE STORAGE MAPPING THE OBJECT.
.
* SAVE ANY CHANGES TO THE OBJECT WITH DIV SAVE
.
DIV SAVE,ID=OBJID
DIV UNMAP,ID=OBJID,AREA=DSORG
DIV UNACCESS,ID=OBJID
DIV UNIDENTIFY,ID=OBJID
.
* DELETE THE ACCESS LIST ENTRY AND THE DATA SPACE
.
ALESERV DELETE,ALET=DSALET
DSPSERV DELETE,STOKEN=DSSTOK
.
DSNAME DC CL8'MYSPACE ' DATA SPACE NAME
DSSTOK DS CL8 DATA SPACE STOKEN
DSALET DS F DATA SPACE ALET
DSORG DS F DATA SPACE ORIGIN
DSSIZE DC F'2560' DATA SPACE 10 MEGABYTES IN SIZE
OBJID DS CL8 DIV OBJECT ID
OBJDD DC AL1(7),CL7'MYDD ' DIV OBJECT DDNAME
OBJAREA DSECT WINDOW IN DATA SPACE
OBJWORD1 DS F
OBJWORD2 DS F