Previous Topic: User-ModulesNext Topic: Executing the Reporting Facility


PRINT-EXIT Subroutines

You may need to override the standard printing techniques of the Reporting Facility. The compile listing is always printed in a standard manner, but you can override the printing of the reports and the run diagnostics on a per run basis.

An OPTION PRTEXIT=phasename command indicates that instead of printing the reports and run diagnostics, the Reporting Facility is to pass each print line to a user-supplied routine with the cataloged phase name.

You must write this routine in Assembler language and follow standard IBM linkage conventions. The routine should save the general registers on entry and restore them on exit in much the same manner as with user-modules. This routine loads automatically just prior to printing the reports.

On entry to the program, register 1 points to a single address of a 148-byte record. The content of the record is as follows:

1

Type code

2

CCW code

3—4

Printer width

5—148

Data

type code

Is a one-byte hexadecimal code denoting the type of data contained in the record. Valid values are:

X'F0'

Indicates that subsequent data is part of the run diagnostics

X'01'-X'3F'

Indicates that subsequent data is part of reports 1—63, respectively

X'FF'

Indicates END-OF-FILE and that no more data is to print

CCW code

Is a one-byte hexadecimal field containing the CCW code for the IBM printer carriage control-character. Valid values are:

X'0B'

Space one line immediately

X'13'

Space two lines immediately

X'1B'

Space three lines immediately

X'01'

Write, no space

X'09'

Write, space one line after print

X'11'

Write, space two lines after print

X'19'

Write, space three lines after print

X'8B'

Skip to channel one immediately

printer width

Is a two-byte constant (halfword), indicating the printer width as defined at the time of the Reporting Facility installation, or overridden for this run by specification of the OPTION PRINTER= parameter. The maximum value of the constant contained in this field is 144.

data

Represents the print line to be printed. The length of this field is dependent on the contents of the PRINTER WIDTH field. This is a print line image and, therefore, contains the data to be printed in its final edited form.

Note the following: