Filters are processed as follows:
Consider the following sample parmlib filter member:
<DatasetFilters> IncludeDataSets = IncludeDSNames ExcludeDataSets = ExcludeDSNames IncludeDataClass = IncludeDataClass <IncludeDSNames> GROUP01='SYS?./' GROUP02='SYS2./' <ExcludeDSNames> GROUP01='SYS2./' <IncludeDataClass> GROUP11=VTAPEG11
A tape data set assigned the VTAPEG11 data class by SMS will be intercepted and assigned to group 11. No other filter processing is done.
A tape data set that is not assigned the VTAPEG11 data class and has a name starting with “SYS” will initially match the GROUP01 “SYS?./” include entry. If the data set name does not start with SYS2, no exclude entry will be matched and the data set will be intercepted and assigned to group 1.
If the data set name starts with SYS2, the match to group 1 is rejected by the GROUP01 “SYS2./” exclude entry. The include scan will resume and match the GROUP02 “SYS2./” include entry, and the data set will be intercepted and assigned to group 2.
Any other data set name will not match an include entry and will not be intercepted.
The filter entries are sorted by name or pattern before being loaded into the Local VCAT. Consequently, you cannot rely on the order of entry in the parmlib filter member to determine which filter entry will be used to intercept the data set.
Consider the following sample filter member:
<IncludeDSNames> GROUP01='SYS2./' GROUP02='SYS?./'
This member will not cause all SYS2 data sets to be assigned to group 1 while all other SYS data sets are assigned to group 2. When sorted, the GROUP02 pattern will precede the GROUP01 pattern. As a result, all data sets with names starting with SYS, including SYS2 data sets, will be assigned to group 2. An exclude filter for GROUP02 must be coded to prevent the SYS2 data sets from being intercepted by that group as in the following example:
<IncludeDSNames> GROUP01='SYS2./' GROUP02='SYS?./' <ExcludeDSNames> GROUP02='SYS2./'
|
Copyright © 2013 CA Technologies.
All rights reserved.
|
|