Variables in parameter values
Many parameter values can optionally refer to variables.
IBM Z® Monitoring Configuration Manager supports the same variables as PARMGEN.
Variables versus LPAR-specific RTEDEF members
Variables enable you to reuse a configuration profile member for different LPARs where LPARs require different parameter values.
However, using variables adds a precursor step to runtime environment started tasks. The step resolves variable values. The additional processing delays runtime environment startup.
LPAR-specific RTEDEF members, introduced by Monitoring Configuration Manager, offer an alternative to using variables for LPAR-specific parameter values.
Using LPAR-specific RTEDEF members instead of variables removes the variable-resolution precursor step from started tasks.
If you use LPAR-specific RTEDEF members instead of variables, started tasks are simpler and runtime environments start faster.
Using variables
To use variables, you must set the RTE_SYSV_SYSVAR_FLAG parameter to
Y.
Variables, like parameters, are defined using name-value pairs and are stored in members of the RTEDEF library.
The following example, without variables, sets the parameter named
RTE_TCP_PORT_NUM to the literal value 1918:
RTE_TCP_PORT_NUM 1918
RTE_TCP_PORT_NUM &RTE_PORT.Suppose your sysplex contains two LPARs: ZOS1 and ZOS2. In general, these LPARs have similar runtime environment configurations. However, on ZOS1 you want the monitoring server to listen on port 1918, whereas on ZOS2 you want the monitoring server to listen on port 1919.
In the variables configuration profile member for LPAR ZOS1, VAR$ZOS1, you
set the RTE_PORT variable to 1918:
RTE_PORT 1918
In VAR$ZOS2, you set RTE_PORT to
1919:
RTE_PORT 1919
RTEDEF members that define variables
In the LPARs column of the following table, Current means: the LPAR on which the GENERATE action is performed.
| Member name | LPARs | Description |
|---|---|---|
| VAR$GLOB | All | Variables configuration profile. |
| VAR$lpar | Current | LPAR-specific variables configuration profile. |
If a variable is defined in both VAR$GLOB and VAR$lpar, then the value in VAR$lpar is used.
Unique variable names
While Configuration Manager supports runtime environments
with variables (parameter RTE_SYSV_SYSVAR_FLAG is set to Y),
it does not support cases where the parameter value is a variable with the same name as the
parameter itself.
RTE_USS_RTEDIR &RTE_USS_RTEDIRMY_ has been added to the
variable name:RTE_USS_RTEDIR &MY_RTE_USS_RTEDIRVariables migrated from PARMGEN
Unlike Configuration Manager, PARMGEN does allow the name of a variable to be the same as the parameter to which it is assigned. If any of these same-name settings exist in your PARMGEN parameter definitions, the variables must be renamed for use by Configuration Manager.
- For variable names that are 30 characters or less, the MIGRATE action renames
the variable by adding the following suffix to the name:
_RFor example, PARMGEN allows the following parameter setting, which is defined in member WCONFIG(rte_name):
The value of the variable is set in member GBL_USER_JCL(rte_name), as follows:RTE_USS_RTEDIR &RTE_USS_RTEDIRRTE_USS_RTEDIR "value"When the configuration settings are imported from PARMGEN to Configuration Manager, the MIGRATE action renames the variable, as follows:- In member
RTEDEF(rte_name):
RTE_USS_RTEDIR &RTE_USS_RTEDIR_R - In member
RTEDEF(VAR$GLOB):
RTE_USS_RTEDIR_R "value"
- In member
RTEDEF(rte_name):
- If the variable name is 31 characters, the MIGRATE action only adds the
following suffix:
_ - If the variable name is 32 characters (the maximum length), the MIGRATE action only adds a comment with a warning in the respective RTEDEF(VAR$GLOB) member, indicating that you must rename the variable.