View previous topic :: View next topic |
Author |
Message |
BarneyBadass Beginner
Joined: 09 Apr 2007 Posts: 10 Topics: 1
|
Posted: Fri May 04, 2007 3:44 pm Post subject: Allocating a VOLUME only using ALLOCATE |
|
|
In JCL I can code:
Code: | // XXXXXX DD DISP=SHR,
// UNIT=SYSALLDA,
// VOL=SER=XXXXXX
|
to allocate a volume.
Is there a similar way in TSO to do the same thing?
I don't need a dataset nor will the program written behave properly if a dataset is allocated.
I've tried things like:
allocation succeeds but program fails
Code: | ALLOC FI(SC900B) UNIT(/900B) dummy vol(SC900B) shr
ALLOC FI(SC900B) UNIT(/900B) da(*) vol(SC900B) shr |
allocation fails for the next one.
Code: | ALLOC FI(SC900B) UNIT(/900B) vol(SC900B) shr |
any help in would be appreciated. I'm hoping I don't have to write a specialized SVC99 routine. |
|
Back to top |
|
 |
expat Intermediate

Joined: 01 Mar 2007 Posts: 475 Topics: 9 Location: Welsh Wales
|
Posted: Sun May 06, 2007 4:58 am Post subject: |
|
|
I usually use the SYS1.VVDS as a dataset to allocate the volume when I do things like IEHLIST or other utilities that allocate a volume.
Will have a look back into some old code during the week and see if I can find one that doesn't allocate a DS.
Just as an extra, what are doing to need to allocate the volume ? _________________ If it's true that we are here to help others,
then what exactly are the others here for ? |
|
Back to top |
|
 |
BarneyBadass Beginner
Joined: 09 Apr 2007 Posts: 10 Topics: 1
|
Posted: Sun May 06, 2007 4:28 pm Post subject: |
|
|
expat wrote: |
Just as an extra, what are doing to need to allocate the volume ?
|
I'm invoking ICKDSF to issue a
Code: |
REFORMAT DDNAME("OLD_VOL") VERIFY("OLD_VOL") REFVTOC
|
[/code] |
|
Back to top |
|
 |
BarneyBadass Beginner
Joined: 09 Apr 2007 Posts: 10 Topics: 1
|
Posted: Sun May 06, 2007 4:31 pm Post subject: |
|
|
BTW, thanks, Gezzz... I meant to press preview and inadvertently pressed submit....
anyway, I'm doing this under the covers of TSO REXX
The other issue is some volumes don't have a SYS1.VVDS... so in that case I'm out of the water |
|
Back to top |
|
 |
expat Intermediate

Joined: 01 Mar 2007 Posts: 475 Topics: 9 Location: Welsh Wales
|
Posted: Mon May 07, 2007 7:46 am Post subject: |
|
|
My old stuff was
ALLOC FI(DASDVOL) DA(*) SHR VOLUME(volser)
What errors are you getting from the runs ? _________________ If it's true that we are here to help others,
then what exactly are the others here for ? |
|
Back to top |
|
 |
expat Intermediate

Joined: 01 Mar 2007 Posts: 475 Topics: 9 Location: Welsh Wales
|
Posted: Mon May 07, 2007 9:20 am Post subject: |
|
|
Just had a little play with this, and the only way I can get it to work is to actually allocate a dataset on the volume.
Don't know how you are set up for being able to use a "guaranteed space" STORCLAS, but you do need this to select the volume spefically if the volume is SMS managed.
Also, you'll need authority to use the SMS STORCLAS that defaults to null for non SMS volumes too. _________________ If it's true that we are here to help others,
then what exactly are the others here for ? |
|
Back to top |
|
 |
