Caveat:  as daily digestion occurs, responses are delayed...

Theo:  You should be consulting the DFSMSdfp Storage Administration manual [1]. 
 In Chapter 17 "Writing ACS routines", you specific question is discussed with 
2 alternatives:  Data set masks, or Data set qualifier indexing function.  The 
examples for the 1st has your exact FiltList paradigm [2] while, in my opinion 
your better option, the latter [3] employs &DSN(3).  For example,

FILTLIST SPECIAL_3RD_QUALIFIER_TINY INCLUDE ('AID000', 'ACBANK', ...)
FILTLIST SPECIAL_3RD_QUALIFIER_SMALL INCLUDE ('ANFSYS', 'ATDEND', ...)
SELECT (&DSN(3))
        WHEN (&SPECIAL_3RD_QUALIFIER_TINY) SET DATACLAS=@TINY
        WHEN (&SPECIAL_3RD_QUALIFIER_SMALL) SET DATACLAS=@SMALL
        OTHERWISE SET DATACLAS=@NORMAL
        END

I must admit that I agree with Kees.  The point of SMS is simplification rather 
than overly complex rules.  For example, I have 4 size-related data classes 
based on our Mod-3 farm: Small=<250MB, Medium=250-600MB, Large=>600MB, 
xLarge=>2.6GB.  Each has default primary & secondary sizes (in MB) where 16 
extents will overlap way into the next 2 ranges; in case someone goofed.  
Likewise, they also have escalating values for DynVolCount.  [4]  I would 
expect justification for so many rules.  [5]

ps.  space allocation in the DataClas will be over-ridden by JCL or Define 
Cluster if specified.

[1]  DFSMSdfp Storage Administration z/OS v2.1: 
http://publibz.boulder.ibm.com/epubs/pdf/dgt3s201.pdf
[2]  Data set mask examples: *.*.PAYROLL.*.SALARY.* :All names with six 
qualifiers where the third qualifier is "PAYROLL" and the fifth qualifier is 
"SALARY"
[3]  check under the "Special functions" section of "Read-only variables"
[4]  They're not all maxed at 59 since allocation should fail if they go too 
far ie. if they specify SMALL, they shouldn't be taking up the whole pool.
[5]  Alternately, you *could* do auto-assignment on the provided sizes (as I do 
here) using &SIZE plus &MAXSIZE.

-------->  signature = 8 lines follows  <--------
Neil Duffee, Joe Sysprog, uOttawa, Ottawa, Ont, Canada
telephone:1 613 562 5800 x4585                  fax:1 613 562 5161
mailto:NDuffee of uOttawa.ca     http:/ /aix1.uOttawa.ca/ ~nduffee
"How *do* you plan for something like that?"  Guardian Bob, Reboot
"For every action, there is an equal and opposite criticism."
"Systems Programming: Guilty, until proven innocent"  John Norgauer 2004
"Schrodinger's backup: The condition of any backup is unknown until a restore 
is attempted."  John McKown 2015


-----Original Message-----
From: Buckton, T. (Theo) [mailto:[email protected]] 
Sent: March 30, 2016 02:02
Subject: Re: Dataclases according to data set sizes

These will be for new data sets - delete and defines on a daily basis. Nine 
data classes needs to be created, each one with its own allocation size. In the 
ACS routines I would then need to code 9 FILTER LISTS which would include all 
the data sets with common allocation attributes (in this case, the SPACE AVGREC 
where the PRIMARY and SECONDARY space allocation will the same for all data 
sets under a particular filter list)  eg.

FILTLIST GZTINYTINY INCLUDE (
                        DNGG*.**.AID000.**.RR**,
                DNGG*.**.ACBANK.**.RR**
                                )       

FILTLIST GZSMALLSMALL (
                DNGG*.**.ANFSYS.**.RR**,
                DNGG*.**.ATDEND.**.RR**
                        )

IF (&DSN EQ &GZTINYTINY) THEN                      
                      DO                          
                        SET &DATACLAS='@TINYTINY'      
                        EXIT CODE(0)                
                      END    

IF (&DSN EQ &GZSMALLSMALL) THEN                      
                      DO                          
                        SET &DATACLAS='@SMALLSMALL'      
                        EXIT CODE(0)                
                      END    

This is only an example of what is needed to be coded, except that the 
FILTLISTS would contain up to thousands of these data sets...
I hope this  makes sense now.

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of retired mainframer
Sent: 29 March 2016 07:31 PM
To: [email protected]
Subject: Re: Dataclases according to data set sizes

Are you talking about new data sets or existing ones?  What do you mean by data 
sets being grouped?  What data class attributes would you like to be dependent 
on the size of the data set.

The ALTER command cannot change the data class of an existing data set.
Even if it is possible with another utility, changing the data class would have 
no effect on the other data set attributes stored in the catalog and VVDS.  
What would you hope to accomplish?

The data class ACS routine has access to the &SIZE and &MAXSIZE read-only 
variables.  You can use them as part of the decision process for assigning a 
data class to a new data set.  The management class and storage class ACS 
routines would have access to this decision and could use that when making 
their assignments.  But those routines would also have access to the variables 
and could use them directly.

What is your real intent that you think different data classes will satisfy?

> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:[email protected]] 
> On Behalf Of Buckton, T. (Theo)
> Sent: Tuesday, March 29, 2016 7:04 AM
> To: [email protected]
> Subject: Dataclases according to data set sizes
> 
> I have thousands of VSAM RR data sets that are grouped according to 
> their sizes, which
> comes to about 9 groups or data classes. It is not too much work to 
> create the 9 data classes,
> but to code these thousands of data sets according to NODE3 in the ACS 
> routines seems a
> bit too hectic. Is there perhaps a smarter way to do this?
> 

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to