Phase 7: Handling MSGCLASS Output

This is an optional phase of the project plan. In this phase, we will discuss how to handle the MSGCLASS output (JCL listings) produced at your site.

We will discuss how to handle MSGCLASS output and similar reports using Control-D generic decollating missions. In this phase, you will set up generic decollating missions to handle this type of output. We will examine the options you have for setting up generic decollating missions and detail what the generic decollating mission workflow is. We will also offer recommendations regarding the implementation of generic processing.

Some of the questions we will be answering in this phase are:

  • How can I handle the MSGCLASS output?

  • What is a generic decollating mission?

  • What are the differences between generic and regular decollating missions?

  • How do generic decollating missions work?

  • How do I control generic processing?

  • How do I schedule a generic decollating mission?

  • What are the parameters of a generic decollating mission?

  • What is the workflow of a generic decollating mission?

Inputs

Before you start this phase you should have inserted recipient information into the recipient tree (Phase 2).

Outputs

At the end of this phase you will have:

  • Defined and tested the generic decollating missions.

  • Defined appropriate authorizations in the recipient tree for online access to MSGCLASS output.

Generic Decollating Missions Overview

You can use Control-D generic decollating missions to control the MSGCLASS output produced by your batch jobs.

Control-D can process the JCL output produced to the spool and store it in compressed datasets. You have the option to store the output in a special CDAM file designed specifically for small outputs. You can then keep the MSGCLASS output online, available for viewing and problem determination, and archive the output to tape or cartridge. If the outputs have been deleted from the online environment and are required during the archive period, they can be easily restored.

Benefits of MSGCLASS Archive

We recommend that you handle all the MSGCLASS output produced by your production batch work by using Control-D generic decollating missions. You have the ability to view the JCL online, apply supplied rulers when viewing to check for error situations, and archive the JCL. If you currently print all JCL listings, this practice can be discontinued once Control-D is processing the outputs. If you require a hard copy at any time you can use the Control-D Online facilities to produce one.

The benefits of Control-D handling MSGCLASS output are listed below:

  • No printing is required.

  • No splitting of JCL output occurs.

  • No filing of JCL listings is necessary.

  • No physical storage area required for JCL is necessary.

  • Secure backup of JCL is provided.

  • Easy retrieval of JCL for problem determination is provided.

  • Online viewing selection criteria can be used to identify erroneous jobs (for example, show all the jobs that failed with condition code SB37).

  • Online viewing of special rulers can be used to extract all the erroneous messages from a job (for example, show all invalid condition codes produced).

  • Installation security package can control access to JCL listings.

What is a Generic Decollating Mission?

We use a special type of decollating mission to handle the MSGCLASS output produced by JES. The missions we use are called generic decollating missions.

We use the name "generic" to describe these missions because, usually, a generic mission will handle output with variable job names that have the same distribution requirements (for example, all the JCL listings beginning with job name characters JAC are assigned to the Accounts Application Programming recipients).

Generic Versus Regular Decollating Missions

Standard report decollating missions can handle output from the spool or from CDAM datasets. They are executed once to handle the output produced by a specific job name (unless defined as cyclic report decollating missions, with a task type of CRP).

The generic decollating missions monitor specific JES classes (assigned in member CTDPARM in the IOA PARM library) for the appearance of Non-Held output. When an output appears, Control-D looks for a generic mission to process the output.

The table below compares the differences between standard and generic decollating missions:

Table 36 Differences Between Standard and Generic Report Decollating Missions

Standard Report Decollating Mission

Generic Report Decollating Mission

Decollates from the spool or CDAM.

Decollates from spool only.

Decollates from any specified class.

Decollates only from the defined generic classes.

Decollates Held and Non-Held output.

Decollates Non-Held output only.

Handles specific job names only.

Can use job name masks.

Executes once (unless the task type is set to CRP).

Executes every time a job name match is found.

Set Installation Options

The Generic Missions analyze specific JES classes for Non-Held output. These classes are defined in the CTDPARM member of the IOA PARM library. These are the classes that Control-D monitors – when an output appears in these classes, Control-D will search for a generic decollating mission to handle the output. You can specify up to eight classes for generic processing.