BarneyBadass Beginner
Joined: 09 Apr 2007 Posts: 10 Topics: 1
|
Posted: Mon May 07, 2007 10:39 am Post subject: |
|
|
When I use
Code: | ALLOC FI(DASDVOL) DA(*) SHR VOLUME(volser) |
the file is of course allocated to termfile;
then when I call ICKDSF I get:
Code: |
128 *-* "ALLOC FI(SYSIN) UNIT(VIO) NEW TRACKS ","REUSE LRECL(80) RECFM(F
B) SPACE(1) BLKSIZE(0) DELETE"
>L> "ALLOC FI(SYSIN) UNIT(VIO) NEW TRACKS "
>L> "REUSE LRECL(80) RECFM(F B) SPACE(1) BLKSIZE(0) DELETE"
>O> "ALLOC FI(SYSIN) UNIT(VIO) NEW TRACKS REUSE LRECL(80) RECFM(F
B) SPACE(1) BLKSIZE(0) DELETE"
131 *-* "ALLOC FI(SYSPRINT) UNIT(VIO) TRACKS " || ,"SPACE(30,30
) REUSE LRECL(133) RECFM(F B A) NEW BLKSIZE(0) DELETE "
>L> "ALLOC FI(SYSPRINT) UNIT(VIO) TRACKS "
>L> "SPACE(30,30) REUSE LRECL(133) RECFM(F B A) NEW BLKSIZE(0) DELET
E "
>O> "ALLOC FI(SYSPRINT) UNIT(VIO) TRACKS SPACE(30,30) REU
SE LRECL(133) RECFM(F B A) NEW BLKSIZE(0) DELETE "
134 *-* dsn = 'SYS1.VTOCIX.'||OLD_VOL
>L> "SYS1.VTOCIX."
>V> "SC900C"
>O> "SYS1.VTOCIX.SC900C"
135 *-* "ALLOC FI("OLD_VOL") UNIT(/"unit") " || ,"da(*) " || ,"vol(
"old_vol") shr"
>L> "ALLOC FI("
>V> "SC900C"
>O> "ALLOC FI(SC900C"
>L> ") UNIT(/"
>O> "ALLOC FI(SC900C) UNIT(/"
>V> "900C"
>O> "ALLOC FI(SC900C) UNIT(/900C"
>L> ") "
>O> "ALLOC FI(SC900C) UNIT(/900C) "
>L> "da(*) "
>O> "ALLOC FI(SC900C) UNIT(/900C) da(*) "
>L> "vol("
>O> "ALLOC FI(SC900C) UNIT(/900C) da(*) vol("
>V> "SC900C"
>O> "ALLOC FI(SC900C) UNIT(/900C) da(*) vol(SC900C"
>L> ") shr"
>O> "ALLOC FI(SC900C) UNIT(/900C) da(*) vol(SC900C) shr"
140 *-* "LISTA HI ST"
>L> "LISTA HI ST"
TECH02.ISR0582.BACKUP
PS 05/07/2007 00/00/0000 NONE ISP10584 CATLG
TERMFILE SC900C
142 *-* "EXECIO" PINE.0 "DISKW SYSIN (STEM PINE. FINIS"
>L> "EXECIO"
>V> "1"
>O> "EXECIO 1"
>L> "DISKW SYSIN (STEM PINE. FINIS"
>O> "EXECIO 1 DISKW SYSIN (STEM PINE. FINIS"
144 *-* ICKDSF 'NOREPLYU'
>L> "ICKDSF"
>L> "NOREPLYU"
>O> "ICKDSF NOREPLYU"
+++ RC(12) +++
ICKDSF - MVS/ESA DEVICE SUPPORT FACILITIES 17.0 T
REFORMAT DDNAME(SC900C) VERIFY(SC900C) REFVTOC
ICK30714I DDNAME NOT FOUND IN JCL
ICK31024I UNABLE TO OPEN VOLUME.
ICK30003I FUNCTION TERMINATED. CONDITION CODE IS 12
11:37:31 05/07/07
ICK00002I ICKDSF PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 12
|
|
|
Back to top |
|
 |
BarneyBadass Beginner
Joined: 09 Apr 2007 Posts: 10 Topics: 1
|
Posted: Mon May 07, 2007 10:43 am Post subject: |
|
|
Oh, and if I make the allocate look like:
Code: | "ALLOC FI("OLD_VOL") UNIT(/"unit") dummy vol "old_vol") shr" |
it gets allocated to nullfile which produce the same results when ICKDSF is invoked.
BTW; thanks for your help in advance.
---Barney[/code] |
|
Back to top |
|
 |
expat Intermediate

Joined: 01 Mar 2007 Posts: 475 Topics: 9 Location: Welsh Wales
|
Posted: Tue May 08, 2007 1:45 am Post subject: |
|
|
What a bummer, eh ?
As I said, I just do a quick ALLOC DA('xx') NEW TRACKS SPACE(p s) ..... blah blah
Then run the desired utility and delete the dataset I set up previously _________________ If it's true that we are here to help others,
then what exactly are the others here for ? |
|
Back to top |
|
 |
BarneyBadass Beginner
Joined: 09 Apr 2007 Posts: 10 Topics: 1
|
Posted: Wed May 09, 2007 5:46 pm Post subject: |
|
|
ok so you do it like this:
Code: |
x=bpxwdyn('alloc dd(' variable ') shr reuse unit(sysda) vol(' variable ')')
|
|
|
Back to top |
|
 |
expat Intermediate

Joined: 01 Mar 2007 Posts: 475 Topics: 9 Location: Welsh Wales
|
Posted: Thu May 10, 2007 1:33 am Post subject: |
|
|
Thanks Barney,
I'll give it a go sometime. _________________ If it's true that we are here to help others,
then what exactly are the others here for ? |
|
Back to top |
|
 |
expat Intermediate

Joined: 01 Mar 2007 Posts: 475 Topics: 9 Location: Welsh Wales
|
Posted: Thu May 10, 2007 2:22 am Post subject: |
|
|
Brilliant ! _________________ If it's true that we are here to help others,
then what exactly are the others here for ? |
|
Back to top |
|
 |
|
|