Changing Forms Control Information in a Program-Described File

The PRTCTL (printer control) keyword allows you to change forms control information and to access the current line value within the program for a program-described PRINTER file. Specify the keyword PRTCTL(data structure name) on the File Description specification for the PRINTER file.

You can specify two types of PRTCTL data structures in your source: an OPM-defined data structure, or an ILE data structure. The default is to use the ILE data structure layout which is shown in Table 51. To use the OPM-defined data structure layout, specify PRTCTL(data-structure name:*COMPAT). The OPM PRTCTL data structure layout is shown in Table 52.

The ILE PRTCTL data structure must be defined on the Definition specifications. It requires a minimum of 15 bytes and must contain at least the following five subfields specified in the following order:

Table 51. Layout of ILE PRTCTL Data Structure
Positions Subfield Contents
1-3 A three-position character field that contains the space-before value (valid values: blank or 0-255)
4-6 A three-position character field that contains the space-after value (valid values: blank or 0-255)
7-9 A three-position character field that contains the skip-before value (valid values: blank or 0-255)
10-12 A three-position character field that contains the skip-after value (valid values: blank or 0-255)
13-15 A three-digit numeric field with zero decimal positions that contains the current line count value.

The OPM PRTCTL data structure must be defined on the Definition specifications and must contain at least the following five subfields specified in the following order:

Table 52. Layout of OPM PRTCTL Data Structure
Positions Subfield Contents
1 A one-position character field that contains the space-before value (valid values: blank or 0-3)
2 A one-position character field that contains the space-after value (valid values: blank or 0-3)
3-4 A two-position character field that contains the skip-before value (valid values: blank, 1-99, A0-A9 for 100-109, B0-B2 for 110-112)
5-6 A two-position character field that contains the skip-after value (valid values: blank, 1-99, A0-A9 for 100-109, B0-B2 for 110-112)
7-9 A two-digit numeric field with zero decimal positions that contains the current line count value.

The values contained in the first four subfields of the ILE PRTCTL data structure are the same as those allowed in positions 40 through 51 (space and skip entries) of the output specifications. If the space/skip entries (positions 40 through 51) of the output specifications are blank, and if subfields 1 through 4 are also blank, the default is to space 1 after. If the PRTCTL keyword is specified, it is used only for the output records that have blanks in positions 40 through 51. You can control the space and skip value (subfields 1 through 4) for the PRINTER file by changing the values in these subfields of the PRTCTL data structure while the program is running.

Subfield 5 contains the current line count value. The compiler does not initialize subfield 5 until after the first output line is printed. The compiler then changes subfield 5 after each output operation to the file.



[ Top of Page | Previous Page | Next Page | Contents | Index ]