#### IPRCNTRL

#### Synopsis

    HELP:   Print control character handling if read ASA or MCC records [DETACH]
    TYPE:   NUMBER
    SYNTAX: IPRCNTRL=DETACH/RETAIN/ERASE/REPLACE

#### Description

Print control characters handling is a special feature for record- oriented files of mainframe systems. For print control, the ASA or machine control characters are often coded in the first byte of the record.

For read operations, you can choose whether this byte will be part of the data (RETAIN), handled as separate attribute (DETACH) or ignored (ERASE). With DETACH, you can later (on write) decide how to handle the control character. With RETAIN, the character will be part of the data and with ERASE the control character is lost.

If block I/O is used DETACH works like ERASE because the print control character cannot be stored as attribute for the records of a block. This is only possible with record I/O, where the print control character, slot numbers and other attributes are be manageable per record.

If you want to read a block of data often, such print control characters are not useful and to transfer such files to an non-mainframe system can result in some strange behavior if there are ASA or MCC control characters in the data. On the other side, sometimes you may want to read a file with ASA and must write records with MCC control characters. In such cases, it is useful to still know the value. In most cases, DETACH is the best choice and is the default for print control handling.

At read an additional replacement of print control character by certain empty records to produce a print like output (REPLACE) is supported. In this case a default line per page of 60 is used. This default can change over the parameter replace form feed (RPLFFD). If RPLFFD is 0 then 60 is assumed, if it 1 then form feeds are ignored and in each other case the missing records to fill up one page are added.

#### Selections

- `DETACH - Manage print control character as record attribute`
- `RETAIN - Leave print control character as part of the data record`
- `ERASE - Erase the print control character from the record`
- `REPLACE - Replace print control characters by additional records like printed`