|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
JCL DSNTYPE=LIBRARY |
« View previous topic :: View next topic » |
Author |
Message
|
RogerLacroix |
Posted: Fri Aug 07, 2020 3:14 pm Post subject: JCL DSNTYPE=LIBRARY |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
This isn't an MQ question just straight JCL question.
I've always defined any new LIBRARY (aka PDSE) datasets using ISPF's 3.2 option. Like the following:
Code: |
Allocate New Data Set
Command ===>
Data Set Name . . . : ROGER.TEST.LOADE
Management class . . . (Blank for default management class)
Storage class . . . . (Blank for default storage class)
Volume serial . . . . (Blank for system default volume) **
Device type . . . . . (Generic unit or device address) **
Data class . . . . . . (Blank for default data class)
Space units . . . . . MB (BLKS, TRKS, CYLS, KB, MB, BYTES
or RECORDS)
Average record unit (M, K, or U)
Primary quantity . . 50 (In above units)
Secondary quantity 50 (In above units)
Directory blocks . . 0 (Zero for sequential data set) *
Record format . . . . U
Record length . . . . 0
Block size . . . . . 32760
Data set name type LIBRARY (LIBRARY, HFS, PDS, LARGE, BASIC, *
Data set version . : 1 EXTREQ, EXTPREF or blank)
Num of generations : 0
Extended Attributes (NO, OPT or blank)
Expiration date . . . (YY/MM/DD, YYYY/MM/DD
Enter "/" to select option YY.DDD, YYYY.DDD in Julian form
Allocate Multiple Volumes DDDD for retention period in days
or blank) |
I was writing some JCL and wanted it to define the LIBRARY dataset. I cannot for the life of me figure out how to specify MegaBytes (MB).
When I look in the manual under SPACE, there is nothing about MB.
When I try the following:
Code: |
//OUT DD DSNAME=ROGER.TEST2.LOADE,
// UNIT=SYSDA,
// DISP=(NEW,CATLG,DELETE),SPACE=(MB,(5,5,5)),
// DCB=(DSORG=PO,RECFM=U,BLKSIZE=32760,LRECL=0),
// DSNTYPE=LIBRARY |
I get the following error:
Quote: |
12 IEF644I INVALID NUMERIC IN THE SPACE FIELD |
At first I thought it was maybe the directory block value, so I tried:
Code: |
//OUT DD DSNAME=ROGER.TEST2.LOADE,
// UNIT=SYSDA,
// DISP=(NEW,CATLG,DELETE),SPACE=(MB,(5,5)),
// DCB=(DSORG=PO,RECFM=U,BLKSIZE=32760,LRECL=0),
// DSNTYPE=LIBRARY |
But I got the same error.
Anybody got any ideas what I'm doing wrong? It would seem illogical that it cannot be done via JCL.
Regards,
Roger Lacroix
Capitalware Inc. _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
bruce2359 |
Posted: Fri Aug 07, 2020 3:53 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
The AVGREC= parameter is a multiplier: U=units, K=thousands, M=millions
https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.ieab600/xddavgr.htm
SPACE=(spaceunits,(primary,secondary,directoryblocks)), AVGREC=K will multiply primary and secondary by thousands
//OUT DD DSNAME=ROGER.TEST2.LOADE,
// UNIT=SYSDA,
// DISP=(NEW,CATLG,DELETE),SPACE=(32760,(5,5,100)),AVGREC=K,
// DCB=(DSORG=PO,RECFM=U,BLKSIZE=32760,LRECL=0),
// DSNTYPE=LIBRARY
In this JCL, you will get 5 thousand 32760 byte blocks primary, 5 thousand 32760 byte blocks secondary, 100 directory blocks, all in a PDS/E. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
RogerLacroix |
Posted: Mon Aug 10, 2020 2:47 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
|
Back to top |
|
 |
