Coding guidelines
- Asterisk (*)
- Represents 0 or more unspecified characters.
- Question mark (?)
- Represents a single unspecified character.
When placing wildcard characters in the name fields of model CDRSC definitions, you should have some idea of which clone CDRSCs might be built from those model definitions. Use a naming scheme that ensures that clone CDRSCs are not accidentally built from model CDRSC definitions; that is, ensure that a cross-domain resource does not use a model definition that you did not intend for it to use.
A model CDRSC name, including wildcard characters, can be a maximum of eight characters in length. A question mark (?) can be used anywhere in the model CDRSC name. An asterisk (*) can be used in the second to eighth characters of the model CDRSC name. Model CDRSC names must be unique across all resource names known to this VTAM® (including model APPL definitions). There is no defined limit on the number of clone CDRSCs that can be created from one model CDRSC definition, nor is there a defined limit on the number of model CDRSC definitions that you can define.
Model CDRSC definitions can be defined in any number of CDRSC major nodes. Those model CDRSC definitions can appear in a CDRSC major node along with conventionally defined CDRSC definition statements. The model definitions and conventionally defined CDRSC definition statements can appear in any order. If the model is coded before a NETWORK statement with NETID= coded with a valid value, it will be an alias CDRSC and any clones created from it will be considered as predefined alias CDRSCs. If the model is coded after a NETWORK statement with NETID= coded with a valid value, it will be a real CDRSC and any clones created from it will be considered as predefined real CDRSCs.
The rules for the model CDRSC name and how the best matching pattern is found are similar to the rules for model applications. See How VTAM finds the best match for examples of model names and how matches are found. Table 1 gives samples for model names and matching names that apply to CDRSCs and applications.
In addition to the rules for finding the model CDRSC with the best matching pattern for the name, other factors are taken into account when selecting the model CDRSC. These factors are network ID, NQNMODE, and whether a real or alias CDRSC is being requested.
- If an alias CDRSC is being requested, no model is eligible because a clone CDRSC would collide with this RDTE. Therefore, only a dynamic CDRSC is allowed.
- If a real CDRSC is being requested, a model is eligible if the
following are true:
- The model is a real CDRSC.
- The model's netid matches the input netid.
- The model has NQNMODE=NQNAME (whether by start option or coded on the model CDRSC).
- If an alias CDRSC is being requested, a model is eligible if one
of the following is true:
- The model is an alias CDRSC.
- The model's netid is the local host netid.
- The model has NQNMODE=NAME (whether by start option or coded on the model CDRSC).
- If a real CDRSC is being requested, a model is eligible if the model is an alias CDRSC or if the model's netid matches the input netid.
CDRSCSEG VBUILD TYPE=CDRSC,...
APPL* CDRSC CDRM=HOST1,...
NETWORK NETID=NETB
TERM1 CDRSC CDRM=HOST2,...
APPLB* CDRSC CDRM=HOST2,DLOGMOD=BATCH,...
APPLB1* CDRSC CDRM=HOST2,DLOGMOD=INTERACT,...
NETWORK NETID=NETC
APPLC? CDRSC CDRM=HOST3,DLOGMOD=INTERACT,...- APPL*
- A model CDRSC from which alias CDRSCs can be created.
- APPLB*
- A model CDRSC from which real CDRSCs with a netid of NETB can be created. The clone CDRSCs will have a default logmode of BATCH.
- APPLB1*
- A model CDRSC from which real CDRSCs with a netid of NETB can be created. The clone CDRSCs will have a default logmode of INTERACT.
- APPLC?
- A model CDRSC from which real CDRSCs with a netid of NETC can be created. The clone CDRSCs will have a default logmode of INTERACT.
- In the above sample major node, if the definition for APPLB* is active, but the definition for APPLB1* is not active, a session request for NETB.APPLB11 creates a clone CDRSC based on the APPLB* definition. That clone CDRSC is used for all session requests for NETB.APPLB11 until the clone CDRSC is deleted, even if the APPLB1* definition, which is a better match, has been activated in the meantime.
- When a clone CDRSC is requested for the origin logical unit of a search, a real CDRSC will be requested.
- When a clone CDRSC is requested for the destination logical unit (DLU) of a search, an alias CDRSC will usually be requested. A real CDRSC will be requested for the DLU if the real name has been learned as a result of alias name translation or a prior host in the search path having a predefined real CDRSC for the DLU.