z/OS Communications Server: SNA Network Implementation Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Coding guidelines

z/OS Communications Server: SNA Network Implementation Guide
SC27-3672-01

To code a model CDRSC definition, code a CDRSC definition statement to define CDRSC characteristics that you expect to be used by one or more CDRSCs. Use wildcard characters in the name field of the CDRSC definition statement. You can use the following characters:
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.

Guidelines: If the input netid for this clone CDRSC request is not the local host netid, but there is another RDTE known by the local host netid, the following apply:
  • 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 the input netid for this clone CDRSC request is the local host netid or if there is no other RDTE known by the local host netid and the input netid for this request is not the local host netid, the following apply:
  • 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.
An example of a CDRSC major node with model CDRSCs follows:
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,...
In this example, four model CDRSC definitions and one conventional CDRSC definition are shown.
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.
Tips:
  • 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.
Note: The name of each model CDRSC must be unique even if different netids are used.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014