Previous Topic: PRIORITY Statement

Next Topic: RJERATE Statement


RATE Statement

The RATE statement is optional. It introduces an accounting algorithm to CA JARS for computer billing or cost distribution purposes.

The RATE statement affects the weighting of computer resources in calculating the dollar charges or relative utilization percentages for a given report. The RATE statement may be omitted when no data elements involving charges or percentages are selected for a given report.

The CPU identification code associates each RATE statement with the appropriate input accounting data. Multiple RATE statements may be required for a given report, so data collected by different sources may be processed simultaneously, each using a different accounting algorithm.

The CPU identification on the RATE statement must match the corresponding CPU on the accounting records for the algorithm to apply. If an accounting record is encountered that contains a CPU other than one found on any RATE statement for a given report, the accounting algorithm parameters default to the values on the first RATE statement defined for that report. (Unless altered by use of the grouping feature, the CPU identification is the first character of the system identification field in the SMF record for z/OS; and the CPU identification of a VSE record placed there by the $JOBACCT data collection routine.)

The core factor on the RATE statement enables you to charge for the utilization of core storage for the duration of use. This is a dollar amount charged per 1K block of core allocated at the job step level.

The basic processor rate is the dollar amount per hour to be used in calculating the adjusted rate for each job step as follows:

Adjusted Rate = Basic Processor Rate +
                (Core Allocated x Core Factor)

The core indicator (position 80 on the RATE statement) can be set, changing the above calculation to take core used instead of core allocated.

The basic I/O rate is the dollar amount per hour to be used in calculating the I/O charge for each job step.

The time factors on the RATE statement enables you to weight or delete the various recorded times in calculating the processor time in hours as follows:

Processor Time     = Elapsed Time x Elapsed Time Factor     +
                     Total CPU Time x Total CPU Time Factor +
                     SRB CPU Time x SRB CPU Time Factor     +
                     TCB CPU Time x TCB CPU Time Factor

The OPTION statement, positions 53 through 57, can affect the contents of the TCB, SRB, and Total CPU fields and can therefore affect the calculated charge.

For non-z/OS records, SRB CPU time always equals zero and TCB CPU time equals total CPU time. For VSE records, overhead time is used instead of SRB CPU time and wait time is used instead of TCB CPU time. The time factors are percentages: 080 = 80%. Thus, it is possible to delete recorded times from the processor time calculation by setting the appropriate time factor to 000 (0%), or leaving the factor blank. Likewise, it is possible to calculate the processor time using the straight or unweighted times by setting the appropriate time factor to 100 (100%).

The user-defined processor time and adjusted rate calculate the processor charge for each job step as follows:

Processor Charge = Processor Time x Adjusted Rate

The I/O factors on the RATE statement weight or delete the various recorded I/O counts for different unit types in the calculation of I/O time in hours as follows:

                   (Reader I/O Count
I/O Time =         ─────────────────           +
                   Reader I/O Factor

                   Printer I/O Count
                   ─────────────────           +
                   Printer I/O Factor

                   Punch I/O Count
                   ─────────────────           +
                   Punch I/O Factor

                   Tape I/O Count
                   ─────────────────           +
                   Tape I/O Factor

                   Disk I/O Count
                   ─────────────────           +
                   Disk I/O Factor

                   Other I/O Count
                   ─────────────────            / 3600
                  Other I/O Factor)

The I/O factors define the number of counts recorded by the corresponding unit type to be equated to one second of I/O time. In this way, the counts for peripheral devices can be converted to chargeable time. You may charge for utilization of the various I/O devices according to how they are defined on the CONFIG statements. This gives you the flexibility of grouping the devices to conform to a desired accounting algorithm. Similarly, a unit type can be omitted from the calculation of I/O time by setting the corresponding I/O factor to 000 (0%), or leaving the factor blank.

In calculating I/O time, CA JARS automatically rounds up to the nearest integer after the division operation for each term in the equation. The last division operation which converts the time from seconds to hours follows standard rounding procedures. For example, if the reader I/O count is 21 and the reader I/O factor is 10, then the first term of the equation is calculated as three (21/10 = 2.1 = 3). Hence, the smaller the factor, the less rounding occurs which yields a more accurate result.

User-defined I/O time and basic I/O rate calculate the I/O charge for each job step as follows:

I/O Charge = I/O Time x Basic I/O Rate

