IBM Tivoli NetView for z/OS, Version 6.2

Using the Report Generator

You can use the CNMSTYLE report generator to analyze the CNMSTYLE member. You can use the report that is created to take the following actions:
  • List the %INCLUDE structure.
  • Analyze multiple occurrences of statements within the CNMSTYLE member. Use this to determine which value is used during NetView® initialization. For statements that are listed multiple times in the report, the last statement that is listed is the one used for initialization.
  • List the CNMSTYLE towers that are enabled.
  • Analyze initialization statements for a particular function.

To run the CNMSTYLE report generator, use the CNMSJCRG sample in the NETVIEW.V6R2USER.INSTALL data set. This INSTALL data set was created during installation by the CNMSJBUP sample job. The CNMSJCRG sample is a job that runs outside of the NetView address space and runs the REXX program CNMECRG under the TSO terminal monitor program.

The CNMSJCRG sample requires the following data sets:
STEPLIB
The NetView CNMLINK data set from the current release, NETVIEW.V6R2M0.CNMLINK.
SYSEXEC
The concatenated data set list of the NetView CNMCLST data sets from the current release.
DSIPARM
The concatenated data set list containing current release versions of the CNMSTYLE member. Ensure that the data set concatenation order is the same as that specified in the NetView start procedure CNMPROC.
CNMPNL1
The NetView CNMPNL1 data set from the current release, NETVIEW.V6R2M0.CNMPNL1.
DSIWRIT
The output partition data set to which the generated report member is written. The output of the report generator is written as a member of a partition data set. If you use the NetView default naming convention, the data set name is NETVIEW.V6R2USER.CNM01.DSILIST.

The CNMSTYLE report is written to member CNMCRG in the DSIWRIT data set. If member CNMCRG already exists, a backup copy of the existing CNMCRG member is created and named CNMCRGBK. If member CNMCRGBK exists, it is overwritten with the existing CNMCRG member.