RogerLacroix |
Posted: Thu Aug 13, 2020 12:16 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
bruce2359 wrote: |
In this JCL, you will get 5 thousand 32760 byte blocks primary, 5 thousand 32760 byte blocks secondary, 100 directory blocks, all in a PDS/E. |
Man this shit makes your head spin.
I needed 3MB of disk space, so I tried your example then check the info for the dataset and it said 6% utilization. I shock my head then realize that "5 thousand 32760 byte blocks" is 156MB. So, I played around with it and decided AVGREC should be in Units (rather than thousands) and I went with the following:
Code: |
//OUT DD DSNAME=ROGER.TEST.LOAD,
// UNIT=SYSDA,AVGREC=U,
// DISP=(NEW,CATLG,DELETE),SPACE=(32760,(100,100,10)),
// DCB=(DSORG=PO,RECFM=U,BLKSIZE=32760,LRECL=0),
// DSNTYPE=LIBRARY |
When I checked the info on the dataset, it shows an allocation of 3.19MB which is just fine.
bruce2359 wrote: |
SPACE=(spaceunits,(primary,secondary,directoryblocks)) |
The real question I have is what is the purpose of "spaceunits"? Could I not use "1" and then do regular math?
i.e.
Code: |
//OUT DD DSNAME=ROGER.TEST.LOAD,
// UNIT=SYSDA,AVGREC=M,
// DISP=(NEW,CATLG,DELETE),SPACE=(1,(3,1,10)),
// DCB=(DSORG=PO,RECFM=U,BLKSIZE=32760,LRECL=0),
// DSNTYPE=LIBRARY |
Would that allocate 3MB (3 million 1 byte blocks) of disk space or is the "spaceunits" somehow used in the DCB settings?
Regards,
Roger Lacroix
Capitalware Inc. _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Aug 13, 2020 12:35 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Your OP started with LIBRARY, a partitioned dataset/extended. I followed your lead.
What do you really need?
Do you need a pds or pds/e (a library)? Or, just 3MB of disk space? Do you need 32760 block size of pds/e space? _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Aug 13, 2020 1:05 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
This will create 3M with the specs you provided initially, but not a library/pds.
//NEW DD DISP=(NEW,CATLG),DSN=YOUR.DSN,
// SPACE=(1,3), RECFM=U,LRECL=0,AVGREC=M,BLKSIZE=32760 _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Aug 13, 2020 1:16 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
bruce2359 wrote: |
This will create 3M with the specs you provided initially, but not a library/pds.
//NEW DD DISP=(NEW,CATLG),DSN=YOUR.DSN,
// SPACE=(1,3), RECFM=U,LRECL=0,AVGREC=M,BLKSIZE=32760 |
If it must be a pds/e:
//NEW DD DISP=(NEW,CATLG),DSN=YOUR.DSN,DSNTYPE=LIBRARY,
// SPACE=(1,(3,,100)), RECFM=U,LRECL=0,AVGREC=M,BLKSIZE=32760 _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
RogerLacroix |
Posted: Thu Aug 13, 2020 2:56 pm Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Yup. The dataset type must be Library. The members of the dataset occupy a little over 2MB of space.
So, the 'spaceunits' value has no influence over anything for DCB settings? i.e. BLKSIZE
Regards,
Roger Lacroix
Capitalware Inc. _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Aug 13, 2020 3:54 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
RogerLacroix wrote: |
Yup. The dataset type must be Library. The members of the dataset occupy a little over 2MB of space.
So, the 'spaceunits' value has no influence over anything for DCB settings? i.e. BLKSIZE
Regards,
Roger Lacroix
Capitalware Inc. |
Well, yes and no.
Spaceunits is most often specified in IBM-3390 DASD device technical characteristics:
TRK (56,664 bytes
CYL (849,960 bytes)
blocklength
recordength
Primary specifies how many spaceunits to allocate now. Secondary, if specified, specifies how many spaceunits to allocate when primary is exhausted.
BLKSIZE specifies the unit-of-transfer between central storage and the device.
End-users don’t understand or care about techie stuff, so JCL was enhanced to allow K- and M-bytes multiplier with AVGREC. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|