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

Previous | Contents | Index

## 3.5.8 Suppressing Unsolicited PJL Messages

Printers sometimes send out unsolicited PJL messages that DCPS then displays on the screen as user data. This can be caused by previous print jobs from other operating systems that change printer characteristics so that all future jobs send back these messages. While these messages are often harmless, sometimes they can interfere with DCPS communications to the printer.

Sometimes, the PJL messages can interfere with DCPS and cause the DCPS job to stall and never print. For this reason, you can define two logical names to suppress PJL messages from being sent from the printer.

        $ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$queue-name_SUPPRESS_PJL_MESSAGES TRUE
        $ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$SUPPRESS_PJL_MESSAGES TRUE

The recommended method for suppressing PJL messages is to define the logical name DCPS$queue-name_SUPPRESS_PJL_MESSAGES for each queue having the problem. For example, to suppress PJL messages on a queue called HP4200:

        $ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$HP4200_SUPPRESS_PJL_MESSAGES TRUE

You can suppress PJL messages on all DCPS queues with the logical name DCPS$SUPPRESS_PJL_MESSAGES, but you should use this logical name with caution. Defining the logical name causes DCPS to send the PJL commands to the printer to suppress PJL messages. Since some printers do not support PJL commands, defining the logical name for such queues will cause the printer to hang and the job to stall. If you are unsure if all your printers support PJL commands, define the logical name for individual queues.

You do not need to stop and restart the queue after defining the logical name.

Note These new logical names replace the unsupported command procedure UNSOLICITED-PJL-FIX.COM and provide improved functionality.

## 3.5.9 Suppressing the OPCOM Message USERNOTFOUND

If DCPS is running on an OpenVMS cluster that has more than one User Authorization file (UAF), it is possible the user submitting a print job does not have a UAF record on the system running the DCPS queue. DCPS prints the job but issues a USERNOTFOUND operator message:

        %%%%%%%%%%%  OPCOM   1-JUN-2005 18:43:55.87  %%%%%%%%%%%
        Message from user SYSTEM on LITERA
        Queue SHARIE: %DCPS-W-USERNOTFOUND, user name FOO not found, no log files created
        -RMS-E-RNF, record not found

Because the username cannot be found, DCPS cannot perform the MESSAGES=KEEP or MESSAGES=PRINT parameter request.

To prevent this OPCOM message from being displayed for every job, define one of the following logical names, depending on whether you want the message suppressed for one print queue or all queues:

        $ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$queue-name_IGNORE_UNKNOWN_USER TRUE
        $ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$IGNORE_UNKNOWN_USER TRUE

## 3.5.10 Using Old ANSI Translator Page Size for A4 Landscape

All versions of the ANSI translator prior to DCPS V1.1A had a problem printing 66 lines of text in landscape mode on A4 paper. Certain printers have slightly smaller than average print areas when using A4 paper, which resulted in the 66th line being lost or clipped when using print parameters of PAGE_SIZE=A4,PAGE_ORIENTATION=LANDSCAPE .

The ANSI translator now correctly prints 66 lines of text in landscape mode on A4 paper. The fix involved changing the vertical spacing of the font used (SGR 15) and correcting the maximum printable area for A4 paper.

If you use preprinted forms that depend on the old translator's behavior, you can retain the old behavior by defining a DCPS logical name:

        $ DEFINE /EXECUTIVE_MODE /SYSTEM DCPS$queue-name_OLD_ANSI_PAGE_SIZES TRUE

# 3.6 Setting Up Generic Queues

Generic queues are not associated with a specific printer; rather, they point to the execution queues. Generic queues can be associated with more than one execution queue and can distribute print jobs among queues, or they can be used to associate specific DECprint Supervisor functions with a print job. Generic queues are optional. Table 3-5 describes the parameters that can be used to define a generic DCPS queue.

Table 3-5 Parameter Values for Generic Queues
Parameter | Value
--- | ---
P1 (required) | Name of the generic queue. In Example 3-4, DRAFT_DOCS is the generic queue to which users will send print jobs.
P2 (required) | Name of the execution queue(s) to which the generic queue can send jobs. You must supply at least one execution queue name for each generic queue definition. In Example 3-4, the generic queue will send print jobs to two execution queues: LN03R_TTB4 and LN03R_TTB7.
P3 (optional) | Default PRINT parameters. In Example 3-4, LAYUP=LPS$SINGLEHOLES provides a default layup definition file for the generic queue.
P4 (optional) | Explicit INITIALIZE /QUEUE qualifiers.
P5 (optional) | Setting of the SET VERIFY command. The default is SET NOVERIFY.

Example 3-4 shows how to set up a generic queue for printing with a layup definition file. This generic queue feeds print jobs to either of two ScriptPrinter execution queues.

Example 3-4 Setting Up a Generic Queue

    $ @SYS$STARTUP:DCPS$GENERIC_QUEUE -
        DRAFT_DOCS -                                 ! P1 - Generic queue name
        "LN03R_TTB4,LN03R_TTB7" -                    ! P2 - Execution queue name(s)
        "LAYUP=LPS$SINGLEHOLES"                      ! P3 - Default queue parameters

