This document covers the following topics:
Load a Con-nect printer profile into the Con-form buffer.
This subprogram can be used before directing a printout to the printer via the COMPOSE FORMATTING statement. The COMPOSE FORMATTING statement then acts upon the information in the Con-form buffer and prints using the printer profile specified by this subprogram.
A previously loaded printer profile is unloaded by either of the following:
execution of a COMPOSE RESETTING ALL statement, or
formatting a document and sending it to a destination other than a Natural report.
With Z-DRIVER you can optionally call Z-OPSEQ to load the printer open sequence and Z-CLSEQ to load the printer close sequence.
Parameter | Format | In | Out | Remarks |
---|---|---|---|---|
Return-code | N2 | X | ||
Cabinet | A8 | R | The name of the cabinet which contains the printer profile. | |
Printer-profile | A32 | R | The name of the printer profile. |
00 | Success |
02 | Invalid cabinet name |
83 | Invalid printer profile name |
84 | Requested printer profile does not exist |
86 | Printer driver module cannot be loaded |
90 | Printer association not found |
Z-110
Z-162
Z-170
0010 DEFINE DATA LOCAL 0020 1 RETURN-CODE (N2) 0030 1 CABINET (A8) 0040 1 PRINTER-PROFILE (A32) 0050 1 REPORT-NUMBER (B1) /* used by Z-OPSEQ and Z-CLSEQ 0060 END-DEFINE 0070 * 0080 DEFINE PRINTER(1) OUTPUT '289' /* (1) = report number 0090 FORMAT (1) LS = 120 PS = 60 0100 * 0110 MOVE 1 TO REPORT-NUMBER /* for Z-OPSEQ and Z-CLSEQ 0120 MOVE 'SYSCNT' TO CABINET 0130 MOVE 'CANON' TO PRINTER-PROFILE 0140 COMPOSE RESETTING ALL 0150 * 0160 CALLNAT 'Z-DRIVER' RETURN-CODE CABINET PRINTER-PROFILE 0170 IF RETURN-CODE NE 0 0180 WRITE 'Return code' RETURN-CODE 0190 ELSE 0200 CALLNAT 'Z-OPSEQ' RETURN-CODE CABINET REPORT-NUMBER /* open 0210 IF RETURN-CODE = 0 0220 COMPOSE FORMATTING INPUT 'Document name' 0230 FROM CABINET 'Cabinet name' 0240 OUTPUT(1) 0250 CALLNAT 'Z-CLSEQ' RETURN-CODE CABINET REPORT-NUMBER /* close 0260 ELSE 0270 WRITE 'Invalid report number' RETURN-CODE 0280 END-IF 0280 END-IF 0290 END