The following rules apply to the creation of GRSRNLxx:
- Use columns 1 through 71; columns 72 through 80 are ignored. Note that
if you need to continue to another line when specifying a value (such
as the name on the RNAME parameter), you must start the continuation
in column 1.
- Comments may appear in columns 1-71 and must begin with /* and
end with = */. A comment can span lines and can appear
anywhere except within a keyword or a specified value.
- Each RNLDEF statement is defined as beginning with the characters
RNLDEF" nd ending with the character immediately preceding the next
RNLDEF statement.
- Each RNLDEF statement must contain, in any order, the RNL, TYPE, QNAME,
and RNAME parameters. For example:
RNLDEF RNL(INCL) TYPE(SPECIFIC) QNAME(SYSDTNM)
RNAME(SYS1.USR)
RNLDEF RNL(INCL) TYPE(GENERIC) QNAME(SYSDTNM)
RNAME(SYS1.U)
RNLDEF RNAME(SYS1.U) TYPE(GENERIC) RNL(INCL)
QNAME(SYSDTNM)
- A specific resource name entry matches a search argument only
when they are the same.
A match occurs only when the length of
the RNAME value on the RNLDEF statement is the same as the length
of the RNAME value that is coded on the ISGENQ, ENQ, or RESERVE macro,
and only when the RNAME value on the RNLDEF statement is the same
as RNAME value coded on the ISGENQ, ENQ, or RESERVE macro. For example:
Assume
that an RNLDEF statement is coded as follows to add an entry in the
Systems Exclusion List:
RNLDEF RNL(EXCL) TYPE(SPECIFIC) QNAME(MYQNAME) RNAME(ABC)
Further
assume that an application program is coded to issues an ENQ and defines
the length of the RNAME as 44 bytes with blanks filled to the right
of 'ABC':
ENQ (QNAM,RNAM,E,L'RNAM),MF=(E,XENQ)
.
.
.
RNAM DC CL44'ABC'
In this case, the length of the RNAME
value on the RNLDEF statement does not match the length of the RNAME value
that is coded on ENQ macro. You can correct this by taking one of
the following actions:
- Change the RNLDEF statement to specify the correct RNAME length
and value:
RNLDEF RNL(EXCL)TYPE(SPECIFIC)QNAME(MYQNAME)RNAME(X’C1C2C34040404040….40’)
[not all blanks are shown]
- Change the RNLDEF statement from a specific to a generic type:
RNLDEF RNL(EXCL) TYPE(GENERIC) QNAME(MYQNAME) RNAME(ABC)
- Change the RNLDEF statement from a specific to a pattern type using
any one of the following variations:
RNLDEF RNL(EXCL) TYPE(PATTERN) QNAME(MYQNAME) RNAME(*)
RNLDEF RNL(EXCL) TYPE(PATTERN) QNAME(MYQNAME) RNAME(ABC*)
- Change the application program to eliminate the blank fill:
ENQ (QNAM,RNAM,E,L'RNAM),MF=(E,XENQ)
.
.
.
RNAM DC CL3'ABC'
Change the length of the RNAME,
if the length is hardcoded on the ENQ macro.
Note: - You can put a blank anywhere except within a keyword or a specified
value.
- You can use as many lines as you need for one RNLDEF statement.
- You can specify multiple parameters on the same line.
- You do not need to put a blank (or other delimiter) between parameters.
For example, the following RNLDEF statement is valid:
RNLDEF RNL(EXCL)TYPE(SPECIFIC)QNAME(SYSDSN)RNAME(SYS1.BRODCAST)
- You can use from 1 to 8 characters for the name that you specify
on the QNAME parameter. You must enclose the name in parentheses.
- You can use from 1 to 255 characters for the name that you specify
on the RNAME parameter. You must enclose the name in parentheses.
Any complete line of blanks (columns 1-71) will be ignored when specifying
a value for the RNAME.
- You can specify the names on the QNAME and RNAME parameters in
any of the following formats:
- If the name contains characters that cannot display, you must
use two hexadecimal digits to specify each character of the name.
For example:
RNLDEF RNL(INCL) TYPE(GENERIC) QNAME(X'18')
RNAME(X'19')
- If the name contains displayable characters that are alphanumeric
(A-Z and 0-9), *, ?, #, @, and $, or a period (.), enter the name
as is. or example:
RNLDEF RNL(EXCL) TYPE(GENERIC) QNAME(STW@7)
RNAME(REW.20)
- If the name contains displayable characters other than those already
described (including a blank, but excluding a single quotation mark),
enclose the name in single quotation marks. For example:
RNLDEF RNL(CON) TYPE(SPECIFIC) QNAME('$ ( )*')
RNAME('A B')