You can specify keyword parameters in CNMSJCRG. Each keyword parameter and value must be specified on a separate line, just below the CNMECRG command. Do not continue the value onto a second line. All characters typed on a line are interpreted as input to CNMECRG. If a keyword parameter is specified more than once, the first value is used and all subsequent values specified are ignored. Input ends when either a blank line or a /* occurs.

You can specify the following keywords:
TASKS=YES | NO
Specifies whether to include CNMSTASK statements in the report.
YES
Includes statements from the CNMSTASK member. This is the default value.
NO
Does not include CNMSTASK statements.
&NV2I=xx
The default value for xx is NM. If a value that is not valid is specified, an error message is issued and the default value NM is used in the report. If you use alphabetic characters, the characters are converted to uppercase.
&symbolic_name= value
Provides the value of a system or NetView symbolic variable (&symbolic_name) that you are using in the CNMSTYLE member. A symbolic parameter must be passed to CNMECRG to be resolved in the report.
The CNMSTYLE Report Generator, when reading a NetView definition member, cannot resolve symbolic references that refer to a substring of a symbolic variable such as
%INCLUDE C&DOMAIN(2:2).STGEN
Usage notes:
  1. Precede the symbolic_name with an ampersand (&).
  2. The symbolic_name can optionally include a trailing period (.).
  3. Use single quotation marks (‘ ’) if value has leading or trailing blanks.
  4. Do not specify a value that contains a symbolic variable, such as
    &AAAAA='C&NV2I.01'
    or that contains a substring of a symbolic variable, such as
    &AAAAA='C&DOMAIN(2:2).01'
The following example shows keyword parameters for CNMECRG within CNMSJCRG:
CNMECRG
  TASKS=NO
  &DOMAIN=CNM01
  &NV2I=NM
  &CNMTCPN=TCPIP
  &CNMRODM=RODMNAME
  &CNMNETID=NETA
  &MYSYMBL=' A B C '
/*              
The CNMSTYLE report includes the following sections:
  1. General information and CNMSTYLE statements that pertain to all of NetView
  2. CNMSTYLE statements that pertain to specific functions of NetView
  3. auxInitCmd statements and user-defined statements
  4. Data REXX statements within the CNMSTYLE member
Because the TASKS parameter is set to NO, the report in this example does not include CNMSTASK statements.
The first section of the CNMSTYLE report is shown in Figure 1. This part of the report contains general information related to the CNMSTYLE member, such as:
  • The date and time the report was created
  • The &NV2I symbolic variable value being used
  • A nested listing of the members included by the CNMSTYLE member
  • A list of the CNMSTYLE towers that are enabled when NetView initializes
  • A list of CNMSTYLE statements that apply to base NetView
Figure 1. First section of CNMSTYLE report
                           CNMSTYLE REPORT

DATE: 21 Jul 2009
TIME: 14:03:25

&NV21 value: NM

%INCLUDE structure of: CNMSTYLE

    CNMSTYLE
         CNMSTPWD
         CNMSTASK
         CNMSTIDS
         CNMSTTWR
         CNMSTWBM
         CNMSTUSR
              MYINCLUD
         CNMSTGEN

Enabled Towers:  NPDA  NLDM  TCPIPCOLLECT  DISCOVERY

Statements for function: NetView General

Member   Line# Indicators   Statement
-------- ----- ------------ --------------------------------------------------
CNMSTYLE   217 Y            DOMAIN = CNM01
CNMSTYLE   304 Y            NetID = NETA
CNMSTYLE   747              TOWER = *SA *AON *MSM *Graphics NPDA NLDM
                             | TCPIPCOLLECT *AMI *TARA *DVIPA *TEMA *IPMGT
                             | *NVSOA DISCOVERY *ACTIVEACTIVE
CNMSTYLE  1589              CNMI = Yes
CNMSTYLE   582              SECOPTS.OPERSEC = NETVPW
CNMSTYLE   596              SECOPTS.SURROGAT = NO
CNMSTYLE   615              SECOPTS.CMDAUTH = TABLE.CNMSCAT2
CNMSTYLE   626              SECOPTS.AUTHCHK = SOURCEID
CNMSTYLE   634              SECOPTS.OPSPAN = NETV
CNMSTYLE   653              SECOPTS.SPANAUTH = *NONE*
     .      .                  .
     .      .                  .
     .      .                  .
The format of the CNMSTYLE statements presented in the generated report includes the following fields:
Member
Member name containing the statement
Line#
Line number within the member where the CNMSTYLE statement is located. If a statement is a continuation statement, only the line number where the statement begins is listed.
Indicators
Lists information about the statement. This information is formatted in the following way:
R CCCCCC
where R represents the Resolve indicator and CCCCCC represents the Condition indicator:
Resolve
Indicates whether the given CNMSTYLE statement was modified by the report generator. A specification of Y indicates that the statement was modified. For example, a symbolic variable was substituted or an autotask statement that uses the question mark (?) feature was resolved.

If the resolve field has no value listed, no modifications were made to the statement.

Condition
Indicates that a condition is required for the listed CNMSTYLE statement to be active, such as a tower that must be enabled. If only one tower is required to be enabled the condition field is set to the required tower name. The first 10 characters of the tower name are listed. If more than one tower must be enabled or if some other condition must be met, the condition field is set to four asterisks (****).

If the condition field has no value listed, no conditions are required for the statement to be active.

Statement
Lists the CNMSTYLE statement and its value. Extra spacing in the statement might be removed, along with any tower conditionals that are found at the beginning of the statement. Statements can be further modified by having values substituted into either the CNMSTYLE keyword or its value.

Values of CNMSTYLE keywords that contain passwords and other values critical to security are identified as a security risk and are listed in the report as four asterisks (****) to prevent unauthorized viewing.

The second section of the report lists CNMSTYLE statements for specific NetView functions. For example, Figure 2 lists statements for the hardware monitor (NPDA) component.

If a CNMSTYLE statement applies to multiple NetView functions, that statement is listed for each NetView function to which it applies. For example, the TOWER statement applies to both the hardware monitor and the session monitor, and various other NetView functions.

Within a function, the most critical statements are listed first, followed by less critical statements. NetView functions are presented in the report alphabetically.

Figure 2. NetView Function Information
 Statements for function: Hardware Monitor (NPDA)

 Member   Line# Indicators   Statement
 -------- ----- ------------ --------------------------------------------------
 CNMSTYLE   747              TOWER = *SA *AON *MSM *Graphics NPDA NLDM
                              | TCPIPCOLLECT *AMI *TARA *DVIPA *TEMA *IPMGT
                              | *NVSOA DISCOVERY *ACTIVEACTIVE
 CNMSTYLE  1701              TASK.BNJMNPDA.INIT = N
 CNMSTYLE  1690              TASK.BNJDSERV.INIT = N

 CNMSTYLE  2733              NPDA.ALCACHE = WRAPCNT
 MYINCLUD    18   NPDA       NPDA.ALCACHE = 500

 CNMSTYLE  2749              NPDA.ALERTFWD = SNA-MDS-LOGONLY
 CNMSTYLE  2807              NPDA.ALERTLOG = RANDRANG
 CNMSTYLE  2783              NPDA.ALRTINFP.RECORD = Yes
 CNMSTYLE  2793              NPDA.ALT_ALERT = DOMAIN
 CNMSTYLE  2864              NPDA.AUTORATE = 1
 CNMSTYLE  2701              NPDA.DSRBO = 5
 CNMSTYLE  2693              NPDA.DSRBU = 5
 CNMSTYLE  2901              NPDA.ERR_RATE = 10 50
 CNMSTYLE  2708              NPDA.MACRF = LSR
 CNMSTYLE  2758              NPDA.MDSIND = Yes
 CNMSTYLE  2686              NPDA.PDDNM = BNJLGPR
 CNMSTYLE  2714              NPDA.PNA = No
 CNMSTYLE  2873              NPDA.PRELOAD_BER = No

 CNMSTYLE  2720              NPDA.REPORTS = OFF
 CNMSTUSR    14              NPDA.REPORTS = ON

 CNMSTYLE  2687              NPDA.SDDNM = BNJLGSE
 CNMSTYLE  2728              NPDA.TECROUTE = IHSATEC
 MYINCLUD    17   NPDA       NPDA.W.1 = AL 500
 CNMSTYLE  1846              function.autotask.HMONdbMaint = DBAUTO2  

The third section of the report lists the auxInitCmd statements and the user-defined statements, as shown in Figure 3. The auxInitCmd statements are listed in the order they are encountered in the CNMSTYLE member.

The statements listed under User-Defined CNMSTYLE Statements are not recognized by the CNMSTYLE report generator as belonging to a specific NetView function or to general NetView information in the first section of the report. For example, you can define an autotask named OPAAA01 in the following way:
%> IF TOWER('NPDA') THEN DO;
function.autotask.MyAutoOp = OPAAA01
%> END;       
When you do this, the function.autotask.MyAutoOp statement is listed as a user-defined statement as shown in Figure 3:
Figure 3. auxInitCmd Statements and User-defined Statements
auxInitCmd Statements

 Member   Line# Indicators   Statement
 -------- ----- ------------ --------------------------------------------------
 CNMSTYLE  4633              auxInitCmd.A = MSG SYSOP,Auxiliary commands beginn
                              |ing.
 CNMSTYLE  4636   NLDM       auxInitCmd.SNLDM = STARTCNM NLDM
 CNMSTYLE  4637   NPDA       auxInitCmd.SNPDA = STARTCNM NPDA
 CNMSTYLE  4638              auxInitCmd.POLICY = EXCMD ?Policy,EZLEANTL
 CNMSTYLE  4639   DISCOVERY  auxInitCmd.ZDISC = EXCMD ?Policy,CNMEERSC
 MYINCLUD    16   NPDA       auxInitCmd.BB = MSG SYSOP,NPDA will be activated

 User-Defined CNMSTYLE Statements

 Member   Line# Indicators   Statement
 -------- ----- ------------ --------------------------------------------------
 CNMSTYLE   361              AUTOTASK.?Helper.Console = D761CON
 CNMSTYLE  1079              AUTOTASK.?APSERV.Console = *NONE*
 CNMSTYLE  1080              AUTOTASK.?APSERV.InitCmd = APSERV xyz
 CNMSTYLE  1090              AUTOTASK.?SMF30.Console = *NONE*
 CNMSTYLE  1091              AUTOTASK.?SMF30.InitCmd = CNMSMF3R
 MYINCLUD    15   NPDA       function.autotask.MyAutoOp = OPAAA01                         

The fourth section of the report lists Data REXX statements, as shown in Figure 4. During report processing, Data REXX statements are ignored. These statements are listed in the report in the order that they are encountered in the CNMSTYLE member. Only the first 63 characters of each Data REXX statement are placed in the report. CNMSTYLE statements within a %DATA portion of a Data REXX block that are affected by an IF-THEN statement are also listed to help you understand which CNMSTYLE statements are impacted by your Data REXX statements.

Figure 4. Data REXX Statements
Data Rexx Statements

 Member   Line# Statement
 -------- ----- ---------------------------------------------------------------
 CNMSTASK     1 /*%DATA REXX --------------------------------------------------

 CNMSTASK    21 /*%LOGIC ------------------------------------------------------
 CNMSTASK    22 IF  TYPE() < 'RMT' THEN
 CNMSTASK    23  DO;
 CNMSTASK    24   polAuto = cglobal('CNMSTYLE.AUTO.POLICY')
 CNMSTASK    25   aonAuto = cglobal('CNMSTYLE.AUTO.AON')
 CNMSTASK    26   IF aonAuto = '' THEN aonAuto = 'AUTOAON'   /* Default name
 CNMSTASK    27   IF polAuto = '' THEN polAuto = 'AUTOAON'   /* Same default
 CNMSTASK    28   IF  polAuto ^= aonAuto THEN

   .         .        .
   .         .        .
   .         .        .

 MYINCLUD     1 /*%DATA REXX --------------------------------------------------

 MYINCLUD    13 %> IF TOWER('NPDA') THEN DO;

 MYINCLUD    15 function.autotask.MyAutoOp = OPAAA01
 MYINCLUD    16 auxInitCmd.BB = MSG SYSOP,NPDA will be activated
 MYINCLUD    17 NPDA.W.1 = AL 500
 MYINCLUD    18 NPDA.ALCACHE = 500

 MYINCLUD    20 %> END;

 CNMSTGEN     1 /*%DATA REXX --------------------------------------------------

 CNMSTGEN    13 %> IF domain() = 'CNM01' THEN  /* Never true! Data Rexx runs...
 CNMSTGEN    14 %>                     /* earlier than resolution of system-sym
 CNMSTGEN    15 %>  'STYLEMSG = Illustration only. You will never see this.'
Note: Only the first 63 characters of each Data REXX statement are displayed.
The following return codes are set by CNMECRG:
0
Successful completion; a file was created in DSIWRIT
4
Minor errors encountered; a file was created in DSIWRIT
8
Major error encountered; a file was not created in DSIWRIT
For non-zero return codes, error messages can be found in the CNMSJCRG job log.


Feedback