ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum IndexMainframe, CICS, TXSeriesJCL DSNTYPE=LIBRARY

Post new topicReply to topic
JCL DSNTYPE=LIBRARY View previous topic :: View next topic
Author Message
RogerLacroix
PostPosted: Fri Aug 07, 2020 3:14 pm Post subject: JCL DSNTYPE=LIBRARY Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3183
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
View user's profile Send private message Visit poster's website
bruce2359
PostPosted: Fri Aug 07, 2020 3:53 pm Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 8814
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.
_________________
My life flows on in endless song;
How can I keep from singing?
Back to top
View user's profile Send private message
RogerLacroix
PostPosted: Mon Aug 10, 2020 2:47 pm Post subject: Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3183
Location: London, ON Canada

Thanks. I'll give it a try.

Regards,
Roger Lacroix
Capitalware Inc.
_________________
Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter
Back to top
View user's profile Send private message Visit poster's website
RogerLacroix
PostPosted: Thu Aug 13, 2020 12:16 pm Post subject: Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3183
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
View user's profile Send private message Visit poster's website
bruce2359
PostPosted: Thu Aug 13, 2020 12:35 pm Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 8814
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?
_________________
My life flows on in endless song;
How can I keep from singing?
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Aug 13, 2020 1:05 pm Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 8814
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
_________________
My life flows on in endless song;
How can I keep from singing?
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Aug 13, 2020 1:16 pm Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 8814
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
_________________
My life flows on in endless song;
How can I keep from singing?
Back to top
View user's profile Send private message
RogerLacroix
PostPosted: Thu Aug 13, 2020 2:56 pm Post subject: Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3183
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
View user's profile Send private message Visit poster's website
bruce2359
PostPosted: Thu Aug 13, 2020 3:54 pm Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 8814
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 dont understand or care about techie stuff, so JCL was enhanced to allow K- and M-bytes multiplier with AVGREC.
_________________
My life flows on in endless song;
How can I keep from singing?
Back to top
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Page 1 of 1

MQSeries.net Forum IndexMainframe, CICS, TXSeriesJCL DSNTYPE=LIBRARY
Jump to:



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
Protected by Anti-Spam ACP


Theme by Dustin Baccetti
Powered by phpBB 2001, 2002 phpBB Group

Copyright MQSeries.net. All rights reserved.