I changed a resource rule and during the compile got error message ACF70041 SECOND LEVEL QUALIFER NOT ALLOWED WITHIN THIS RULESET. What is wrong?
The message ACF70041 identifies (from the CA-ACF2 Messages Guide):
ACF70041 - SECOND LEVEL QUALIFIER NOT ALLOWED WITHIN THIS RULESET
A period (.) was found in the $KEY. CA-ACF2 interprets this as a fully qualified resource name.
Specify a $KEY without a period.
A fully qualified resource rule is where the entire resource name is in the $KEY value. An extended resource rule is where the $KEY contains only the first level qualifier.
For example, for the following rule:
- UID(******JES2) ALLOW
This will get message ACF70041 because there are 2 qualifiers in the $KEY and the rule line has a "-".
Specifying additional qualifiers in rule line entries are only allowed in extended resource rules.
There are 2 options to resolve this:
- Remove the "-" in the rule line to make this a fully qualified resource rule.
or, use masking $KEY(MVS.SEND.*************) to allow for multiple resource names.
- Reduce the $KEY to just MVS (the first level qualifier) to make this an extended resource rule:
SEND UID(******JES2) ALLOW
If there are other applicable MVS rules, then it may be advantageous to use the extended resource rule format.
SEND.- UID(******JES2) ALLOW
CANCEL.- UID(******OPSUSR) ALLOW
CANCEL.- UID(*) PREVENT