If the volume is offline - it could be in any number of "funny" states - maybe
halfway thru an ICKDSF init or clip - what would your program want to do with
the data in this case?
Unless you have a real pressing need to determine the volser (if any) of an
offline volume (and lets be honest there are not very many reasons for this),
then I would suggest forgetting about the offline volumes.
I will assume that by UCB address you mean "unit address" - if so you can get
95% of what you want in a non-AUTH program by forgetting about the offline DASD
and just use UCBSCAN (see MVS Assembler Services Manuals) - REXX even gives you
a way to make this a callable external function - so you could end up with
something like :
unit = vol2unit('MYVOL1')
and
volser = unit2vol('0123'x)
Rob Scott
Developer
Rocket Software
275 Grove Street * Newton, MA 02466-2272 * USA
Tel: +1.617.614.2305
Email: [email protected]
Web: www.rocketsoftware.com
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of
Lizette Koehler
Sent: 17 April 2009 17:19
To: [email protected]
Subject: Re: Validating existance of a Volume from REXX
I guess I am just confused because ISMF can do it. But there does not seem to
be a batch process to do the same thing.
I know that Bill cannot see me kneeling and saying I AM NOT WORTHY. But, it
might be nice if someone decided to build a nice batch interface for us to use.
My philosophy is - if you do in one place why not the other?
So, is that a challenge to write a user friendly assembler program that could
be called by ANYTHING that will return the volser based on a UCB address, or
return a UCB address based on a volser?
Lizette
>
>z/OS deliberately obscures the volser in the UCB when it is offline - and the
>only way to read it is to construct your own low level I/O program to read the
>device label - the sort of thing that Bill Fairchild does 5 times before
>breakfast.
>
>
>
>
>How to deal with a volume that is valid but offline? The D U fail because the
>volume is offline. This is one issue I have been struggling with.
>
>How can I see the volumes when they are offline in REXX or through a Batch
>interface? I know that ISMF can see volumes offline, but I have not found a
>way to emulate that outside of ISMF yet.
>
>Lizette
>
>
>
>>I don't believe there is a VVDS on a volume if there is no VSAM, and
>>if the volume is non-SMS. So a sysres volume probably might not have
>>a VVDS on it, and most non-SMS volumes would not as well, unless there
>>is VSAM.
>>
>>You could probably check for a VTOCIX if you make all of your volumes
>>have an index?
>>
>>I do these checks in the following REXX code using the console command:
>>
>> "CONSOLE DEACTIVATE"
>>"CONSPROF SOLDISPLAY(NO) UNSOLNUM("NM") SOLNUM("NM") UNSOLDISPLAY(NO)"
>> "CONSOLE ACTIVATE CART("TOKEN") NAME("NAME")"
>> VOLA=GDGX
>> ADDRESS CONSOLE 'D U,VOL='VOLA''
>> ER = GETMSG(DMSG.,"SOL",TOKEN,MASK,5)
>> MSGCHECK=SUBSTR(DMSG.1,2,7)
>> IF MSGCHECK='IEE455I' THEN
>> DO
>> LINE.J= 'THE VOLSER FOR GDG: 'GDGX' DOES NOT EXIST'
>> J=J+1
>> END
>>
>>
>>If you look into the CONSOLE command you can do the D U,VOL=xxxxxx
>>command and interogate the output. This works for a weekly job where
>>I check for the existence of all of our dump datasets for actual
>>online volumes.
>>
>>Hope this helps.
>>
>>C. Todd Burrell, PMP, MCP
>>Lead z/OS Systems Programmer
>>ITSO
>>(404) 723-2017 (Cell)
>>
>>>
>>I have written a REXX exec with an ISPF dialog that will allow a user
>>to copy and rename a cataloged dataset to another volume. The user
>>will rename the dataset, and has the option to catalog, or not, the
>>new dataset. Also, the user has the option to delete the existing
>>cataloged-or-not dataset on the target volume.
>>
>>
>>
>>I've been using LISTDSI on "SYS1.VVDS.V"volume_name to validate the
>>existence of the target volume since the user can type in the volume
>>name.
>>However today, on the target volume, the SYS1.VVDS.Vvolume_name entry
>>does not exist, so LISTDSI fails with RC=16, REASON=0024 - dataset
>>does not exist.
>>
>>
>>
>>I'm a novice to this area, and my existing logic is probably pretty
>>hackish, at best.
>>
>>
>>
>>Two questions-
>>
>>
>>
>>1) Why might the SYS1.VVDS dataset not exist for the volume today?
>>
>>
>>2) What is a better approach to volume validation?
>>
>>
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to
[email protected] with the message: GET IBM-MAIN INFO Search the archives at
http://bama.ua.edu/archives/ibm-main.html
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html