# Compaq DECprint Supervisor (DCPS) for OpenVMS
System Manager's Guide

Previous | Contents | Index

# Chapter 6
Specifying Separation, Log, and Error Pages

# 6.1 What Are Separation Pages?

Separation pages are sheets that show where a user's print job or each file in a print job begins and ends. Separation pages include:

- Burst pages - printed at the beginning of a print job or file.
- Flag pages - printed at the beginning of a print job or file.
- Trailer pages - printed at the end of a print job or file.

A job flag page looks like a job burst page without the border around the page. A job trailer page looks like a job flag page with the message "END OF JOB" printed at the top and with additional information listed for the job (for example, when it finished, which PRINT qualifiers and parameters were used, and how many pages were printed). File separation pages are differentiated from each other in an analagous fashion, and from job separation pages by the presence of file-specific information (for example, the file specification, file size, and modification time).

You can enable separation pages for print jobs and each file in a print job. The following sections show you how.

# 6.2 Enabling Job Separation Pages

Job separation pages keep print jobs separate. Figure 6-1 shows one type of job separation page; a job burst page.

Figure 6-1 A Job Burst Page

You enable and disable job separation pages by editing the DCPS$STARTUP.COM file; the user cannot override these settings.

Enter the /SEPARATE qualifier to parameter 5 in the execution queue entry in DCPS$STARTUP.COM, as shown here:

    @sys$startup:dcps$execution_queue -
        DCPS_TTB4 -                    ! P1 - Execution queue name
        "SERIAL/TTB4" -                ! P2 - Device name
        DCPS_LIB -                     ! P3 - Logical name for /LIBRARY
        "" -                           ! P4 - Default queue parameters
        "/SEPARATE=(BURST,NOFLAG,TRAILER)"
                                       ! P5 - Default queue qualifiers

Notes:

- Job burst pages do not imply job flag pages for DCPS, as is true for some other OpenVMS print symbionts.
- You can use the SET QUEUE command to temporarily specify job separation pages. For example:

      $ SET QUEUE /SEPARATE=(BURST,NOFLAG,TRAILER) queuename

- Job separation pages are not affected by parameters set with the PRINT/PARAMETERS command or by the PostScript file being printed. The pages use the default PostScript context of the printer, not the context of the user's job.
- Even if you disable separation pages, DCPS prints a job trailer page if an error occurs in the print job. The job trailer page contains messages about the errors in a print job.

## 6.2.1 Error Messages on the Trailer Page

If the print job contains errors, the trailer page includes messages that can help the user determine what went wrong with the print job. Following are examples of these messages:

    28-MAR-2002 11:03  %DCPS-I-TRAYSUBST, Output will be delivered to the
    only tray on printer-name

    28-MAR-2002 11:03  %DCPS-W-INVACC, invalidaccess: Attempt to access
    restricted object or capability - offending command is get

These types of messages are also displayed on the user's terminal if /NOTIFY was specified in the PRINT command for the print job.

The following types of messages are not printed on the job trailer page:

- Start and end messages
- Hardware printer error messages, such as "out of paper"
- Messages related to communications
- Messages that the software uses to manage resources in the printer

## 6.2.2 Suppressing Job Trailer Pages

DCPS normally prints a job trailer page if errors occur during the job, even if /SEPARATE=TRAILER is not specified for the queue, as mentioned in sections Section 6.2 and Section 6.2.1. This behavior may be undesireable when printing on expensive media, especially if the reported errors are unimportant.

To prevent DCPS from printing job trailers, even when errors occur for the job, define the following system-wide logical:

    $ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$queuename_SUPPRESS_JOBTRAILER 1

Note Running DCPS this way makes it much more difficult to diagnose real problems when they arise. If you are getting nuisance error messages, Compaq recommends that you resolve the underlying problem rather than suppressing the messages.

## 6.2.3 Specifying a Special Input Tray for Job Burst and Flag Pages

When users print jobs on expensive or special media, it may be desirable to print job burst and flag pages from a special input tray. This technique is also useful for specifying a different color paper for separating print jobs.

You may specify a special input tray for job flag pages and job burst pages. Define a logical name using the following command:

    $ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$queuename_SEPARATOR_TRAY n

In this command, queuename is the name of the execution queue and n is the PostScript input tray number. The tray numbers are specific to your printer model and may be listed in your printer owner's manual. This feature may not work with all printers, especially those that do not select input trays with the PostScript Level 1 setpapertray operator.

