

Administration of the Central Component › Batch Jobs › Job APCXJLIB › Perform Alert Management - Step APCBAALM
Perform Alert Management - Step APCBAALM
Step APCBAALM of APCXJLIB performs alert management for changed load modules.
- Sublevel modules with a changed state are reset.
- All records from load module files with state changed are read into a module table.
- If sub/main program external reference file APCSPMP is not used, all job steps are read from the job file and a binary search of the module table is performed for all relevant programs. When the search is successful, the module name is marked in the table.
- All unmarked modules in the table are checked. If the linkdate is not older than one month, the modules are marked in the table.
- All unmarked modules in the module table is reset from state changed to unchanged.
- OPTIONAL INTERFACES are performed.
- If the DD name APCDAY allocates a PS file with a fixed blocked record length of 80, edit the Parm file and provide record JPxx, where xx indicates the offset (relative to zero) of the job name in your scheduler day plan file.
- Module changed interface is performed. If a user already has an overview of all changed programs with the change date or if program changes are not reflected in load modules (that is, execution is done through a loader or a language interpreter is used), a file that is defined at DD statement APCCHLMO is used. If used, file APCCHLMO should be defined as follows:
|
Organization
|
PS
|
|
|
Record length
|
16 bytes
|
|
|
Record layout
|
1-8
|
program name
|
|
|
9-16
|
Change date(YYYYMMDD)
|
|
Sort order
|
entire record, ascending
|
|
- Cross referencing subprograms interface is performed. A file that is defined at DD statement APCSPMP establishes which main program has to be measured if a subprogram has been changed or inserted. This section is applicable only to programs that are called dynamically. This file can allow users to access cross reference information about subprograms that are being called in main programs (see DSN=NULLFILE). The file should be defined as follows:
|
Organization
|
PS
|
|
|
Record layout
|
1-8
|
subprogram name
|
|
|
9-16
|
main program name
|
|
Sort order
|
|
|
|
|
entire record, ascending
|
|
- Each record within file APCSPMP contains names for both the subprogram and the main calling program. Because a subprogram may be called from many different main programs, the entire record is used as a sort field. If you have not defined a reference file, Performance Management Assistant detects program modifications in subprograms but are not able to measure them, because it cannot find any JCL to associate modified subprograms with their main calling programs.
- If a subprogram is changed, only one main program is measured even if the subprogram is used in several main programs. If APCSPMP is empty, all changed modules are checked to see if they exist in the job file. If not, the changed module is reset.
- All records from load module file CAMAT.PMA.KSDSLMO are read. All records with a changed state are saved in a table of up to 4096 entries. Next, all records from the day plan (DD statement APCDAY) are read. Each job name from the day plan is the entry key that is used to access the batch job step file, CAMAT.PMA.KSDSJOB. Now all corresponding programs for job steps that are associated with jobs in the day plan are checked against the load module table by using a binary search. If the search is successful, the importance of that job step is calculated as the sum of the base 2 logarithm of service units, elapsed time, and job step frequency. The importance is used to identify and rank job steps consuming the most resources. The following algorithm is used for calculating importance:
importance = log2 (srvu) + log2 (# of executions per month) + log2 (elpsd)
This calculated importance factor is used to sort entries in the load module table and determine which multiple-use programs are of greatest importance. At end of file processing of the day plan file, this load module table becomes the source of job step alerts, sorted by importance. The alert type used is MODC for module changed. The alert state is pending.
If there is no day plan file in use, step APCBAALM runs slightly differently. After a load module table is built, the batch job step file is read sequentially. The program name from each entry in the job step file is checked against the load module table using a binary search and if the search is successful, processing is identical to that described when a day plan file is used.
At the end of this procedure, the load module file (CAMAT.PMA.KSDSLMO) is updated to reset the state from changed to unchanged for all modules processed from the load module table.
- CA MAT requests for all pending alert entries are created, limited to the maximum number of requests defined by the user in parameters. First, all records from the alert file with a pending state, including previously created pending alert records-are read into the same table as above. Next, the day plan is read again and job names from the day plan will be used to search the table by using a binary search. If the search is successful, a measurement request (add and delete) for the alerted job step is generated. Program APCBAALM is finished at EOF of the day plan or when the CA MAT limit, defined by the user in parameters, is reached. If no day plan exists, all user alerts (with reason code USER) have a higher processing priority than generated alerts.
In additional, database maintenance is performed on control files for all scope of work definitions (Scope, CA MAT Scope, and TOP Scope) contained in the parameters. For more information, see the description of the APCXACAL maintenance part.
The following example shows an illustration of the JCL for job step APCBAALM.
//APCBAALM EXEC PGM=APCBAALM
//STEPLIB DD DSN=CAMAT.PMA.CEETLOAD,
// DISP=SHR
//APCPARAM DD DSN=CAMAT.PMA.PARMS,
// DISP=SHR
//
//*** SCHEDULER DAYPLAN FILE (FB,RECL=80)
//APCDAY DD DSN=NULLFILE,
// DISP=SHR
//APCCHLMO DD DSN=NULLFILE,
// DISP=SHR
//APCSPMP DD DSN=NULLFILE,
// DISP=SHR
//APCBJOB1 DD DSN=CAMAT.PMA.KSDSJOB,
// DISP=SHR
//APCBLMO1 DD DSN=CAMAT.PMA.KSDSLMO,
// DISP=SHR
//APCBALT1 DD DSN=CAMAT.PMA.KSDSALT,
// DISP=SHR
//APCBEXC1 DD DSN=CAMAT.PMA.KSDSEXC,
// DISP=SHR
//APCADDRQ DD DSN=CAMAT.PMA.ADDRQ,
// DISP=OLD
//APCDELRQ DD DSN=CAMAT.PMA.DELRQTOM,
// DISP=OLD
//APCREP DD SYSOUT=*
//APCEREP DD SYSOUT=*
//APCJLOG1 DD DSN=CAMAT.PMA.LOG,
// DISP=MOD
Copyright © 2012 CA Technologies.
All rights reserved.
 
|
|