# 3.7 Activating Changes to the Queue Definitions

When you create or modify the DCPS$STARTUP.COM file, you must activate the changes for the DECprint Supervisor to use the new queue definitions. You can wait until you stop and restart the system, or you can execute the DCPS$STARTUP.COM file, as follows:

1. Stop the print queues that you modified. If any of the modified queues are running on a multistreamed symbiont, stop all other queues that are using that same symbiont (see Section 3.5.1.2). To stop the queues, enter the following command for each print queue:

           $ STOP /QUEUE /NEXT queue-name

2. Edit the system startup file SYS$MANAGER:SYSTARTUP_VMS.COM to include a command that invokes DCPS$STARTUP.COM.
   Look for the following command in the system startup file:

           $ @SYS$STARTUP:DCPS$STARTUP

   If this command is not in the system startup file, add it to the file. Use the following guidelines:
   - If you are using a printer with TCP/IP, add the new line after TCP/IP is started.
   - If you are using a printer with LAT, add the new line after LAT is started.
   - If you are using a printer with AppleTalk, add the new line after AppleTalk is started.
   - If you are using a PrintServer printer with DECnet, add the new line after the command to invoke STARTNET.COM. PrintServer Software must be running on the PrintServer host system before you start the queues.
   - If the system startup file includes a command to start
     LPS$STARTUP.COM, replace it with the command to start DCPS$STARTUP.COM.
   - If you are upgrading from DECprint Printing Services (CPS), delete the command to start CPS$STARTUP.COM from the system startup file.
3. Execute the printer startup command file:

           $ @SYS$STARTUP:DCPS$STARTUP

If the queues are on an OpenVMS Cluster system, you should execute the command above from all nodes in the cluster.

The print queues are started by the printer startup command file. See Section 3.8 for information on testing your new queue definitions.

# 3.8 Testing the Printing System

Note Execution of the IVP ( @SYS$TEST:DCPS$IVP ) does not cause anything to print.

You can test the printing system by printing the IVP files from SYS$COMMON:[SYSTEST.DCPS]. The IVP files represent the different data types that DCPS supports. The IVP files are listed in Table 3-6.

Table 3-6 IVP Files with Different Data Types
File Name | File Type
--- | ---
DCPS$IVP_ANSI.DAT | ASCII files
DCPS$IVP_LIST.DAT | Simple ASCII
DCPS$IVP_PCL.DAT | PCL Level 4 files
DCPS$IVP_POST.DAT | PostScript files
DCPS$IVP_PROPRINTER.DAT | Proprinter files
DCPS$IVP_REGIS.DAT | ReGIS files
DCPS$IVP_TEK4014.DAT | Tektronix 4010/4014 files

DCPS can automatically detect the file's data type. You do not have to specify the data type on the command line. For example, you can enter the following PRINT command:

        $ PRINT/QUEUE=queue-name/NOTIFY DCPS$IVP_data-type.DAT

If the print queue is linked to a specific data type, or you are testing the LIST data type, specify the data type of the file.

For example, to print DCPS$IVP_POST.DAT, use the following PRINT command:

        $ PRINT /QUEUE=queue-name -
        _$ /PARAMETERS=DATA_TYPE=POSTSCRIPT /NOTIFY -
        _$ SYS$COMMON:[SYSTEST.DCPS]DCPS$IVP_POST.DAT

# Chapter 4
Providing Automatic Data Type Detection

DECprint Supervisor software can determine the data type of the file to be printed. This chapter explains how you can customize your printing system to print the types of files that users need to print.

# 4.1 How DCPS Automatically Detects Data Type

If a user does not specify the data type and the print queue has no default data type, DCPS examines each file in the print job. DCPS attempts to determine the data type of the file from instructions in the file, or from the file name extension.

If DECprint Supervisor software cannot determine the file data type by any of these methods, the file is printed as a text file. Text files are handled as ANSI files unless another default text file data type (PCL or Proprinter) has been defined by the system manager for the queue or for the system.

When files are treated as text files in this way, the DECprint Supervisor software can detect PostScript data after the text, so a file that starts with text followed by PostScript is printed properly.

The process of determining the file data type is repeated for each file in a print job, so a single print job can contain different types of files.

# 4.2 Specifying Automatic Data Type Detection

You can control how the DECprint Supervisor software determines the data type of files as they are printed. You can:

- Link file extensions with data types. You can edit the default file extension data file to add or modify the standard list of file extensions and the data types to which they are associated. See Section 4.2.1.
- Specify the default data type to use when DCPS cannot determine the file's data type in any other way. You can specify a system wide default and a queue-specific default text data type. See Section 4.2.2.

If necessary, you can create generic queues that have default data types, so that every file sent to the queue is assumed to be that data type. Only the user's PRINT parameters can override the queue default data type.