Installation Parameters (CTDPARM)

Copy
BROWSE -- IOAP.PROD.PARM(CTDPARM)      - 01.03 ------ LINE 00000023 COL 001 080
COMMAND ===>                                                  SCROLL ===> CSR
              DFLTRST=RST0060M,  DEFAULT RESTORE MISSION NAME         *00450001
              DFLTUSR=SYSTEMS,   FUTURE USE - DEFAULT USER            *00460000
              FCBON=N,           FUTURE USE - FCB ON/OFF INDICATOR    *00480000
              GENCLAS=PW,        GENERIC CLASSES                      *00490002
              ESCAPCL=A,         SYSOUTS ESCAPE CLASS (FOR GENERIC)   *00490101
              JES3ESC=,          JES3 ESCAPE CLASS (FOR GENERIC)      *00491001

You should now decide and define which classes will be used for generic processing.

Define Generic Decollating Missions

You use the Report Decollating Missions Definition facility (Option R in the IOA Primary Option menu) to define generic missions in the decollating mission library. You use parameter GENERIC of the decollating mission parameters to specify that the mission is a generic mission.

When a generic decollating mission executes, the output is handled according to the instructions defined in the generic decollating mission parameters. Using a job name mask we can define decollating instructions that are the same for different job names.

Generic Report Decollating Mission Definition Screen

Copy
 ----- CONTROL-D/V CATEGORY AAA                  JOB  PBR*     ----------- (R.S) 
 COMMAND ===>                                                    SCROLL===> CRSR
 +-----------------------------------------------------------------------------+
   CATEGORY PROD                       JOBNAME PBR*     GENERIC Y MONITOR        
   OWNER    M90          TASKTYPE REP  GROUP                      JOBID          
   DESC                                                                         
   ===========================================================================  
   DAYS                                                          DCAL           
                                                                      AND/OR    
   WDAYS                                                         WCAL           
   MONTHS  1- Y 2- Y 3- Y 4- Y 5- Y 6- Y 7- Y 8- Y 9- Y 10- Y 11- Y 12- Y       
   DATES                                                                        
   CONFCAL          SHIFT   RETRO N MAXWAIT 00                                  
   MINIMUM          PDS                                                         
   ===========================================================================  
   IN                                                                           
   WHEN IN QUEUE   CLS   TIME FROM      UNTIL      INTERVAL      PRIORITY       
   DSN                                                                          
   ===========================================================================  
   OUT                                                                          
   SHOUT WHEN                                      TO                  URG      
    MSG                                                                         
   ===========================================================================  
   DEF COPIES    LVL    USER                      DEST          MAX COPIES      
   ===========================================================================  
   ON CLASS      = P         EXTWTR               DEST          FORM            
   PRT COPIES    LVL    USER                      DEST          MAX COPIES      
       PRINT/CDAM PARMS =                                                       
   WHEN LINE       -       COL       -       PRINT   REF NXT   CT     AND/OR    
        STRING =                                                                
     DO USER    =                           LVL    LINE        COL       -   
                        S A T         SYNONYM =       CONCAT =          
     DO NAME     = JCL LISTING                  LINE     COL     -              
     DO BACKUP   = BKP0031D                                                     
     DO                                                                         
 ======= >>>>>>>>>> END OF JOB/REPORT PARAMETERS FOR THIS CATEGORY <<<<<<< =====
FILL IN REPORT DEFINITION. CMDS: EDIT, SCHED, SHPF, PATH               10.51.22

In the previous example, all output written to the generic class of P with a job name starting with the letters PBR, is assigned to the PRODCNTL recipient.

Generic Job Names

When the report decollating mission is defined as generic, parameter JOBNAME can contain a job name mask. This mask will be compared with the job names appearing on the generic output classes. For example:

Table 37 Job Name Masking in Generic Decollating Missions

Jobname Mask

Selected Job Names

*

All jobs will be selected for processing.

PBL*