An alternate method of computing I/O charge may be specified by omitting a basic I/O rate. In this case, each I/O factor is interpreted as a rate per thousands of EXCPs and I/O charge is calculated as follows:

I/O Charge =  (Reader I/O Count x  Reader I/O Factor  +
              Printer I/O Count x  Printer I/O Factor +
              Punch I/O Count   x  Punch I/O Factor   +
              Tape I/O Count    x  Tape I/O Factor    +
              Disk I/O Count    x  Disk I/O Factor    +
              Other I/O Count   x  Other I/O Factor)  /1000

Note that each 3-position I/O factor is interpreted as 9V99 and that the data element I/O time contains zero.

Note: In the above discussion of I/O charges, it is assumed that the OPTION statement, position 52, 'Device Connect instead of EXCPs,' was not set. If it were, then all references to EXCPs would refer to Device Connect Time. The Device Connect Time is stored in 1/1000ths of a second. Thus, in the above example, the I/O factors without a Basic I/O rate would be 9V99 dollars per Device Connect second.

The Unit Record (U/R) rates on the RATE statement let you charge for the utilization of unit record devices. The U/R rates are used to calculate the U/R charge as follows:

U/R Charge =  Statements Read x Reader Rate    +
              Lines Printed x Printer Rate     +
              Statements Punched x Punch Rate  +
              Special Lines Printed x Special
              Print Rate)                      /1000

Note that when processing account records, only the reader rate is used. Other calculated charges which are accumulated into the U/R charge are controlled by FORMRATE statements.

The tape allocation charge field on the RATE statement allows you to affix a dollar charge to the private allocation of tape units. Since the allocation of a data set to a tape drive prohibits any other job in the computer from using that drive, it is customary to bill a customer for that allocation regardless of the amount of usage.

The setup charge for a job is based on the highest number of devices allocated in a given job; (that is, a device used between several steps within a job is counted as one allocation):

Setup Charge = # of Tape Mounts x Tape Allocation Charge

The total job step charge is the summation of all various step charges:

Step Charge #1 = Processor Charge + I/O Charge

The job charge is the sum of the accumulated step charges, the setup charge, and the U/R charge. Note that the setup and U/R charges are only calculated for the job, and that these data elements in step records contain zeros.

The minimum job charge on the RATE statement applies it is greater than the computed job charge as per the previous discussion.

The maximum step charge field on the rate statement lets you define a maximum hourly rate for which a job step will be charged. Under a standard accounting algorithm, a job may be charged a greater amount than if it had run on a dedicated computer under block time rates. Of course, this is only important if the job step ran a considerable length of time. For short jobs, the higher rate demanded by the accounting algorithm is the penalty for the convenience of paying only for what is used.

If a job step has a computed processor time greater than the step time criteria indicated on the RATE statement, then the step is subject to the following additional calculation:

Step Charge #2  =  Step Elapsed Time x Maximum
                   Step Rate.

The step charge used in calculating the final job charge is the lesser of the two; step charge #1 or step charge #2.

The following is an example of a typical RATE statement setup:

position 1         2         3 4         5         6         7         8
1........0.........0.........0 0.........0.........0.........0.........0
ARATE    6 720243 540   100         50 50  100000000000100200 150 500 5

The RATE statement defines an accounting algorithm for Report A to be used against all accounting records with the CPU identification 6. The basic processor rate is set at $720 per hour, and the core factor is $5.40 per 1K block allocated per hour of processor time. Only the CPU time is included in the calculation of the processor time, so the processor charge is based on a combination of CPU time and the amount of core allocated for each job step.

The basic I/O rate is $243 per hour of I/O time which is comprised only of tape and disk utilization. Fifty EXCPs have been equated to an I/O second (180,000 tape and disk EXCPs equals an hour of I/O time). Using the following relationship, you may wish to compute the equivalent dollar rate per 1000 EXCPs:


R1000 =  RATE divided by 3.6 x FACT

where:   

R1000 is the dollar rate per 1000 EXCPs
RATE is the Basic I/O Rate
FACT is the I/O Factor

In the previous example, this would be:


R1000 =   243 divided by 3.6 x 50 or 243 divided by 180, which equals $1.35 per 1000 tape and disk EXCPs

The RATE statement example further defines that the reader rate is $1.00 per 1000 statements read. Each private tape and disk allocation is charged $1.00 and $2.00 respectively, as defined on the CONFIG statements.

Any job step with a processor time (CPU time in this example) greater than five minutes is charged a straight $500 per hour of elapsed time if the result is less than the computed step charge using the defined accounting algorithm.