## 4.2.1 Linking File Extensions with Data Types

The DECprint Supervisor software uses a data file to link file extensions to data types. Use the following procedure to create a local data file of your system's file extensions and the associated data types.

1. If your system does not have a customized data file, use the sample file supplied with your software. Copy the file, and change the file's extension, as shown in the following command:

       $ COPY
       _From: SYS$LIBRARY:DCPS$FILE_EXTENSION_DATA_TYPE.DAT_DEFAULT

       _To: SYS$COMMON:[SYSLIB]DCPS$FILE_EXTENSION_DATA_TYPE.DAT

   If the .DAT file is not in variable or stream format, DCPS cannot read it when the queues are started. OPCOM will report the error, and the symbiont process may be terminated. You should save the .DAT file in the appropriate format, and then restart the printing system using the DCPS$STARTUP.COM file.
2. Edit the file. The file has the default file extension and data types listed. For example:

       POSTSCRIPT:
               EPS
               EPSF
               POST
               PS
               ;

   The example shows that files with extensions of .EPS, .EPSF, .POST, and .PS are linked to the PostScript data type.
   Add extensions that are specific to your site, or modify any that have a different local meaning.
   You can specify any valid DATA_TYPE value, except AUTOMATIC. Do not abbreviate the data type names. The valid data type names are:

   > ANSI
   > ASCII
   > DDIF
   > LIST
   > PCL
   > POSTSCRIPT
   > PROPRINTER
   > REGIS
   > TEK4014

## 4.2.2 Specifying Default Data Types for the System and Queues

You can specify a system wide default text data type and queue-specific default text data types. If DCPS software cannot determine the data type, the file is processed as the default data type you specify.

The factory default data type is ANSI. If users regularly print PCL or Proprinter text files instead of ANSI files, you should change the default from ANSI to PCL or Proprinter.

Define one or both of the following logical names:

- DCPS$DEFAULT_TRANSLATOR specifies the system wide default text data type.
  To define a system wide default text data type, use the following command:

      $ DEFINE/SYSTEM/EXECUTIVE DCPS$DEFAULT_TRANSLATOR text_data_type

- DCPS$queuename_DEFAULT_TRANSLATOR specifies the queue-specific default data type.
  To define a queue-specific default text data type, use the following command:

      $ DEFINE/SYSTEM/EXECUTIVE DCPS$queuename_DEFAULT_TRANSLATOR text-data-type

Valid values for the text-data-type are:

- ANSI (the default)
- PCL
- PROPRINTER

Do not abbreviate the data type name.

If the system wide data type differs from the queue-specific data type, the queue-specific data type takes precedence.

The queue-specific logical name is useful when a queue is used by PATHWORKS clients. Text files printed from PCs may be PCL or Proprinter files. The following example specifies the PCL data type for the queue named PATHWORKS:

    $ DEFINE/SYSTEM/EXECUTIVE DCPS$PATHWORKS_DEFAULT_TRANSLATOR PCL

The DECprint Supervisor software attempts to determine the file data type for each file sent to the PATHWORKS queue. If a file data type cannot be determined, the file is processed as a PCL file. If the file contains PCL text followed by PostScript, it is printed properly.

## 4.2.3 How Users Control Data Type Detection

Users control the way print jobs are processed for automatic data type detection by specifying:

- The data type with the /PARAMETERS=DATA_TYPE qualifier in the PRINT command.
  This qualifier overrides the automatic data type detection process; only the presence of DDIF file tags can prevent the file from being processed using the translator associated with the specified data type. If the file contains DDIF tags and is explicitly specified as another data type, the file is not printed. The following error message is displayed, and the DECprint Supervisor software continues with the next file in the print job (if any):

      INVDDIFDATA, Invalid DDIF data, flushing to end of file

- Automatic data type detection with the following PRINT parameter:

      /PARAMETERS=DATA_TYPE=AUTOMATIC[=text-data-type]

  Users can specify the /PARAMETERS=DATA_TYPE=AUTOMATIC qualifier to specify automatic data type detection (for example, if the print queue has a default data type).
  If the user includes the default text data type (text-data-type) in the DATA_TYPE=AUTOMATIC parameter, the DECprint Supervisor software assumes the specified data type if the data type of a print file cannot be determined.
  The text-data-type value is optional; the default is ANSI. Users should include this value to specify another text data type, such as PCL or Proprinter.
  The DECprint Supervisor software can print a file that starts with the default text data type followed by PostScript data. If a user needs to print a file that begins with PCL text followed by PostScript data, the user can explicitly set the default text data type to be PCL using the following PRINT command:

      $ PRINT/QUEUE=PS20$A10 PIC.MSG/PARAMETERS=(DATA_TYPE=AUTOMATIC=PCL)

  This feature is useful for printing files generated by electronic messaging systems. For example, you can print a PostScript file that was sent to you from someone using the messaging system, if the resulting file contains a text message header followed by PostScript data.

Previous | Next | Contents | Index