Previous Topic: Exits 1, 2, and 3

Next Topic: Exit 2


Exit 1

This exit provides control to the user immediately following the grouping feature logic and prior to application of the accounting algorithm for each accounting record being processed. This allows the user to perform tests or apply unique algorithms to records reaching this phase of processing. Step records for a particular job will be passed to the user exit routine prior to passing the associated job record.

This exit name is coded in positions 10-17 on the EXITS control statement.

If CA JARS input includes historical data, this information will also be passed to the user exit routine following all newly created account records (from SMF or DOS accounting records) but prior to all old account records.

The parameter list for this exit is as follows:

Word

Description

1

Address of Set Code for report currently being generated

2

Address of accounting record currently being processed

3

Address of RATE statement information table

4

Address of PRIORITY statement information table

5

Address of working storage area

6

Address of disposition indicator to be set by user

7

Address of TSORATE statement information table

8

Address of FORMRATE statement information table

9

Address of RJERATE/SNARATE/APPCRATE statement information table

The RATE statement information table consists of a variable number of entries, with the last valid entry being followed by an entry containing low-values (x'00'). Each entry is basically in the same format as the RATE statement as follows:

 

Field Name

Field Length

Displacement

 

CPU Identification

1

0

 

Basic Processor Rate

4

1

 

Basic I/O Rate

3

5

 

Core Factor

4

8

 

Elapsed Time Factor

3

12

 

Total CPU Time Factor

3

15

 

SRB CPU Time Factor

3

18

 

TCB CPU Time Factor

3

21

 

Reader I/O Factor

3

24

 

Printer I/O Factor

3

27

 

Punch I/O Factor

3

30

 

Tape I/O Factor

3

33

 

Disk I/O Factor

3

36

 

Other I/O Factor

3

39

 

Reader Rate

3

42

*

Printer Rate

3

45

*

Special Print Rate

3

48

*

Punch Rate

3

51

 

Tape Allocation Charge

3

54

 

Disk Allocation Charge

3

57

 

Minimum Job Charge

4

60

 

Maximum Step Rate

4

64

 

Step Time Criteria

2

68

 

Core Indicator

1

70

* Not used for z/OS jobs (FORMRATE used instead)

The TSORATE statement information table consists of a variable number of entries with the last entry being followed by an entry containing low-values (x'00'). Each entry is basically in the same format as the TSORATE statement as follows:

Field Name

Field Length

Displacement

CPU Identification

1

0

Basic Processor Rate

4

1

Basic I/O Rate

3

5

Core Factor

4

8

Connect Time Rate

4

12

Active Time Factor

3

16

Total CPU Time Factor

3

19

Reader I/O Factor

3

22

Printer I/O Factor

3

25

Punch I/O Factor

3

28

Tape I/O Factor

3

31

Disk I/O Factor

3

34

Other I/O Factor

3

37

Filler

12

40

TPUT Rate

3

52

TGET Rate

3

55

Tape Allocation Charge

3

58

Disk Allocation Charge

3

61

Minimum Session Charge

4

64

The PRIORITY statement information table consists of a variable number of entries with the last entry being followed by an entry containing low-values (x'00'). Each entry is basically in the same format as the PRIORITY statement as follows:

Field Name

Field Length

Displacement

CPU Identification

1

0

Processor Charge Flag

1

1

I/O Charge Flag

1

2

U/R Charge Flag

1

3

Setup Charge Flag

1

4

Priority Factors

30

5

Class/Partition Factors

35

35

The FORMRATE statement information table consists of a variable number of entries with the last entry being followed by an entry containing low-values (x'00'). Each entry is in a format similar to the FORMRATE statement with numeric fields converted to packed decimal as follows:

Field Name

Field Length

Displacement

Format

CPU Identification

1

0

character

SYSOUT Class

1

1

character

Forms ID

4

2

character

Setup Charge

3

6

packed (999V99)

Line Rate

3

9

packed (999V99)

Page Rate

3

12

packed (999V99)

Charge Option

1

15

character

The RJERATE and SNARATE statement information table consists of a variable number of entries with the last entry being followed by an entry containing low-values (x'00'). Each entry is in a format similar to the RJERATE or SNARATE statement with numeric fields converted to packed decimal as follows:

Field Name

Field Length

Displacement

Format

CPU Identification

1

0

character

Line Name

8

1

character

Rate Type

1

9

character

Time Rate

4

10

packed (99999V99)

Record Rate

3

14

packed (999V99)

Connect Rate

4

17

packed (99999V99)

Transmission Rate

3

21

packed (999V99)

Minimum Session Charge

3

24

packed (999V99)

Job Name

8

27

character

User Information

16

35

character

Rate type is a 'B' for BSC rates and an 'S' for SNA rates.

When the record being processed is a summary record from the history file or account record, the working storage area will contain the time and charge values accumulated into that record when it was created. So, any alterations to data from a summary level history file must be made directly to the record and cannot reference the working storage area.

Field Name

Field Length

Displacement

Format

CPU Identification

1

0

character

TP Name

8

1

character

Rate Type

9

1

character

Batch Send Rate

3

10

packed (99V999)

Batch Receive Rate

3

13

packed (99V999)

Outbound Send Rate

3

16

packed (99V999)

Outbound Receive Rate

3

19

 

Outbound Call Rate

3

22

 

Inbound Send Rate

3

25

 

Inbound Receive Rate

3

28

 

Inbound Call Rate

3

31

 

Transaction Send Rate

3

34

 

Transaction Receive Rate

3

37

 

Transaction Conversion Rate

3

40

 

Transaction TCB Rate

3

43

(99999)

Transaction SRB Rate

3

46

(99999)

Transaction EXCP Rate

3

49

(99V999)

Transaction Device Connect

3

52

(99V999)

Rate type is an 'A' for APPC rates.

Only the RATE, TSORATE, FORMRATE, RJERATE, APPCRATE/ SNARATE, and PRIORITY statements required to generate a given report will be present in their respective tables during this execution phase. Table entries will be in the same order as the statements were read by CA JARS. The working storage area referenced in the parameter list contains the following fields:

Field Name

Length

Field Displacement

Mode

Notes

Processor Time

6

0

Packed

999999V99999C; hours

Processor Charge

6

6

"

999999999V99C; dollars

I/O Time

6

12

"

999999V99999C; hours

I/O Charge

6

18

"

999999999V99C; dollars

U/R Charge

5

24

"

9999999V99C; dollars

Setup Charge

5

29

"

9999999V99C; dollars

Total Charge

6

34

"

999999999V99C; dollars

Charge Suffix

1

40

EBCDIC

See below

Adjusted Rate

6

41

Packed

999999999V99C; dollars

Connect Charge

5

47

"

9999999V99C; dollars

RJE Charge

5

52

"

9999999V99C; dollars

The Charge Suffix indicates that the Total Charge field contains one of the following values:

Charge Suffix

Description

-

Credit amount

+

Debit amount

*

Budget amount

M

Minimum job charge

B

Block time charge

blank

Normal job charge

Each accounting record and all pertinent billing parameters are made available through the parameter list. The user may modify information in the accounting record and calculate the various time and charge fields related to the record.

Upon entry to the user exit routine, the time and charge fields in working storage are initialized and available for calculations. When the record being processed is a summary record from the historical data base, the working storage area will contain the time and charge values accumulated into that record when it was created.

The one-byte EBCDIC disposition indicator, as referenced through the parameter list, is blank upon entry to the user exit routine. A hex 'FF' (high-values) upon entry indicates that an end-of-file condition has occurred and no further record processing is to be performed.

You should take this opportunity to have the exit prepare totals, generate user-formatted reports, close files, and so forth. You can optionally set the one-byte EBCDIC disposition indicator to specify the following action(s) to be taken upon each return to CA JARS:

Disposition Indicator

Description

blank

Default. Normal processing continues with calculating values in working storage area using standard accounting algorithm.

1

Skip standard accounting algorithm calculations. Use values in working storage area as placed there by user exit routine.

2

Reject record from further processing. Read next input accounting record.

A type 1 exit could be used to:

  1. Modify the rate tables.
  2. Perform unique rate calculations--totally independent of the CA JARS process.
  3. Test or change accounting fields.