Calculating Relative Utilization Percentages

Based on the rate parameters supplied through the various rate type control statements, charges are computed for each job-step and each job. Job-step charges are accumulated to job-step total charge which is accumulated to the job level total charge.

Charges calculated only at the job level are added to the job level total charge, and the total charges from all jobs accumulated to a grand total. This accumulated total charge is used during the generation of a report to calculate percentages of total (DE IDs 41 and 42) for each job step, job, and summary level.

These data elements are calculated at the step level (if step records are specified for sorting or job records are not displayed) or at the job level and then accumulated to each summary level. Because these percentages are rounded to three decimal positions when computed and accumulated, it is not unusual for the total to vary slightly from 100%.

Calculating Distributed Charge

The distributed charge (DE ID 47) is calculated for every step, job, and summarization level reported on. The distributed charge calculation is based on the operating cost input via the PARMS statement and the percent of total charge previously discussed in this section as follows:

                       Operating Cost * Percent of Total Charge
Distributed Charge =  ──────────────────────────────────────────
                                      100

This method of calculating a dollar cost for each display level allows the data processing manager to distribute his operating cost back to users based on their relative utilization of all the computer resources. Another use for the distributed charge might be to compare it against the corresponding total charge for a given display level. Since the total charge is based on RATE statement parameters, one could determine how equitable an accounting algorithm is for users and at the same time determine if it derives the necessary revenue to cover operating costs.

Cost Distribution Feature with Summary File Input

Normally, the calculation of percent of total charge, total charge, and distributed charge data elements is dependent on the presence of at least one RATE (or TSORATE) statement. However, if summary files are used for input, the cost data in them, derived from the previous application of RATE parameters, is used to calculate a new percent of total charge and distributed charge elements. Remember, though, that if account records are also processed for the same report, in the absence of new RATE parameters, these data elements display zero values for all account record detail lines.

Note: See the JARS/OLF User Guide for a discussion on Cost Recovery and Overheard Allocation if more advanced features are required by your specific circumstances.

Position

Field Length

Field Name

Notes

1

1

Set Code

Optional.

2-9

8

Statement Type

RATE.

10

1

CPU Identification

 

11-14

4

Basic Processor Rate

Must be blank or numeric; 9999 (dollars per hour).

15-17

3

Basic I/O Rate

Must be blank or numeric; 999 (dollars per hour).

18-21

4

Core Factor

Must be blank or numeric; 99V99 (dollars per 1K block).

 

 

 

Basic Processor Rate

22-24

25-27

28-30

31-33

3

3

3

3

Elapsed Time Factor

Total CPU Time Factor

SRB CPU Time Factor

TCB CPU Time Factor

Must be blank or numeric; 999

(percentage).

 

 

 

 

 

Basic I/O Rate

34-36

37-39

40-42

43-45

46-48

49-51

3

3

3

3

3

3

Reader I/O Factor

Printer I/O Factor

Punch I/O Factor

Tape I/O Factor

Disk I/O Factor

Other I/O Factor

One of these values must be specified if Basic I/O is coded (pos. 15 -17).

 

Must be blank or numeric:

999 (EXCP count per second) or

9V99 (dollars per 1000 EXCPs).

52-54

55-57

58-60

61-63

3

3

3

3

Reader Rate

Printer Rate

Special Print Rate

Punch Rate

Affects VSE input only (1 in pos. 10 of SORT statement). Must be blank or numeric; 9V99 (dollars per 1000 U/R count).

 

64-66

3

Tape Allocation Charge

Must be blank or numeric; 9V99

(dollars per private allocation)

67-69

3

Reserved

 

70-73

4

Minimum Job Charge

Must be blank or numeric; 99V99 (dollars).

74-77

4

Maximum Step Rate

Must be blank or numeric; 9999 (dollars per elapsed hour).

78-79

2

Step Time Criteria

Must be blank or numeric; 99 (minutes of processor time).

80

1

Core Indicator

blank: use Core Allocated
1: use Core Used

Note: For VSE, TCB CPU Time Factor and SRB CPU Time Factor are Overhead Time and Wait Time, respectively.

For ADABAS, Reader I/O Factor, Printer I/O Factor, and Other I/O Factor associate I/O, Work I/O, and Data I/O respectively. (Punch, Tape & Disk I/O factors are not used.)

Printer Rate, Special Print Rate, and Punch Rate are used only for VSE data.