All jobs beginning with PBL will be selected.

P??BKUP

All jobs beginning with P with any two characters following and ending in BKUP will be selected.

P*B*

Any jobs with a P followed anywhere by a B are selected.

Control the Generic Process

You can control generic processing by turning it off and on. You use operator commands to perform this process. By default, generic processing will be started when Control-D is started (unless it was previously deactivated by an operator command).

One reason that generic processing may be deactivated is if the Control-D New Day Procedure (CTDNDAY) fails to schedule the Generic Missions to the Active Missions file. When generic processing is deactivated, the Generic Missions will not select outputs from the defined generic classes.

The operator command to stop generic processing is:

Copy
F CONTROLD,STOPGEN

The operator command to start generic processing is:

Copy
F CONTROLD,STARTGEN

Only in extreme situations should generic processing be stopped and started manually.

Generic Processing Workflow

The generic decollating mission workflow of Control-D is shown in Figure 14. It shows the stages involved from initially scheduling a Generic Decollating Mission through to processing the output. There are certain phases of the workflow that you have to decide how to perform for your site. We will examine each phase in detail:

  1. MSGCLASS output written to spool.

  2. Schedule generic decollating mission to the Active Missions file.

  3. Select generic decollating mission for execution.

  4. Execute generic decollating mission instructions.

  5. Write output to a collective CDAM file.

  6. Create entries in the Active User Report List file.

Figure 37 Generic Decollation Workflow

MSGCLASS Output Written to Spool

DAILY SUBSYSTEM in the above figure refers to the New Day procedure and the programs it calls.

MSGCLASS output is created for all jobs that run under JES. In installation parameter GENCLAS in member CTDPARM, you specify which classes are assigned for generic processing. You should ensure that the MSGCLASS output you want to handle is written to one of the defined generic classes as Non-Held output.

Normally, you specify to which class to assign the JCL output using parameter MSGCLASS of the JCL JOBCARD. For example:

Sample JCL Statements

Copy
//M90TEST  JOB ,IOA,CLASS=A,MSGCLASS=W//*
//STEP1    EXEC PGM=IEBGENER
//SYSUT1   DD  DISP=SHR,DSN=IOAP.PROD.SAMPREPS(REPORT1)
//SYSUT2   DD  SYSOUT=D
//SYSIN    DD  DUMMY
//SYSPRINT DD  SYSOUT=*

Schedule Generic Decollating Missions to the Active Missions File

Generic Missions must be scheduled to the Active Missions file to execute. The mechanism used to place a copy of the generic decollating mission definitions on the Active Missions file is a special scheduling program called by the New Day procedure (CTDNDAY).

You can schedule generic decollating missions using any of the methods detailed in Phase 3 for regular report decollating missions. We recommend that you use member GENLIST read by the CTDNDAY procedure to schedule generic missions. Control-D will analyze a supplied list of generic missions and determine which ones should be scheduled to the Active Missions file. The reason for this recommendation is that if the CTDNDAY procedure fails to schedule the generic missions, it will automatically deactivate generic processing. The other methods of scheduling will not do this if an error occurs.

MSGCLASS output that is written to a generic class before a generic decollating mission is scheduled, or while generic processing is deactivated, will be processed when the relevant mission is scheduled, or when generic processing is restarted. If generic processing is stopped for any reason, a highlighted message is written to the console every ten minutes. This is to make you aware that the spool might be filling up with MSGCLASS output.

Select Generic Decollating Missions for Execution

The Control-D monitor analyzes the Active Missions file at the interval specified in installation parameter INTERVALD in member CTDPARM, and selects missions for execution once all Runtime dependencies have been met. Normally, for Generic Missions you will not define any dependency parameters.

Execute Generic Decollating Mission Instructions

Whenever a Non-Held output appears on the spool in one of the defined generic classes, the Control-D monitor looks for a generic decollating mission that matches the job name. If a match is found, the sysout is decollated according to the defined mission parameters and deleted from the spool. If the $SYSIN system variable is set to Y in the decollation definition, then in-stream data (SYSINs) are also decollated. If no match is found, Control-D changes the priority of the sysout and continues to analyze the generic classes.

