DISPLAY UPON SYSPUNCH

The IBM DOS/VS COBOL SYSPUNCH (or SYSPCH) option refers to punchcards, which are obsolete. The ACUCOBOL-GT compiler redirects punchcard output to a special file called SYSPUNCH.TXT.

Format 9 of the DISPLAY statement (ANSI DISPLAY) is in most cases treated in a slightly different manner by IBM DOS/VS COBOL.

IBM DOS/VS COBOL has special names for card punch output, which may appear after the reserved word UPON either as SYSPUNCH (or SYSPCH) or as a "mnemonic" associated with one of these in the SPECIAL-NAMES paragraph.

In the IBM DOS/VS COBOL compatibility mode, ACUCOBOL-GT accepts these names, or their mnemonics, and it emulates a card punch by writing the card images to a disk file (or a device that looks like a disk file to the operating system). The default file specification is SYSPUNCH.TXT (in the current directory), but you may specify another file by putting a line of the following form in the runtime configuration file:

SYSPUNCH = <file specification used instead of SYSPUNCH.TXT>

Each card image is 80 characters wide, and is terminated in the manner appropriate for the runtime environment (carriage return and line feed for Windows, line feed for UNIX).

The leftmost 72 columns contain data from the DISPLAY UPON SYSPUNCH statement. If the data is longer than this, excess characters spill over to the next card image. If the data is shorter than this, it is padded with blanks at the right end to make it 72 characters long.

The other 8 columns of each card image contain the program name from the PROGRAM-ID phrase of the IDENTIFICATION division. If the program name is more or less than eight characters long, it is truncated or padded with spaces at the right end.

If the file specified for card images already exists, the card images are added to the end of the file.

The WITH NO ADVANCING phrase may be used with DISPLAY UPON SYSPUNCH, although it is not part of IBM DOS/VS COBOL. It may cause subsequent text to go into the same card image, if it fits.

DISPLAY UPON CONSOLE, DISPLAY UPON SYSLST, DISPLAY UPON SYSLIST and DISPLAY UPON SYSOUT behave in a slightly different manner when the IBM DOS/VS COBOL compatibility mode is in effect. In this mode, each line must be 100 characters long for DISPLAY UPON CONSOLE, and 120 characters long for the other forms. A line that is too short is padded with blanks at the right end, and a line that is too long spills over to the next line.

The IBM DOS/VS COBOL compatibility mode has no effect on the DISPLAY UPON SYSERR statement.