Previous Topic: Installing, Enabling, Disabling, Reinitializing and Dynamic Control

Next Topic: Chargeback Algorithms Used

Customization

SMF/E is customized by assembling and link editing a customization table. The load module name of the table is then specified to the SMF/E initialization program when SMF/E is enabled. This table controls the SMF/E billing algorithm. A sample table is provided that is used during the installation verification. Use this table as a starter to build your customized table. The source member name is YJ2000 in CAJRSAMP. The JCL for customization can be found in CAJRJCL as member SMFECUST.

The assembled table is a collection of five subtables.

All five subtables are assembled together in a single CSECT and form a single load module. Each subtable is built from three macros:

The format of the CAIJS01 macro specification is fixed for each of the five subtables. You must code one of the following values at the beginning of each of the five subtables according to the subtable you are generating.

CAIJS01  PRIORITY,DEFAULT
CAIJS01  JOBCLASS,DEFAULT
CAIJS01  CONFIG,RANGE
CAIJS01  RATE
CAIJS01  TSORATE

Each of the subtables must be terminated with a CAIJS03 macro.

Coding the CAIJS02 macro is more complex than either of the other two. The format varies depending upon which subtable is generated.

  1. CAIJS02 statements in the CONFIG subtable have the format:

    CAIJS02 hexlow,hexhigh,device

    Where hexlow and hexhigh are three-digit hexadecimal channel-unit addresses or four-digit hexidecimal device number and provide the boundaries of a range for that device type. The device is the four-character device code assigned to each device within the range. Valid device types match the CA JARS CONFIG statement options:

    The order of CAIJS02 statements is not important, except that if two CAIJS02 statements include the same address, the device is taken from the first CAIJS02 statement.

  2. CAIJS02 statements in the RATE and TSORATE subtables have the format:

    CAIJS02 keyword,factor (or rate)

    The keyword portion of the CAIJS02 statement is a self-defining character string constant and must have one of the values shown in the example which follows this discussion. The sample table shown here and distributed with the product contains the full set of possible keyword values. Generally, the factor value names a rate or factor that you are specifying. All factors should be specified or set to zero if charging on the particular element is not desired.

  3. CAIJS02 statements in the PRIORITY and JOBCLASS tables have the format:

    CAIJS02 value,factor

    Both the value and factor parameters must be specified. Values in the PRIORITY table must be numeric priority values. Values in the JOBCLASS table must be single character job classes. The factor is a weight which is applied to the job charge. It is specified as a percentage where 100% means that the weight has no effect, 50% would reduce the charge in half, and 200% would double the charge. A sample table is provided on the following page. This table is included in CAJRSAMP and should be used as your starter table.

    YJ2000   TITLE 'JARSTAT RATE TABLES'
    YJ2000   CSECT
    *                                    JOB PRIORITY TABLE
             CAIJS01 PRIORITY,DEFAULT
             CAIJS02 0,100               PRIORITY 0 OR ANY PRIORITY NOT IN
    *                                      THE TABLE BILLS AT 100% X STD
             CAIJS02 13,150              BILL PRIORITY 13 AT 150% X STD
    *        .
    *        .
    *        .
             CAIJS03
    *
    *                                    JOB CLASS TABLE
             CAIJS01 JOBCLASS,DEFAULT
             CAIJS02 Z,100               BILL JOB CLASS Z, OR ANY CLASS
    *                                      NOT IN THE TABLE, AT 100% X STD
             CAIJS02 A,100               BILL JOB CLASS A AT 100% X STD
    *        .
    *        .
    *        .
             CAIJS03
    *
    *
    *                                    RATE TABLE
             CAIJS01 RATE
    *
             CAIJS02 BASIC-PROCESSOR-RATE,1000     9999 DOLLARS/HOUR
             CAIJS02 CORE-FACTOR,1.00              99V99 DOLLARS/1K CORE HR
             CAIJS02 ELAPSED-FACTOR,000            999 PERCENTAGE
             CAIJS02 TOTAL-CPU-FACTOR,100          999 PERCENTAGE
             CAIJS02 SRB-CPU-FACTOR,000            999 PERCENTAGE
             CAIJS02 TCB-CPU-FACTOR,000            999 PERCENTAGE
             CAIJS02 READER-I/O-FACTOR,000         9V99 DOLLARS/1000 EXCPS
             CAIJS02 PRINTER-I/O-FACTOR,000        9V99 DOLLARS/1000 EXCPS
             CAIJS02 PUNCH-I/O-FACTOR,000          9V99 DOLLARS/1000 EXCPS
             CAIJS02 TAPE-I/O-FACTOR,5.00          9V99 DOLLARS/1000 EXCPS
             CAIJS02 DISK-I/O-FACTOR,5.00          9V99 DOLLARS/1000 EXCPS
             CAIJS02 OTHER-I/O-FACTOR,000          9V99 DOLLARS/1000 EXCPS
             CAIJS02 CORE-INDICATOR,0              '0' = CORE ALLOCATED
    *                                              '1' = CORE USED
    
             CAIJS03
    
    *
    *                                 TSORATE TABLE
             CAIJS01 TSORATE
    *
             CAIJS02 BASIC-PROCESSOR-RATE,1000     9999 DOLLARS/HOUR
             CAIJS02 CORE-FACTOR,1.00              99V99 DOLLARS/1K CORE HR
             CAIJS02 ELAPSED-FACTOR,000            999 PERCENTAGE
             CAIJS02 TOTAL-CPU-FACTOR,100          999 PERCENTAGE
             CAIJS02 SRB-CPU-FACTOR,000            999 PERCENTAGE
             CAIJS02 TCB-CPU-FACTOR,000            999 PERCENTAGE
             CAIJS02 READER-I/O-FACTOR,000         9V99 DOLLARS/1000 EXCPS
             CAIJS02 PRINTER-I/O-FACTOR,000        9V99 DOLLARS/1000 EXCPS
             CAIJS02 PUNCH-I/O-FACTOR,000          9V99 DOLLARS/1000 EXCPS
             CAIJS02 TAPE-I/O-FACTOR,5.00          9V99 DOLLARS/1000 EXCPS
             CAIJS02 DISK-I/O-FACTOR,5.00          9V99 DOLLARS/1000 EXCPS
             CAIJS02 OTHER-I/O-FACTOR,000          9V99 DOLLARS/1000 EXCPS
             CAIJS02 CORE-INDICATOR,1              '0' = CORE ALLOCATED
    *                                              '1' = CORE USED
             CAIJS02 TPUT-TGET-RATE,1.00           99V99 DOLLARS/1000
             CAIJS02 CONNECT-TIME-RATE,5.00        99V99 DOLLARS/HR
             CAIJS02 ACTIVE-TIME-FACTOR,100        PERCENTAGE
    
    
             CAIJS03
    *
    CONFIG TABLE                     (illustration purposes only)
             CAIJS01 CONFIG,RANGE
             CAIJS02 150,15B,DISK        DISK DEVICE ADDRESS RANGE
             CAIJS02 180,183,TAPE        TAPE DEVICE ADDRESS RANGE
             CAIJS02 380,383,TAPE        TAPE DEVICE ADDRESS RANGE
             CAIJS02 00E,00E,WRIT        PRINTER DEVICE ADDRESS RANGE
             CAIJS02 00D,00D,PUNC        PUNCH DEVICE ADDRESS RANGE
             CAIJS02 00C,00C,READ        READER DEVICE ADDRESS RANGE
             CAIJS02 450,45F,OTHE        OTHER DEVICE ADDRESS RANGE
    
    
             CAIJS03
             END
    

This table should be assembled and link edited into a library that is available to SMF/E activation via STEPLIB or LNKLST.