In JES3 sites, unmatched outputs written to the generic class are directed to another class as specified in parameter ESCAPCL in member CTDPARM.

Active Missions File Display

Copy
 -------------------- CONTROL-D ACTIVE MISSIONS ENVIRONMENT -----------------(A)
 COMMAND ===>                                                    SCROLL===> CRSR
 O NAME     ODATE  TYP OWNER    ------------------STATUS ------------------ UP
   BKP0031D 020400 BKP M22      WAIT PROCESS
   RST0060M 020400 CRS M22      WAIT PROCESS
   RSTADHOC 020400 RST M22      WAIT PROCESS
   JBR3450  020400 REP M90      J00469 ENDED "OK"
   PB*      020400 REP M83      GENERIC WAITING FOR JOB
   PAC1020D 020400 REP M90      J09381 ENDED "OK"
   SL*D     020400 REP M83      GENERIC WAITING FOR JOB
   LAS132   020400 PRT M90      PAGES= 119 ENDED "OK"
   IMP132   020400 PRT M46      WAIT PROCESS
   M69BX016 030400 REP M69B     J03081 ENDED "OK"
   M83X16   030400 REP M83      J03135 ENDED "OK"
  ======== >>>>>>>>>>>>>>>>>>> BOTTOM OF ACTIVE MISSIONS LIST <<<<<<<<<<<<<< ===
OPT ? WHY H HOLD D DELETE F FREE L LOG Z ZOOM R RERUN P PRINT CONTROL   12.20.47

Write Output to a Collective CDAM File

The default working practice of Control-D is to store every JES dataset created on the spool as a CDAM file. This is acceptable for standard reports, but for small reports like MSGCLASS output, this becomes a resource overhead.

Each MSGCLASS output created consists of at least three small separate JES datasets. Using the default workings of Control-D, three CDAM datasets would be created (one for each JES dataset), three $SYSDATA entries would be created (one describing each CDAM dataset), and a variable number of user entries would be created (depending on how many recipients are allocated the report). For example:

$SYSDATA Display of MSGCLASS Output

Copy
 ACTIVE LIST    <D> JOB M90      REP                      USR $SYSDATA CHILD (U) 
 COMMAND ===>                                                    SCROLL===> CRSR
 O JOB       JNUM PROCSTEP PGMSTEP  DDNAME    PAGES    LINES DECOLLATION-TIME
   M90ACCT  22325          JES2     JESMSGLG      1       14 10/05/00 - 15:54
   M90ACCT  22325          JES2     JESJCL        1        9 10/05/00 - 15:54
   M90ACCT  22325          JES2     JESYSMSG      1       20 10/05/00 - 15:54
   M90ACCT  22325          STEP1    SYSUT2        9      427 10/05/00 - 15:54
   M90ACCT  22325          STEP1    SYSPRINT      1        4 10/05/00 - 15:54
 ======= >>>>>>>>>>>>>>>   B O T T O M    O F    L I S T   <<<<<<<<<<<<<<< ======
P PRINT     V VIEW     U UPDATE     I INSERT     A ADD INFO     E EDIT
X INDEX     N NOTE     G GIVETO     D DELETE     Q QUICK ACCESS       12.09.25

In the above display we can see the separate $SYSDATA entries created in the Active User Report List file using the default process of Control-D.

Allocation Options

To overcome potential resource problems when handling MSGCLASS outputs, we use a special CDAM control parameter called ALLOCOPT. This parameter can only be used when decollating output from the spool. It tells Control-D to store the output retrieved from the spool in a special way. Instead of creating one CDAM file per JES dataset, the ALLOCOPT parameter tells Control-D to store the report output in a special communal CDAM dataset.

When handling MSGCLASS output, we recommend that you use the statement ALLOCOPT=JOBSDSN1. This will result in many MSGCLASS outputs being grouped together into one CDAM dataset that acts as a repository for these small outputs. Control-D takes care of the allocation and creation of these "super" CDAMs as they fill up.

