VISTA Printing Printer Subtypes
VISTA Subtypes
A subtype (stored in file #3.2 TERMINAL TYPE) is an entry associated with each device that tells the device how to handle special non-standard situations. With printers, typically a subtype has two fields populated: Open Execute and Close Execute. The Open Execute resets the printer, sets the page orientation, sets the top and left margins, and sets the font size. The close execute sets the variable IONOFF to an empty string (effectively defining it in the symbol table), and sends a reset to the printer.
The reason IONOFF is needed is that by default VISTA will send an extra page following each print out; because it was developed in the days of dot-matrix printers, where the extra page separated jobs. The days of dot-matrix printing are practically over; most printers used today are inkjet or laser. Typically we don't want an extra page at the end. You may be lead to believe that IONOFF is enough; however, most reports in VISTA have hardcoded extra pages at the beginning or end. I was told there was going to be a project in the late 90's that never happened to make sure all reports relied on the device handler for printing separator pages, but that never happened.
Here are the most common subtypes in VISTA (standardized for Unices; you will need to remove $C(27),"&k2G" on Windows Servers):
NB: CPI = Characters Per Inch; LPI = Lines Per Inch
Portrait 12 CPI 6 LPI
This is THE MOST COMMON subtype to use. Most reports in VISTA print on this one.
NAME: P-HP-LTR-POR-C12L6-W80 RIGHT MARGIN: 80 FORM FEED: # PAGE LENGTH: 56 BACK SPACE: $C(8) OPEN EXECUTE: W $C(27),"E",$C(27),"&l0O",$C(27),"&l3E",$C(27),"&a5L",$C(27),"& k2G",*27,"(s0p12h0s0b4099T" S ($X,$Y)=0 CLOSE EXECUTE: S IONOFF="" W *27,"E" DESCRIPTION: 12 cpi 6 lpi width 80 standard letter printer
Landscape 14 CPI 6 LPI
This is the second most common subtype. Any menu option that says it needs 132 characters will need to use this subtype.
NAME: P-HP-LTR-LAND-C14L6-W132 RIGHT MARGIN: 132 FORM FEED: # PAGE LENGTH: 45 BACK SPACE: $C(8) OPEN EXECUTE: W $C(27,69),$C(27),"&l1O",$C(27),"&l3E",$C(27),"&a5L",$C(27),"&k 2G",*27,"(s0p14h0s0b4099T" S ($X,$Y)=0 CLOSE EXECUTE: S IONOFF="" W $C(27)_"E" DESCRIPTION: 14 cpi 6 lpi width 132 landscape letter printer