The following are the values for Compaq and DIGITAL printers:

Table 6-1 Tray Number Values
Printer | Tray | Tray Number
--- | --- | ---
Compaq Laser Printer LN16 | upper | 0
| lower | 1
| multipurpose | 3
Compaq Laser Printer LN32 and LNM40 | multipurpose | 0
| tray 1 | 1
| tray 2 | 2
| tray 3 | 3
| tray 4 | 4
| tray 5 | 5
| envelope feeder | 6
Compaq and DIGITAL Laser Printer LNC02 | upper | 1
| lower | 5
DEClaser 1150 and 1152 | multipurpose | 0
| cassette | 1
DEClaser 2150 and 2250 | manual feed | 0
| lower | 1
| upper | 2
| envelope feeder | 3
DEClaser 3250 | multipurpose | 0
| upper | 1
| lower | 2
| high capacity feeder | 3
DEClaser 3500 | upper | 0
| lower | 2
| multipurpose | 3
DEClaser 5100 | multipurpose | 0
| upper | 1
| lower | 2
DIGITAL Colorwriter 1000 | upper | 0
| lower | 1
DIGITAL Colorwriter LSR 2000 and 2000 + | upper | 1
| lower | 2
DIGITAL Laser Printer LN15 and LN15+ | upper | 0
| lower | 1
| multipurpose | 3
DIGITAL LN17ps and Laser Printer LN17+ps | main | 0
| multipurpose | 1
| lower 1 | 2
| lower 2 | 3
| envelope feeder | 4
DIGITAL Laser Printer LN20 | multipurpose | 1
| upper | 2
| lower | 5
DIGITAL Laser Printer LN40 | upper | 1
| middle | 2
| lower | 3
| LCIT | 5
DIGITAL PrintServer 17 and 17/600 | upper | 1
| lower | 2
DIGITAL PrintServer 20, 32, 32 plus and 40 | upper | 1
| lower | 2
| LCIT | 3

# 6.3 Enabling File Separation Pages

File separation pages separate the files in the print job. Figure 6-2 shows an example of a file flag page.

Figure 6-2 A File Flag Page

To enable default file separation pages, do the following:

- For an execution queue, specify /DEFAULT=(file-separation-page) in parameter p5.
- For a generic queue, specify the /DEFAULT=(file-separation-page) in parameter p4.

Users can override the default file flag, burst, and trailer attributes for a queue by specifying the /[NO]FLAG, /[NO]BURST, and /[NO]TRAILER qualifiers in the PRINT command.

In the following example, each file in the job will be preceded by a file flag page and followed by a file trailer page:

    $ PRINT /FLAG=ALL /TRAILER=ALL FILE1.PS,FILE2.PS,FILE3.PS

Note If the PAGE_LIMIT parameter is used in the PRINT command, or if the print job is terminated, the file flag page and file trailer page may not be printed.

# 6.4 Adding a System Message to Separator Pages

You can add a system message to the top of job and file burst, flag, and trailer pages for all jobs printed on your system. The following example shows you how:

    $ DEFINE /EXECUTIVE_MODE /SYSTEM PSM$ANNOUNCE "Computer Services Group"

The example shows that the logical name PSM$ANNOUNCE is now "Computer Services Group".

Note The PSM$ANNOUNCE logical is used by other print symbionts (for example, LATSYM) as well as by the DCPS symbiont. Your definition of PSM$ANNOUNCE will also affect these other symbionts.

# 6.5 Extended File Specifications

DCPS provides default support for systems with Extended File Specifications, including ODS-5 volumes and deep directories.

Any file in any directory on an ODS-5 volume can be printed. Since files on ODS-5 volumes may have long directory and file names, the name may be truncated on file separator pages and in the heading when printing with the LIST translator. If the file name is truncated, it is so indicated with an ellipsis (...).

# 6.6 Requesting Job Log Pages

A job log page is an optional sheet with information about the print job and any messages that occurred during the print job. Use the MESSAGES=PRINT parameter in the PRINT command to print a job log page. When printed, the job log page precedes the job trailer page. If you are not printing job trailer pages, the job log page is the last page of a job.

# 6.7 The File Error Page

If the software cannot access the print file when the print job starts printing, a file error page is printed and the software continues with the next file in the print job (if any).

The file error page contains the following information:

- File log page banner
- Client node name and user's name
- Job number
- File identification (file name, extension, and version only)
- File specification (full file specification)
- The messages area

# Chapter 7
Creating Setup Modules and Device Control Libraries

