Discussion:
In over my head again...
Ron Hudson
2010-04-25 06:11:22 UTC
Permalink
Hi All,


Well It's sink or swim!  I am trying to create  a user catalog

Because: 1) I am tired of always having to type the password
(sys1.vmastcat has an update password)
              2) Users in the master catalog is frowned on in the "real world"

I have used dasdinit to create a new 3350 DASD (300 mb goes a long way right?)
Attached it to address 141
Initialized it with a JCL from here:
http://www.jaymoseley.com/hercules/installmvs/adddasd.htm
mounted it as STORAGE
Added it to the VATLIST (as storage) using RPF to edit sys1.parmlib.VATLST01

Now I can run the JCL from
http://www.jaymoseley.com/hercules/installmvs/instmvs5.htm
to create the user catalog... but I get an error: code 52 reason IGG0CLBU-0

Google finds nothing about the reason code.
I have checked the typed in JCL (which I had to modify from the website example)
It looks OK to me..
===
00010 //DEFUCATS JOB USER=HERCAD,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
00020 //IDCAMS   EXEC  PGM=IDCAMS,REGION=4096K
00030 //SYSPRINT DD SYSOUT=A
00040 //USER01   DD UNIT=3350,VOL=SER=USER01,DISP=OLD
00050 //SYSIN    DD *
00052
00060    DEFINE USERCATALOG (   -
00070        NAME (UCUSER01) -
00080        VOLUME (USER01) -
00090        TRACKS (8324 0) -
00100        FOR (9999) )    -
00110           DATA (TRACKS (15 5) ) -
00120           INDEX (TRACKS (15)  )
00125
00130    DEFINE ALIAS (NAME (USER01)  -
00135           RELATE (UCUSER01) )
00137
00140 /*
00150 //
END OF DATA
===

d u,dasd,online,141 shows:

unit 141, Type 3350, Status O, Volser USER01, Volstat STRG/RSDNT

Thanks !
Ron
halfmeg
2010-04-25 12:17:01 UTC
Permalink
<liberal snips>
I have used dasdinit to create a new 3350 DASD (300 mb goes a long way right?)
Jay's comment with that JCL mentions using half of the available space. I haven't run his install in quite a while and don't remember if that part was in the main stream of his build. If the catalog takes 150 MB of your pack, you might want to consider reducing the size of the catalog.
00130 DEFINE ALIAS (NAME (USER01) -
Not sure if this is your problem or not. I seem to remember if you already have a high level in the catalog it won't let you define an ALIAS with the high level.

In other words, you will probably need to be sure no USER01.xxx.xxx datasets are cataloged in the master cat before running your job to create the alias for USER01.

Phil
Ron Hudson
2010-04-25 14:07:31 UTC
Permalink
LISTC LEVEL('USER01')

ENTRY USER01. NOT FOUND+
LASTCC=4

LISTC LEVEL('SYS1')

[LOTS
OF
STUFF]

is there a listc that would list

sys1, sys2, and what else?
<liberal snips>
I have used dasdinit to create a new 3350 DASD (300 mb goes a long way right?)
Jay's comment with that JCL mentions using half of the available space. I
haven't run his install in quite a while and don't remember if that part was
in the main stream of his build. If the catalog takes 150 MB of your pack,
you might want to consider reducing the size of the catalog.
00130 DEFINE ALIAS (NAME (USER01) -
Not sure if this is your problem or not. I seem to remember if you already
have a high level in the catalog it won't let you define an ALIAS with the
high level.
In other words, you will probably need to be sure no USER01.xxx.xxx
datasets are cataloged in the master cat before running your job to create
the alias for USER01.
Phil
Rick Fochtman
2010-04-25 18:42:14 UTC
Permalink
Try doing a LISTC without any operands. This should list the MASTER
CATALOG for you.

Rick
-------------------------------------------------
Post by Ron Hudson
LISTC LEVEL('USER01')
ENTRY USER01. NOT FOUND+
LASTCC=4
LISTC LEVEL('SYS1')
[LOTS
OF
STUFF]
is there a listc that would list
sys1, sys2, and what else?
<liberal snips>
I have used dasdinit to create a new 3350 DASD (300 mb goes a long way right?)
Jay's comment with that JCL mentions using half of the available
space. I haven't run his install in quite a while and don't
remember if that part was in the main stream of his build. If the
catalog takes 150 MB of your pack, you might want to consider
reducing the size of the catalog.
00130 DEFINE ALIAS (NAME (USER01) -
Not sure if this is your problem or not. I seem to remember if you
already have a high level in the catalog it won't let you define
an ALIAS with the high level.
In other words, you will probably need to be sure no
USER01.xxx.xxx datasets are cataloged in the master cat before
running your job to create the alias for USER01.
Phil
Ron Hudson
2010-04-25 21:27:49 UTC
Permalink
Try doing a LISTC without any operands. This should list the MASTER CATALOG
for you.
Rick
-------------------------------------------------
a LISTC by itself only lists my own four files...
LISTC LEVEL('USER01')
ENTRY USER01. NOT FOUND+
LASTCC=4
LISTC LEVEL('SYS1')
[LOTS
OF
STUFF]
is there a listc that would list
sys1, sys2, and what else?
<liberal snips>
I have used dasdinit to create a new 3350 DASD (300 mb goes a long way right?)
Jay's comment with that JCL mentions using half of the available space. I
haven't run his install in quite a while and don't remember if that part was
in the main stream of his build. If the catalog takes 150 MB of your pack,
you might want to consider reducing the size of the catalog.
00130 DEFINE ALIAS (NAME (USER01) -
Not sure if this is your problem or not. I seem to remember if you
already have a high level in the catalog it won't let you define an ALIAS
with the high level.
In other words, you will probably need to be sure no USER01.xxx.xxx
datasets are cataloged in the master cat before running your job to create
the alias for USER01.
Phil
Ron Hudson
2010-04-25 21:32:00 UTC
Permalink
Try doing a LISTC without any operands. This should list the MASTER CATALOG
for you.
Rick
-------------------------------------------------
LISTC LEVEL('USER01')
ENTRY USER01. NOT FOUND+
LASTCC=4
LISTC LEVEL('SYS1')
[LOTS
OF
STUFF]
is there a listc that would list
sys1, sys2, and what else?
<liberal snips>
I have used dasdinit to create a new 3350 DASD (300 mb goes a long way right?)
Jay's comment with that JCL mentions using half of the available space. I
haven't run his install in quite a while and don't remember if that part was
in the main stream of his build. If the catalog takes 150 MB of your pack,
you might want to consider reducing the size of the catalog.
This is a big shared user area so 150 mb is just fine - 300 would be even
better. (Assuming I share this with some others)
00130 DEFINE ALIAS (NAME (USER01) -
Not sure if this is your problem or not. I seem to remember if you
already have a high level in the catalog it won't let you define an ALIAS
with the high level.
In other words, you will probably need to be sure no USER01.xxx.xxx
datasets are cataloged in the master cat before running your job to create
the alias for USER01.
Phil
I don't think there are any datasets that start with USER01 as their
first name section.
Carlos Aguilera
2010-04-25 14:25:45 UTC
Permalink
Try



LISCAT ALL



Carlos

Carlos-FiVMtmHp2a9Wk0Htik3J/***@public.gmane.org
Ron Hudson
2010-04-25 14:30:06 UTC
Permalink
Post by Carlos Aguilera
Try
LISCAT ALL
Thanks, no that just gives more detailed information about the datasets
under 'userid.'

The user I am logged in as is 'hercad' (Hercules Admin) and I get detailed
information about
the three datasest under hercad.
Post by Carlos Aguilera
Carlos
Carlos Aguilera
2010-04-25 14:27:25 UTC
Permalink
Sorry, I meant:



LISTCAT ALL



And see the output, it will show everything in the catalog



Carlos



Carlos-FiVMtmHp2a9Wk0Htik3J/***@public.gmane.org
Carlos Aguilera
2010-04-25 14:41:15 UTC
Permalink
Try signing on as HERC01 or HERC02 and submit it again.



Carlos

Carlos-FiVMtmHp2a9Wk0Htik3J/***@public.gmane.org
Ron Hudson
2010-04-25 15:15:31 UTC
Permalink
Same result.

hercad is an administrator level user.

I thought perhaps since all user catalogs were catalogged in the master
catalog

LISTCAT CATALOG('SYS1.VMASTCAT') USERCATALOG might do it.
Post by Carlos Aguilera
Try signing on as HERC01 or HERC02 and submit it again.
Carlos
ScottC
2010-04-25 19:20:42 UTC
Permalink
Post by Ron Hudson
I thought perhaps since all user catalogs were catalogged in the master
catalog
LISTCAT CATALOG('SYS1.VMASTCAT') USERCATALOG might do it.
Yes, but before issuing that command, issue this command:

PROFILE NOPREFIX

Also, with NOPREFIX in effect, try issuing LISTC by itself...

To set things back to the way they were, use: PROFILE PREFIX(xxxx)

where "xxxx" is the high level prefix of your choosing. The default is
normally your TSO userid, such as: HERC01.

Scott
Ron Hudson
2010-04-26 03:00:18 UTC
Permalink
yup, nothing that starts user01.

This worked.

Ron.
Post by Ron Hudson
Post by Ron Hudson
I thought perhaps since all user catalogs were catalogged in the
master
Post by Ron Hudson
catalog
LISTCAT CATALOG('SYS1.VMASTCAT') USERCATALOG might do it.
PROFILE NOPREFIX
Also, with NOPREFIX in effect, try issuing LISTC by itself...
To set things back to the way they were, use: PROFILE PREFIX(xxxx)
where "xxxx" is the high level prefix of your choosing. The default is
normally your TSO userid, such as: HERC01.
Scott
Carlos Aguilera
2010-04-25 15:28:28 UTC
Permalink
Ron:



Are you running MVS?



MVS has an Integrated Catalog System (ICS) that controls all datasets.



It sounds that you are running VSE that has user catalogs (VSAM) that exist
in every DASD, besides a Master Catalog



Carlos

Carlos-FiVMtmHp2a9Wk0Htik3J/***@public.gmane.org
Greg Price
2010-04-25 15:44:10 UTC
Permalink
I think that Carlos was referring to ICF - the Integrated
Catalog Facility. The level of MVS that TK3 uses does
not have ICF. It does use VSAM catalogs which have the
concept of "volume ownership".

This means that if a volume has some VSAM on it, the
catalog where the VSAM data set is cataloged "owns"
the volume, and VSAM cataloged in any other catalog
cannot reside on that volume.

This also means that the maximum number of VSAM
catalogs on a volume is one.

If you are creating a new VSAM catalog, you must
choose a volume which has no other VSAM on it,
and also never has had any other VSAM on it
(unless you know how to zap the VTOC to clear
previous ownership).

And regarding LISTCAT - a LISTCAT ALL with no
other operands will get different results depending
on whether it is issued as a TSO command, or run
as a request processed by the IDCAMS (Access
Method Services) utility program.

If you have not run IDCAMS before, it is pretty easy
to do:
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
... command input
/*

Make sure your IDCAMS commands start no earlier
than column 2. IOW, ensure column 1 is left blank.

Cheers,
Greg
Ron Hudson
2010-04-25 21:09:33 UTC
Permalink
A moment between installing heavy IKEA cabinets... :^)

I am running a pretty fresh install of TURNKEY-MVS I have not installed
anything but the latest RPF.
Post by Carlos Aguilera
Are you running MVS?
MVS has an Integrated Catalog System (ICS) that controls all datasets.
It sounds that you are running VSE that has user catalogs (VSAM) that exist
in every DASD, besides a Master Catalog
Carlos
Jay Moseley
2010-04-25 15:34:40 UTC
Permalink
Ron,

Did you create a Data Space on the new volume prior to attempting to
create the User Catalog? What IDCAMS error messages are issued along
with the reason code 52 -- the IDC???? number is what is necessary to
look up the error in the Messages and Codes manual.
Post by Ron Hudson
Hi All,
Well It's sink or swim! I am trying to create a user catalog
Because: 1) I am tired of always having to type the password
(sys1.vmastcat has an update password)
2) Users in the master catalog is frowned on in the "real world"
I have used dasdinit to create a new 3350 DASD (300 mb goes a long way right?)
Attached it to address 141
http://www.jaymoseley.com/hercules/installmvs/adddasd.htm
mounted it as STORAGE
Added it to the VATLIST (as storage) using RPF to edit sys1.parmlib.VATLST01
Now I can run the JCL from
http://www.jaymoseley.com/hercules/installmvs/instmvs5.htm
to create the user catalog... but I get an error: code 52 reason IGG0CLBU-0
Google finds nothing about the reason code.
I have checked the typed in JCL (which I had to modify from the website example)
It looks OK to me..
===
00010 //DEFUCATS JOB USER=HERCAD,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
00020 //IDCAMS EXEC PGM=IDCAMS,REGION=4096K
00030 //SYSPRINT DD SYSOUT=A
00040 //USER01 DD UNIT=3350,VOL=SER=USER01,DISP=OLD
00050 //SYSIN DD *
00052
00060 DEFINE USERCATALOG ( -
00070 NAME (UCUSER01) -
00080 VOLUME (USER01) -
00090 TRACKS (8324 0) -
00100 FOR (9999) ) -
00110 DATA (TRACKS (15 5) ) -
00120 INDEX (TRACKS (15) )
00125
00130 DEFINE ALIAS (NAME (USER01) -
00135 RELATE (UCUSER01) )
00137
00140 /*
00150 //
END OF DATA
===
unit 141, Type 3350, Status O, Volser USER01, Volstat STRG/RSDNT
Thanks !
Ron
------------------------------------
Yahoo! Groups Links
Ron Hudson
2010-04-26 02:54:18 UTC
Permalink
Post by Jay Moseley
Ron,
Did you create a Data Space on the new volume prior to attempting to
create the User Catalog? What IDCAMS error messages are issued along
with the reason code 52 -- the IDC???? number is what is necessary to
look up the error in the Messages and Codes manual.
Well I have followed the instructions in your
[http://www.jaymoseley.com/hercules/installmvs/adddasd.htm]
for the 3350 dasd. and I am starting on the "Set Up a User Catalog"
here [http://www.jaymoseley.com/hercules/installmvs/instmvs5.htm]

There only was an error code 52 and a reason code IGG0CLBU-0.

If the first page has me create data space (??) then I did.

Ron.
Post by Jay Moseley
Post by Ron Hudson
Hi All,
Well It's sink or swim! I am trying to create a user catalog
Because: 1) I am tired of always having to type the password
(sys1.vmastcat has an update password)
2) Users in the master catalog is frowned on in the "real world"
I have used dasdinit to create a new 3350 DASD (300 mb goes a long way
right?)
Post by Ron Hudson
Attached it to address 141
http://www.jaymoseley.com/hercules/installmvs/adddasd.htm
mounted it as STORAGE
Added it to the VATLIST (as storage) using RPF to edit
sys1.parmlib.VATLST01
Post by Ron Hudson
Now I can run the JCL from
http://www.jaymoseley.com/hercules/installmvs/instmvs5.htm
to create the user catalog... but I get an error: code 52 reason
IGG0CLBU-0
Post by Ron Hudson
Google finds nothing about the reason code.
I have checked the typed in JCL (which I had to modify from the website
example)
Post by Ron Hudson
It looks OK to me..
===
00010 //DEFUCATS JOB USER=HERCAD,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
00020 //IDCAMS EXEC PGM=IDCAMS,REGION=4096K
00030 //SYSPRINT DD SYSOUT=A
00040 //USER01 DD UNIT=3350,VOL=SER=USER01,DISP=OLD
00050 //SYSIN DD *
00052
00060 DEFINE USERCATALOG ( -
00070 NAME (UCUSER01) -
00080 VOLUME (USER01) -
00090 TRACKS (8324 0) -
00100 FOR (9999) ) -
00110 DATA (TRACKS (15 5) ) -
00120 INDEX (TRACKS (15) )
00125
00130 DEFINE ALIAS (NAME (USER01) -
00135 RELATE (UCUSER01) )
00137
00140 /*
00150 //
END OF DATA
===
unit 141, Type 3350, Status O, Volser USER01, Volstat STRG/RSDNT
Thanks !
Ron
------------------------------------
Yahoo! Groups Links
Carlos Aguilera
2010-04-25 15:54:54 UTC
Permalink
Thanks Greg, I stand corrected.



Carlos Aguilera

1401 Liggates Rd

Lynchburg VA 24502

Carlos-FiVMtmHp2a9Wk0Htik3J/***@public.gmane.org

434-401-4828
Tony Harminc
2010-04-25 18:18:59 UTC
Permalink
Post by Ron Hudson
Well It's sink or swim!  I am trying to create  a user catalog
Because: 1) I am tired of always having to type the password
(sys1.vmastcat has an update password)
              2) Users in the master catalog is frowned on in the "real world"
Why not do what IBM recommended for many years, and use a CVOL
instead? The only think of real use you can't do with a CVOL, but can
with a VSAM catalogue, is to catalogue VSAM stuff. But at this level
of VSAM (non ICF) CVOLs certainly perform better, and are much easier
to understand and use.

Tony H.
Rick Fochtman
2010-04-25 18:22:48 UTC
Permalink
Ron, you've specified the size of the catalog twice. Remove the
"tracks(8324)" specification from your define. Also, are you trying to
define a VSAM UCAT, or a catalog for non-vsam files that belong to users
other than the operating system? If you don't need the catalog for VSAM
clusters and dataspaces, a SYSCTLG dataset would be far more useful to you.

Rick
----------------------------------------------------------------------------------
Post by Ron Hudson
Hi All,
Well It's sink or swim! I am trying to create a user catalog
Because: 1) I am tired of always having to type the password
(sys1.vmastcat has an update password)
2) Users in the master catalog is frowned on in the
"real world"
I have used dasdinit to create a new 3350 DASD (300 mb goes a long way right?)
Attached it to address 141
http://www.jaymoseley.com/hercules/installmvs/adddasd.htm
<http://www.jaymoseley.com/hercules/installmvs/adddasd.htm>
mounted it as STORAGE
Added it to the VATLIST (as storage) using RPF to edit
sys1.parmlib.VATLST01
Now I can run the JCL from
http://www.jaymoseley.com/hercules/installmvs/instmvs5.htm
<http://www.jaymoseley.com/hercules/installmvs/instmvs5.htm>
to create the user catalog... but I get an error: code 52 reason IGG0CLBU-0
Google finds nothing about the reason code.
I have checked the typed in JCL (which I had to modify from the website example)
It looks OK to me..
===
00010 //DEFUCATS JOB USER=HERCAD,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
00020 //IDCAMS EXEC PGM=IDCAMS,REGION=4096K
00030 //SYSPRINT DD SYSOUT=A
00040 //USER01 DD UNIT=3350,VOL=SER=USER01,DISP=OLD
00050 //SYSIN DD *
00052
00060 DEFINE USERCATALOG ( -
00070 NAME (UCUSER01) -
00080 VOLUME (USER01) -
00090 TRACKS (8324 0) -
00100 FOR (9999) ) -
00110 DATA (TRACKS (15 5) ) -
00120 INDEX (TRACKS (15) )
00125
00130 DEFINE ALIAS (NAME (USER01) -
00135 RELATE (UCUSER01) )
00137
00140 /*
00150 //
END OF DATA
===
unit 141, Type 3350, Status O, Volser USER01, Volstat STRG/RSDNT
Thanks !
Ron
Ron Hudson
2010-04-25 21:23:38 UTC
Permalink
Post by Rick Fochtman
Ron, you've specified the size of the catalog twice. Remove the
"tracks(8324)" specification from your define.
Did this now the error is "IDC3225I REQUIRED (SUB)PARAMETER IS OF 'RECORDS'
IS MISSING"
Post by Rick Fochtman
Also, are you trying to define a VSAM UCAT, or a catalog for non-vsam files
that belong to users other than the operating system? If you don't need the
catalog for VSAM clusters and dataspaces, a SYSCTLG dataset would be far
more useful to you.
This is meant to be where the users keep their own datasets - I am real new
to this so I am not sure what VSAM means..
Google looks like it's just a filesystem or the order and access of files on
a disk drive.. I will personally be writing programs
in FORTRAN and perhaps COBOL. When I get good perhaps even assembler.
Post by Rick Fochtman
Rick
----------------------------------------------------------------------------------
Hi All,
Well It's sink or swim! I am trying to create a user catalog
Because: 1) I am tired of always having to type the password
(sys1.vmastcat has an update password)
2) Users in the master catalog is frowned on in the "real
world"
I have used dasdinit to create a new 3350 DASD (300 mb goes a long way right?)
Attached it to address 141
http://www.jaymoseley.com/hercules/installmvs/adddasd.htm
mounted it as STORAGE
Added it to the VATLIST (as storage) using RPF to edit
sys1.parmlib.VATLST01
Now I can run the JCL from
http://www.jaymoseley.com/hercules/installmvs/instmvs5.htm
to create the user catalog... but I get an error: code 52 reason IGG0CLBU-0
Google finds nothing about the reason code.
I have checked the typed in JCL (which I had to modify from the website example)
It looks OK to me..
===
00010 //DEFUCATS JOB USER=HERCAD,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
00020 //IDCAMS EXEC PGM=IDCAMS,REGION=4096K
00030 //SYSPRINT DD SYSOUT=A
00040 //USER01 DD UNIT=3350,VOL=SER=USER01,DISP=OLD
00050 //SYSIN DD *
00052
00060 DEFINE USERCATALOG ( -
00070 NAME (UCUSER01) -
00080 VOLUME (USER01) -
00090 TRACKS (8324 0) -
00100 FOR (9999) ) -
00110 DATA (TRACKS (15 5) ) -
00120 INDEX (TRACKS (15) )
00125
00130 DEFINE ALIAS (NAME (USER01) -
00135 RELATE (UCUSER01) )
00137
00140 /*
00150 //
END OF DATA
===
unit 141, Type 3350, Status O, Volser USER01, Volstat STRG/RSDNT
Thanks !
Ron
Ilmars Sermulis
2010-04-25 22:07:25 UTC
Permalink
Hi Ron:

This may be a shot in the dark, as I am new to this step as well.

I assume that you still have the password enabled for the Master Catalog.

When you submitted the JCL to define the user catalog, did you notice 2 obscure prompts from the job on the operator console? If they appear, then the master catalog is expecting the password to be entered at these prompts, since the password does not appear in your JCL.. When I ignore these prompts, and the job terminates, I get an error code of 56 (not the 52 that you get) but it might be related.

In order to embed the password in your JCL you can insert statements as I have illustrated below. Just change SYSPROG to whatever password you have set for the master catalog. And also enter the continuation hyphen character on the preceding line.

===
00010 //DEFUCATS JOB USER=HERCAD,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
00020 //IDCAMS EXEC PGM=IDCAMS,REGION=4096K
00030 //SYSPRINT DD SYSOUT=A
00040 //USER01 DD UNIT=3350,VOL=SER=USER01,DISP=OLD
00050 //SYSIN DD *
00052
00060 DEFINE USERCATALOG ( -
00070 NAME (UCUSER01) -
00080 VOLUME (USER01) -
00090 TRACKS (8324 0) -
00100 FOR (9999) ) -
00110 DATA (TRACKS (15 5) ) -
00120 INDEX (TRACKS (15) ) -
00125 CATALOG(SYS1.AMASTCAT/SYSPROG)
00130 DEFINE ALIAS (NAME (USER01) -
00135 RELATE (UCUSER01) ) -
00137 CATALOG(SYS1.AMASTCAT/SYSPROG)
00140 /*
00150 //
END OF DATA

Again, you may have already taken this into account and I may be on the wrong track. Hope this helps...

Ilmars





----- Original Message -----
From: Ron Hudson
To: turnkey-mvs-***@public.gmane.org
Sent: Sunday, April 25, 2010 5:23 PM
Subject: Re: [turnkey-mvs] In over my head again...







On Sun, Apr 25, 2010 at 11:22 AM, Rick Fochtman <rfochtman-***@public.gmane.org> wrote:


Ron, you've specified the size of the catalog twice. Remove the "tracks(8324)" specification from your define.

Did this now the error is "IDC3225I REQUIRED (SUB)PARAMETER IS OF 'RECORDS' IS MISSING"

Also, are you trying to define a VSAM UCAT, or a catalog for non-vsam files that belong to users other than the operating system? If you don't need the catalog for VSAM clusters and dataspaces, a SYSCTLG dataset would be far more useful to you.


This is meant to be where the users keep their own datasets - I am real new to this so I am not sure what VSAM means..
Google looks like it's just a filesystem or the order and access of files on a disk drive.. I will personally be writing programs
in FORTRAN and perhaps COBOL. When I get good perhaps even assembler.


Rick
----------------------------------------------------------------------------------


Ron Hudson wrote:


Hi All,

Well It's sink or swim! I am trying to create a user catalog

Because: 1) I am tired of always having to type the password
(sys1.vmastcat has an update password)
2) Users in the master catalog is frowned on in the "real world"

I have used dasdinit to create a new 3350 DASD (300 mb goes a long way right?)
Attached it to address 141
Initialized it with a JCL from here:
http://www.jaymoseley.com/hercules/installmvs/adddasd.htm
mounted it as STORAGE
Added it to the VATLIST (as storage) using RPF to edit sys1.parmlib.VATLST01

Now I can run the JCL from
http://www.jaymoseley.com/hercules/installmvs/instmvs5.htm
to create the user catalog... but I get an error: code 52 reason IGG0CLBU-0

Google finds nothing about the reason code.
I have checked the typed in JCL (which I had to modify from the website example)
It looks OK to me..
===
00010 //DEFUCATS JOB USER=HERCAD,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
00020 //IDCAMS EXEC PGM=IDCAMS,REGION=4096K
00030 //SYSPRINT DD SYSOUT=A
00040 //USER01 DD UNIT=3350,VOL=SER=USER01,DISP=OLD
00050 //SYSIN DD *
00052
00060 DEFINE USERCATALOG ( -
00070 NAME (UCUSER01) -
00080 VOLUME (USER01) -
00090 TRACKS (8324 0) -
00100 FOR (9999) ) -
00110 DATA (TRACKS (15 5) ) -
00120 INDEX (TRACKS (15) )
00125
00130 DEFINE ALIAS (NAME (USER01) -
00135 RELATE (UCUSER01) )
00137
00140 /*
00150 //
END OF DATA
===

d u,dasd,online,141 shows:

unit 141, Type 3350, Status O, Volser USER01, Volstat STRG/RSDNT

Thanks !
Ron
Ron Hudson
2010-04-26 03:14:47 UTC
Permalink
Post by Ilmars Sermulis
This may be a shot in the dark, as I am new to this step as well.
I assume that you still have the password enabled for the Master Catalog.
When you submitted the JCL to define the user catalog, did you notice 2
obscure prompts from the job on the operator console? If they appear, then
the master catalog is expecting the password to be entered at these prompts,
since the password does not appear in your JCL.. When I ignore these
prompts, and the job terminates, I get an error code of 56 (not the 52 that
you get) but it might be related.
In order to embed the password in your JCL you can insert statements as I
have illustrated below. Just change SYSPROG to whatever password you have
set for the master catalog*. *And also enter the continuation hyphen
character on the preceding line.
I have, for the moment removed the password from my master catalog but I
seem to think that the mastercatalog's name is
SYS1.VMASTCAT

At lease that is what requires a password every time I as a user create a
new dataset.
Post by Ilmars Sermulis
Again, you may have already taken this into account and I may be on the
wrong track. Hope this helps...
Ilmars
----- Original Message -----
*Sent:* Sunday, April 25, 2010 5:23 PM
*Subject:* Re: [turnkey-mvs] In over my head again...
Post by Rick Fochtman
Ron, you've specified the size of the catalog twice. Remove the
"tracks(8324)" specification from your define.
Did this now the error is "IDC3225I REQUIRED (SUB)PARAMETER IS OF 'RECORDS' IS MISSING"
Post by Rick Fochtman
Also, are you trying to define a VSAM UCAT, or a catalog for non-vsam
files that belong to users other than the operating system? If you don't
need the catalog for VSAM clusters and dataspaces, a SYSCTLG dataset would
be far more useful to you.
This is meant to be where the users keep their own datasets - I am real
new to this so I am not sure what VSAM means..
Google looks like it's just a filesystem or the order and access of files
on a disk drive.. I will personally be writing programs
in FORTRAN and perhaps COBOL. When I get good perhaps even assembler.
Post by Rick Fochtman
Rick
----------------------------------------------------------------------------------
Hi All,
Well It's sink or swim! I am trying to create a user catalog
Because: 1) I am tired of always having to type the password
(sys1.vmastcat has an update password)
2) Users in the master catalog is frowned on in the "real world"
I have used dasdinit to create a new 3350 DASD (300 mb goes a long way right?)
Attached it to address 141
http://www.jaymoseley.com/hercules/installmvs/adddasd.htm
mounted it as STORAGE
Added it to the VATLIST (as storage) using RPF to edit
sys1.parmlib.VATLST01
Now I can run the JCL from
http://www.jaymoseley.com/hercules/installmvs/instmvs5.htm
to create the user catalog... but I get an error: code 52 reason IGG0CLBU-0
Google finds nothing about the reason code.
I have checked the typed in JCL (which I had to modify from the website example)
It looks OK to me..
===
00010 //DEFUCATS JOB USER=HERCAD,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
00020 //IDCAMS EXEC PGM=IDCAMS,REGION=4096K
00030 //SYSPRINT DD SYSOUT=A
00040 //USER01 DD UNIT=3350,VOL=SER=USER01,DISP=OLD
00050 //SYSIN DD *
00052
00060 DEFINE USERCATALOG ( -
00070 NAME (UCUSER01) -
00080 VOLUME (USER01) -
00090 TRACKS (8324 0) -
00100 FOR (9999) ) -
00110 DATA (TRACKS (15 5) ) -
00120 INDEX (TRACKS (15) )
00125
00130 DEFINE ALIAS (NAME (USER01) -
00135 RELATE (UCUSER01) )
00137
00140 /*
00150 //
END OF DATA
===
unit 141, Type 3350, Status O, Volser USER01, Volstat STRG/RSDNT
Thanks !
Ron
ScottC
2010-04-25 21:57:13 UTC
Permalink
Post by Ron Hudson
Well It's sink or swim! I am trying to create a user catalog
Why?
Post by Ron Hudson
Because: 1) I am tired of always having to type the password
(sys1.vmastcat has an update password)
2) Users in the master catalog is frowned on in the
"real world"

I think the following will be sufficient for your stated objectives:

//HERC01A JOB CLASS=C,REGION=0K,NOTIFY=HERC01
//***
//*** Define aliases for High-level qualifiers suitable for
//*** your site.
//*** New 'USER01' datasets can be allocated without P/W.
//***
//IDCAMS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE ALIAS (NAME(USER01) RELATE(SYS1.UCAT.TSO)) -
CATALOG(SYS1.VMASTCAT/SECRET)
//

Messing around with creating your own user catalog at this stage of the
game is not worth it.

ScottC
kerravon86
2010-04-25 23:47:39 UTC
Permalink
Post by Ron Hudson
Post by Ron Hudson
Well It's sink or swim! I am trying to create a user catalog
Why?
Post by Ron Hudson
Because: 1) I am tired of always having to type the password
(sys1.vmastcat has an update password)
2) Users in the master catalog is frowned on in the
"real world"
//HERC01A JOB CLASS=C,REGION=0K,NOTIFY=HERC01
//***
//*** Define aliases for High-level qualifiers suitable for
//*** your site.
//*** New 'USER01' datasets can be allocated without P/W.
//***
//IDCAMS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE ALIAS (NAME(USER01) RELATE(SYS1.UCAT.TSO)) -
CATALOG(SYS1.VMASTCAT/SECRET)
//
Messing around with creating your own user catalog at this stage of the
game is not worth it.
And if the existing names interfere with the
ability to create an alias, then rename them
first.

But before doing the rename, switch off the
password for the master catalog to make life
easier for you:

//HERC01A JOB CLASS=C,REGION=0K
//IDCAMS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
ALTER SYS1.VMASTCAT -
NULLIFY(MASTERPW CONTROLPW UPDATEPW READPW) -
CATALOG(SYS1.VMASTCAT/SECRET)
SET MAXCC=0
/*
//UNUSED DD *
ALTER SYS1.VMASTCAT -
MASTERPW(SECRET) -
CONTROLPW(SECRET) -
UPDATEPW(SECRET)
/*
//*
//


BFN. Paul.
Ron Hudson
2010-04-26 03:15:30 UTC
Permalink
Post by kerravon86
But before doing the rename, switch off the
password for the master catalog to make life
yes, I did this.
Ron Hudson
2010-04-26 02:46:29 UTC
Permalink
Post by Ron Hudson
Well It's sink or swim! I am trying to create a user catalog
Why?
Why create a new user catalog, or why "Sink or Swim"
The former is answered below.

The latter is that I have been exposed many times to Mainframe type
computers, but never had
any experience. So I am trying to run Hercules / MVS 28J as a production
machine might be run
to some extent (I am also doing some programming and that might not happen
on a production
machine unless perhaps the shop only has one machine)
Post by Ron Hudson
Because: 1) I am tired of always having to type the password
(sys1.vmastcat has an update password)
Actually I finally removed the password but I plan to put it back.
Post by Ron Hudson
2) Users in the master catalog is frowned on in the
"real world"
//HERC01A JOB CLASS=C,REGION=0K,NOTIFY=HERC01
//***
//*** Define aliases for High-level qualifiers suitable for
//*** your site.
//*** New 'USER01' datasets can be allocated without P/W.
//***
//IDCAMS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE ALIAS (NAME(USER01) RELATE(SYS1.UCAT.TSO)) -
CATALOG(SYS1.VMASTCAT/SECRET)
//
What is the sys1.ucat.tso catalog used for? Should users be adding things
to it.

I am trying to learn how one of these machines is operated in production so
if a
production shop would not use a system catalog for production work, I don't
want
to either.
Post by Ron Hudson
Messing around with creating your own user catalog at this stage of the
game is not worth it.
Learning. Always worth it. but sometimes one needs help.
Post by Ron Hudson
ScottC
halfmeg
2010-04-26 03:17:45 UTC
Permalink
Post by Ron Hudson
Learning. Always worth it. but sometimes one needs help.
Hi Ron,

Feel free to ignore 'help' which doesn't lead to understanding why something is not working the way it should. IMHO it is better to figure out what is going on instead of accepting someone else's opinion of what you 'need'.

This evening I inited a 3350, attached it to 141, ICKDSFed it, mounted it storage, and ran the IDCAMS job on Jay's site with the single UCUSER01 as a usercatalog and USER01 as the alias.

It completed successfully with completion code 0 and afterward there was no problem allocating a dataset with USER01 as the high level without the 'password' WTO. Whatever is going on in your situation may require more info from you in order for the many who are willing to figure things like this out. The resolution may also assist someone else who encounters similar difficulty.

Posting the 'dasdinit' command string you used to create the dasd, the ICKDSF job stream used to init the pack, you already posted a d u,,,141,1 which shows the mounted status. The actual jobstream messages would allow lookup of the problem in the messages and codes manuals.

Phil

DEFINE USERCATALOG ( -
NAME (UCUSER01) -
VOLUME (USER01) -
TRACKS (8324 0) -
FOR (9999) ) -
DATA (TRACKS (15 5) ) -
INDEX (TRACKS (15) )

IDC0510I CATALOG ALLOCATION STATUS FOR VOLUME USER01 IS 0

IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0


DEFINE ALIAS (NAME(USER01) -
RELATE(UCUSER01) )

IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0
Jeff Sumner
2010-04-26 03:28:13 UTC
Permalink
I've poked around a bit for the tape, but didn't find anything that'd be an obvious install for TK3- anyone have a tape, please?

J
halfmeg
2010-04-26 03:44:53 UTC
Permalink
Post by Jeff Sumner
I've poked around a bit for the tape, but didn't find anything
that'd be an obvious install for TK3- anyone have a tape, please?
Hi Jeff,

We toyed with the idea of including LISP from the CBT Tape site:

http://cbttape.org/ftp/cov/COV083.zip

on Jay Moseley's Compiler Pack distribution before he created it.

One of the primary blocks for inclusion was the lack of REXX on 3.8j to process the install.

Phil
Jeff Sumner
2010-04-26 04:44:56 UTC
Permalink
Thanks- that'd be a problem!

I'd have to wonder if there's a version that doesn't take Rexx- Lisp/360?

J
Post by halfmeg
Post by Jeff Sumner
I've poked around a bit for the tape, but didn't find anything
that'd be an obvious install for TK3- anyone have a tape, please?
Hi Jeff,
http://cbttape.org/ftp/cov/COV083.zip
on Jay Moseley's Compiler Pack distribution before he created it.
One of the primary blocks for inclusion was the lack of REXX on 3.8j to process the install.
Phil
halfmeg
2010-04-28 12:22:46 UTC
Permalink
Post by Jeff Sumner
Thanks- that'd be a problem!
I'd have to wonder if there's a version that doesn't take Rexx- Lisp/360?
<snip>
The only portion that requires REXX is the install to put all the pieces into place. After it is installed, it doesn't require REXX anymore.

I had forgotten another possibility;

openlisp-8.2.0-OS390

from:

http://christian.jullien.free.fr

It is a commercial product but the license states it is free of charge for non-commercial use. The web site is one of the few where prices are quoted for various usage.

I had downloaded it back in 2008 but have never attempted to compile it with any C compiler.

Phil
Ron Hudson
2010-04-26 04:24:59 UTC
Permalink
I took out the 'TRACKS (8324 0) -' as prompted by one of you (was that the
right one) and it gave a different error message.

Putting it back I see one thing I get is

IDC3014I CATALOG ERROR

Someone mentioned the IDC error, is this it?

Google idc3014i and get 5 pages, all of people getting the error for other
things.
au1john
2010-04-26 03:32:30 UTC
Permalink
Post by Ron Hudson
What is the sys1.ucat.tso catalog used for?
SYS1.UCAT.TSO IS the user catalog allocated for TSO users datasets to be
catalogued in.
Post by Ron Hudson
Should users be adding things to it.
Yes, they should.
Post by Ron Hudson
I am trying to learn how one of these machines is operated in production so
if a production shop would not use a system catalog for production work, I
don't want to either.
This IS how things have been done in production environments. There is a
separate user catalog for TSO users. There would also be other user catalogs
for other HLQ's in the shop. There would be HLQ's for common libraries and
data storage (e.g. the compilers, sort, local COPYLIBs/MACLIBs, Source
libraries). Then, as some shops, especially in those days, would run
production and development on the one machine separate HLQ's for production
and development data.

It has been some time since I had TK3 up, and am not in a position to be
able to bring it up, but if I recall correctly, the sample ADDUSER job not
only defined the user but also added the user alias to the master catalog
pointing to SYS1.UCAT.TSO.
 
Mike Stramba
2010-04-26 09:47:46 UTC
Permalink
On a related note, the "master catalog prompt", is not exactly
user-friendly / informative, unless you know what it means ... like
much / most of MVS ;)

Is the text of that message "buried" in object code somewhere, or is
it in a human-readable SYS1.xxxx library somewhere?

I guess it would probably violate the "spirit" of MVS / IBMese, if the
message said something like : :/

"JOB xxx : Enter master catalog password"
Post by au1john
Post by Ron Hudson
What is the sys1.ucat.tso catalog used for?
SYS1.UCAT.TSO IS the user catalog allocated for TSO users datasets to be
catalogued in.
Post by Ron Hudson
Should users be adding things to it.
Yes, they should.
Post by Ron Hudson
I am trying to learn how one of these machines is operated in production so
if a production shop would not use a system catalog for production work, I
don't want to either.
This IS how things have been done in production environments. There is a
separate user catalog for TSO users. There would also be other user catalogs
for other HLQ's in the shop. There would be HLQ's for common libraries and
data storage (e.g. the compilers, sort, local COPYLIBs/MACLIBs, Source
libraries). Then, as some shops, especially in those days, would run
production and development on the one machine separate HLQ's for production
and development data.
It has been some time since I had TK3 up, and am not in a position to be
able to bring it up, but if I recall correctly, the sample ADDUSER job not
only defined the user but also added the user alias to the master catalog
pointing to SYS1.UCAT.TSO.
Rick Fochtman
2010-04-26 19:40:27 UTC
Permalink
-------------------------------------<snip>---------------------------
On a related note, the "master catalog prompt", is not exactly
user-friendly / informative, unless you know what it means ... like much
/ most of MVS ;)

Is the text of that message "buried" in object code somewhere, or is it
in a human-readable SYS1.xxxx library somewhere?

I guess it would probably violate the "spirit" of MVS / IBMese, if the
message said something like : :/

"JOB xxx : Enter master catalog password"
-----------------------------------<unsnip>------------------------------------
Depending on where the message originates, it might be a very "generic"
message. The actual text is buried in the object code. The advent of
RACF in later releases of MVS and its successors negated the need for
password protection on datasets, including catalogs. Keep in mind that
VSAM and VSAM catalogs were in the very primitive stages in MVS 3.8J;
there have been massive improvements since those days. Very few messages
issued by MVS are found in a "message library". There is the one
exception we all know about: TSO "HELP" text.

Rick
Ron Hudson
2010-04-26 18:21:24 UTC
Permalink
Post by Ron Hudson
Well It's sink or swim! I am trying to create a user catalog
Why?
Because: 1) I am tired of always having to type the password
(sys1.vmastcat has an update password)
2) Users in the master catalog is frowned on in the
"real world"
//HERC01A JOB CLASS=C,REGION=0K,NOTIFY=HERC01
//***
//*** Define aliases for High-level qualifiers suitable for
//*** your site.
//*** New 'USER01' datasets can be allocated without P/W.
//***
//IDCAMS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE ALIAS (NAME(USER01) RELATE(SYS1.UCAT.TSO)) -
CATALOG(SYS1.VMASTCAT/SECRET)
//
Scott,

I get the suspicion that you think USER01 is a userid? I have created a
dasd
and its volser is USER01 (the first dasd for use by users) I would like to
start
using it...
Post by Ron Hudson
Messing around with creating your own user catalog at this stage of the
game is not worth it.
ScottC
ScottC
2010-04-26 23:18:38 UTC
Permalink
Ok Ron,

Here are the steps I followed. It all worked:
I have my own question to the group at the end...

1) Startmvs and Startterm

2) Create DASD volume - use Hercules Utility command:
DASDINIT -a -z user01.141 3350 user01

3) Copy created file user01.141 to DASD directory

4) On the Hercules console type:
attach 141 3350 dasd/user01.141

5) Submit the following JCL to initialize the DASD:
//ICKDSF JOB ICKDSF,CLASS=A,MSGLEVEL=(1,1)
//ICKDSF EXEC PGM=ICKDSF,REGION=4096K
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
INIT UNITADDRESS(141) NOVERIFY VOLID(USER01) OWNER(HERCULES) -
VTOC(0,1,1)
//

6) Reply on the MVS console (prefix with "/" on a Consolidated Console) to go ahead and alter the volume:
r xx,U

7) Enter on the MVS console (prefix with "/" on a Consolidated Console):
v 141,online
m 141,vol=(sl,USER01),use=STORAGE

8) In SYS1.PARMLIB(VATLST00)
add:
USER01,0,0,3350 ,N USER PACK 01 - (STORAGE)

9) Submit the following JCL to define User Catalog:
//DEFUCATS JOB USER=HERCAD,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
//IDCAMS EXEC PGM=IDCAMS,REGION=4096K
//SYSPRINT DD SYSOUT=A
//USER01 DD UNIT=3350,VOL=SER=USER01,DISP=OLD
//SYSIN DD *
DEFINE USERCATALOG ( -
NAME (UCUSER01) -
VOLUME (USER01) -
TRACKS (8324 0) -
FOR (9999) ) -
DATA (TRACKS (15 5) ) -
INDEX (TRACKS (15) )
DEFINE ALIAS (NAME (USER01) -
RELATE (UCUSER01) )
//

10) Reply on the MVS console (prefix with "/" on a Consolidated Console) to continue:
r xx,SECRET <== if mastercatalog password requested
r xx,SECRET <== if mastercatalog password requested

11) Add to your ".conf" script:
0141 3350 dasd/user01.141 ro sf=shadow/user01_1.141

12) On RPF Screen 3.2, allocate a USER01 dataset on Volume USER01:
RPF Data set utility: userid=HERC01---------------------------Dataset allocated
Option ===> 1

1 ALLOCATE - Allocate a dataset
2 DELETE - Delete a dataset
X EXIT - Return


Data set information

Prefix = USER01
Library = TEST
Type = CNTL

Volume space and DCB info (option 1 only)

Unit = SYSDA RECFM = FB
Volume = USER01 LRECL = 80
Space unit = CYL BLKSIZE = 3120

Primary= 1 Secondary= 0 Directory= 0


Hit PF03/15 to return

Dataset was allocated.


Now, I have a question... Is there a way to force USER01 datasets to first attempt to be allocated on Volume USER01 by default instead of always allocating on PUB002 by default?

Scott
kerravon86
2010-04-26 23:38:39 UTC
Permalink
Post by ScottC
Now, I have a question... Is there a way to force
USER01 datasets to first attempt to be allocated on
Volume USER01 by default instead of always allocating
on PUB002 by default?
I think the short answer is "no, unless you define a new
UNIT type".

The longer answer is - what I do is update the vatlst
when running a job that needs the datasets to go to
a particular pack to only have the one I want
available.

BFN. Paul.
Ron Hudson
2010-04-26 23:49:54 UTC
Permalink
Post by ScottC
Ok Ron,
I have my own question to the group at the end...
1) Startmvs and Startterm
DASDINIT -a -z user01.141 3350 user01
3) Copy created file user01.141 to DASD directory
I actually created mine directly in the dasd directory.
attach 141 3350 dasd/user01.141
//ICKDSF JOB ICKDSF,CLASS=A,MSGLEVEL=(1,1)
//ICKDSF EXEC PGM=ICKDSF,REGION=4096K
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
INIT UNITADDRESS(141) NOVERIFY VOLID(USER01) OWNER(HERCULES) -
VTOC(0,1,1)
//
6) Reply on the MVS console (prefix with "/" on a Consolidated Console) to
r xx,U
v 141,online
m 141,vol=(sl,USER01),use=STORAGE
8) In SYS1.PARMLIB(VATLST00)
USER01,0,0,3350 ,N USER PACK 01 - (STORAGE)
//DEFUCATS JOB USER=HERCAD,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
//IDCAMS EXEC PGM=IDCAMS,REGION=4096K
//SYSPRINT DD SYSOUT=A
//USER01 DD UNIT=3350,VOL=SER=USER01,DISP=OLD
//SYSIN DD *
DEFINE USERCATALOG ( -
NAME (UCUSER01) -
VOLUME (USER01) -
TRACKS (8324 0) -
FOR (9999) ) -
DATA (TRACKS (15 5) ) -
INDEX (TRACKS (15) )
DEFINE ALIAS (NAME (USER01) -
RELATE (UCUSER01) )
//
r xx,SECRET <== if mastercatalog password requested
r xx,SECRET <== if mastercatalog password requested
0141 3350 dasd/user01.141 ro sf=shadow/user01_1.141
RPF Data set utility: userid=HERC01---------------------------Dataset allocated
Option ===> 1
1 ALLOCATE - Allocate a dataset
2 DELETE - Delete a dataset
X EXIT - Return
Data set information
Prefix = USER01
Library = TEST
Type = CNTL
Volume space and DCB info (option 1 only)
Unit = SYSDA RECFM = FB
Volume = USER01 LRECL = 80
Space unit = CYL BLKSIZE = 3120
Primary= 1 Secondary= 0 Directory= 0
Hit PF03/15 to return
Dataset was allocated.
Seems like that is what I did too.. I have gone ahead and moved
user HUDSON to SYS1.UCAT.TSO after finding out that HERCxx all have all
files there anyway.

But now I have a DASD spinning but not really being used...
Post by ScottC
Now, I have a question... Is there a way to force USER01 datasets to first
attempt to be allocated on Volume USER01 by default instead of always
allocating on PUB002 by default?
Scott
Small
2010-08-27 14:17:36 UTC
Permalink
Well, you could define a volume group in the EDT using DYNAMASK with only that 1 volume, and then use UNIT=<volume group> in your TSO alloactions. That would work except for dynamic allocations from TSO applications like RPF, where you can't override the UNIT parameter. I'm not sure if that is what you want.
If you are in control of your allocations you may also assign the volume directly e.g. VOL=SER=cccccc, or ALLOC ..... VOL(CCCCCC) etc.

Roger
Post by Ron Hudson
Post by ScottC
Ok Ron,
I have my own question to the group at the end...
1) Startmvs and Startterm
DASDINIT -a -z user01.141 3350 user01
3) Copy created file user01.141 to DASD directory
I actually created mine directly in the dasd directory.
attach 141 3350 dasd/user01.141
//ICKDSF JOB ICKDSF,CLASS=A,MSGLEVEL=(1,1)
//ICKDSF EXEC PGM=ICKDSF,REGION=4096K
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
INIT UNITADDRESS(141) NOVERIFY VOLID(USER01) OWNER(HERCULES) -
VTOC(0,1,1)
//
6) Reply on the MVS console (prefix with "/" on a Consolidated Console) to
r xx,U
v 141,online
m 141,vol=(sl,USER01),use=STORAGE
8) In SYS1.PARMLIB(VATLST00)
USER01,0,0,3350 ,N USER PACK 01 - (STORAGE)
//DEFUCATS JOB USER=HERCAD,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
//IDCAMS EXEC PGM=IDCAMS,REGION=4096K
//SYSPRINT DD SYSOUT=A
//USER01 DD UNIT=3350,VOL=SER=USER01,DISP=OLD
//SYSIN DD *
DEFINE USERCATALOG ( -
NAME (UCUSER01) -
VOLUME (USER01) -
TRACKS (8324 0) -
FOR (9999) ) -
DATA (TRACKS (15 5) ) -
INDEX (TRACKS (15) )
DEFINE ALIAS (NAME (USER01) -
RELATE (UCUSER01) )
//
r xx,SECRET <== if mastercatalog password requested
r xx,SECRET <== if mastercatalog password requested
0141 3350 dasd/user01.141 ro sf=shadow/user01_1.141
RPF Data set utility: userid=HERC01---------------------------Dataset allocated
Option ===> 1
1 ALLOCATE - Allocate a dataset
2 DELETE - Delete a dataset
X EXIT - Return
Data set information
Prefix = USER01
Library = TEST
Type = CNTL
Volume space and DCB info (option 1 only)
Unit = SYSDA RECFM = FB
Volume = USER01 LRECL = 80
Space unit = CYL BLKSIZE = 3120
Primary= 1 Secondary= 0 Directory= 0
Hit PF03/15 to return
Dataset was allocated.
Seems like that is what I did too.. I have gone ahead and moved
user HUDSON to SYS1.UCAT.TSO after finding out that HERCxx all have all
files there anyway.
But now I have a DASD spinning but not really being used...
Post by ScottC
Now, I have a question... Is there a way to force USER01 datasets to first
attempt to be allocated on Volume USER01 by default instead of always
allocating on PUB002 by default?
Scott
Gerhard Postpischil
2010-04-26 23:56:16 UTC
Permalink
Post by ScottC
Now, I have a question... Is there a way to force USER01 datasets to
first attempt to be allocated on Volume USER01 by default instead of
always allocating on PUB002 by default?
There several ways, ranging from klutzy to elegant.

The simplest is to have USER01 as the only volume with the
STORAGE attribute.

More tedious is to do a (partial) sysgen and define, e.g., USER
as a unit name, and then do all your allocations with UNIT=USER
(but this is equivalent to using UNIT=141 which is simpler). I
suspect you want the allocation for TSO as well as batch?

Another method, for batch jobs, is to use the IEFUJV or a
JES2/JES3 exit to inspect the JCL, and add the USER01 serial to
the request.

The elegant, and most educational <g>, method is to write an
allocation exit. When allocation (SVC 99) is invoked without a
volume serial, and is for a permanent data set, change the request.

With the exception of the first, I've done all of these on real
world systems. For the first, I had a system with no storage
volumes, and exits that replaced non-specific requests with
specific ones depending on the account and user id.

Gerhard Postpischil
Bradford, VT
halfmeg
2010-04-27 01:47:28 UTC
Permalink
Post by Rick Fochtman
Post by ScottC
Now, I have a question... Is there a way to force USER01 datasets
to first attempt to be allocated on Volume USER01 by default
instead of always allocating on PUB002 by default?
<snip>
More tedious is to do a (partial) sysgen and define, e.g., USER
as a unit name, and then do all your allocations with UNIT=USER
(but this is equivalent to using UNIT=141 which is simpler). I
suspect you want the allocation for TSO as well as batch?
<snip>
You don't have to do the above with TK3. See DYNAMASK:

http://www.bsp-gmbh.com/turnkey/cookbook/dynamask.html

to create a 'new' unit name.

Phil
Loading...