The ALLOCOPT parameter is coded in the generic decollating mission parameters in the PRINT/CDAM field as shown below:

Generic Decollating Mission Allocation Option

Copy
   ON CLASS      = P         EXTWTR               DEST          FORM           
   PRT COPIES    LVL    USER                      DEST          MAX COPIES      
       PRINT/CDAM PARMS = ALLOCOPT=JOBSDSN1                                     
       PRINT/CDAM PARMS =                                                       
   WHEN LINE       -       COL       -       PRINT   REF NXT   CT     AND/OR    
        STRING =                                                                
     DO USER     = PRODCNTL              LVL    LINE     COL     -     S   T    
                                        SYNONYM =       CONCAT =                
     DO NAME     = JCL LISTING                  LINE     COL     -              
     DO BACKUP   = BKP0031D                                                     
     DO                                                                         
 ======= >>>>>>>>>> END OF JOB/REPORT PARAMETERS FOR THIS CATEGORY <<<<<<< =====

Allocation Options Comparison

A comparison between some of the allocation options is shown below. We are comparing the normal way in which Control-D handles report output, the ALLOCOPT=ONEDSN option that groups output at job level, and the ALLOCOPT=JOBSDSN1 option that groups output in a "super" CDAM. Assume that one thousand batch jobs are running each night. The table below shows the resources used for each option:

Table 38 Comparison of Allocation Options (Based On 1,000 Jobs Per Night)

 

NORMAL

ONEDSN

JOBSDSN1

JES DATASET

3000+

3000+

3000+

CDAM FILE

3000+

1000

1

$SYSDATA ENT

3000+

1000

1000

USER ENT

1000+

1000+

1000+

VTOC ENT

3000+

1000

1

TRKS RQD

3000+

1000

180

BMC strongly recommends that generic decollating missions handling MSGCLASS output uses the JOBSDSN1 allocation parameter. This will prevent and save on resources used. It cuts down on the number of VTOC entries, prevents fragmentation problems, cuts down on the number of records stored in the Control-D user files and reduces the amount of space required to hold the MSGCLASS output.

For further information on the allocation options, see the CDAM chapter in the Control-D and Control-V User Guide.

Create Entries in the Active User File

The result of the decollation process is that entries are created in the Active User file. These entries are created as records in a VSAM file that details which parts of the CDAM file are assigned to each user. As soon as a decollation has been performed, the MSGCLASS entries are available for online viewing, archiving and if absolutely necessary, printing.

Recommendations

BMC recommends that after initial testing you set up the generic missions to handle the production MSGCLASS output. This will mean that the MSGCLASS output will be handled by Control-D from this point onwards. This will provide some data for your backup missions and Control-D utilities to process. It also means that there is one less task to do when Control-D goes "live" in production.

You may choose to handle the MSGCLASS output of the selected pilot application only, or you may want to handle all the production MSGCLASS using generic missions. The difference in time required between the options is minimal.

The examples we have covered in this phase have dealt purely with generic missions and MSGCLASS output. You may have other reports from the pilot application that are suited to the generic process. You should set up appropriate generic missions to handle these.

You should now decide which MSGCLASS outputs you will handle during the initial implementation and set up the required generic missions to process this output.

Provide Access to Archived MSGCLASS

You should ensure that anyone requiring access to Control-D archived MSGCLASS is authorized appropriately in the recipient tree. You will be assigning the MSGCLASS output to one or more recipients. You can assign the output to the PRODCNTL recipient that you defined during Phase 2. You should use the AUTHORIZE field of this recipient to authorize which userids can view the MSGCLASS output.

You should now define authorizations in the recipient tree for the appropriate userids.

Review

During this phase, you have learned the differences between generic and regular decollating missions, decided which classes should be used for generic processing, reviewed the parameters required for a generic mission and reviewed the workflow of the generic process.

Before you continue, you should have:

  • Defined, tested and implemented the generic decollating missions.

  • Set up appropriate authorizations in the recipient tree for MSGCLASS access.