# 7.1 What Is a Setup Module?

A setup module is a file containing instructions that modify the appearance of a print job or redefine the instructions in the print job.

You can include a setup module in a print job with the PRINT command's /SETUP qualifier. The following example uses a setup module that specifies 600 dots-per-inch (DPI) resolution:

    $ PRINT/QUEUE=LPS32$2SIDES/SETUP=RES_600X600 IMAGE.PS

You can also implicitly include setup modules in a print job through the use of a form (see Chapter 8).

# 7.2 Locating Setup Modules

DECprint Supervisor ships with various setup modules, which are located in the following device control library:

SYS$LIBRARY:DCPS$DEVCTL.TLB

To list the setup modules, use the following command:

    $ LIBRARY/LIST SYS$LIBRARY:DCPS$DEVCTL.TLB

The list of setup modules displays, similar to the following:

    DCW1000_DISPLAY
    DCW1000_ENHANCED
    DCW1000_HIGHRES
    LPS$$APPLE360_INITPSDEVICE
    LPS$$APPLE360_SETINPUTTRAY
    RES_1200X1200
    RES_1200X600

Note Do not modify any of the setup modules or the device control library.

Some setup modules are created only for certain printers. Those setup modules have the printer name as part of their file name. For instance, the setup module DL3500_RET_DARK is intended for the DEClaser 3500 printer.

Note Do not change the contents of the standard supplied device control library.

## 7.2.1 Locating Custom Setup Modules

Custom setup modules go in special device control libraries, which are required to be .TLB (text library) files located in SYS$LIBRARY. The following command lists all of the text libraries in SYS$LIBRARY. To determine what subset of these are special device control libraries used with DCPS, correlate the .TLB file names with the libraries and library search lists associated with the /LIBRARY qualifier for your system's DCPS print queues.

    $ DIRECTORY SYS$LIBRARY:*.TLB

## 7.2.2 Displaying the Contents of a Setup Module

To see the instructions that a setup module contains, do the following:

1. Extract the setup module from the device control library. The following example extracts the setup module DI_ON from DCPS$DEVCTL.TLB and renames it MYSETUP.TXT in the user's directory:

       $ LIBRARY/EXTRACT=(DI_ON)/OUT=MYSETUP SYS$LIBRARY:DCPS$DEVCTL.TLB

2. Type or edit the setup module to display its contents:

       $ TYPE MYSETUP.TXT

   The setup module DI_ON enables DECimage, and contains the following instructions:

       %!
       % ~~~~~~~~~~ DI_on ~~~~~~~~~~
       statusdict begin false setDECimage end
       systemdict /languagelevel known {languagelevel} {1} ifelse
       2 ge {currentpagedevice /Install get exec} if
       statusdict begin true setDECimage end
       % ~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Note Some setup modules contain escape sequences or graphics, which cannot be displayed when you type the file. For such modules, you may wish to use the DUMP/RECORD command on the extracted file.

# 7.3 Creating Custom Setup Modules

You can create setup modules that affect print jobs with different data types. Some setup modules manipulate ANSI print jobs, while others affect PostScript jobs. You can create setup modules for any data type you support.

Notes:

- If your PCL or Proprinter setup module needs carriage-control characters after each line, manually supply them when you create the setup module file. (PCL and Proprinter setup modules do not end line with carriage-control characters because the setup modules may contain binary data, like fonts and raster graphics.)
- ANSI setup modules cause a page eject in the printer before the data file, if the setup module causes anything to be printed.

# 7.4 Creating Device Control Libraries

To make the setup module accessible to users, you must create a device control library and put the module in the library. Create a different library for setup modules of each data type. Do not include setup modules of different data types in the same library. You can create a library for ANSI, PCL, Proprinter, or PostScript files.

Note Do not put your custom setup modules in the standard DCPS$DEVCTL library. Custom setup modules in DCPS$DEVCTL will be deleted if you upgrade DECprint Supervisor software.

To create a library for setup modules, use the following command format:

    $ LIBRARY/CREATE/TEXT SYS$COMMON:[SYSLIB]library-name.TLB

You supply the library-name, the name you give to the library.

The following command creates a new PostScript device control library, PS1, for your customized PostScript setup modules:

    $ LIBRARY/CREATE/TEXT SYS$COMMON:[SYSLIB]PS1.TLB

For more information, refer to the OpenVMS Command Definition, Librarian and Message Utilities Manual.

Previous | Next | Contents | Index