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

Previous | Contents | Index

# 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 queuename

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 a VMScluster 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-4.

Table 3-4 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=queuename/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=queuename -   /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.

# Chapter 5
Manipulating Print Jobs and Print Queues

This chapter describes the commands for maintaining and controlling print jobs, print queues, and the queue manager.

Some of the commands described in this chapter require privileges.

# 5.1 Displaying Print Job Status

You can use the SHOW ENTRY command to display the status of a print job. You do not need privileges to use this command to display your own print jobs, but privileges are required to display another user's print jobs.

The SHOW ENTRY command lists all your print jobs. To display the status of another user's print job, you must supply the job number with the SHOW ENTRY command or specify the user using the /USER qualifier. You can display the job numbers for all print jobs in a designated queue using the SHOW QUEUE/ALL command, as follows:

    $ SHOW QUEUE/ALL PS40$A12

    Printer queue PS40$A12, busy, on LEVEL::PS40, mounted form DCPS$DEFAULT
    (stock=DEFAULT)

      Entry  Jobname         Username     Blocks  Status
      -----  -------         --------     ------  ------
       304      MEMO         MSMITH            5  Printing

You can use the SHOW ENTRY/FULL command to display information about a specific print job. For example:

    $ SHOW ENTRY 304/FULL

    Entry  Jobname         Username     Blocks  Status
    -----  -------         --------     ------  ------
      304  MEMO            MSMITH            5  Printing
           On busy printer queue PS40$A12
           Submitted 14-JAN-2003 10:41
           /FORM=DCPS$DEFAULT (stock=DEFAULT) /NOTIFY
           /PRIORITY=100
           File: _$1$DUA10:[MSMITH]MEMO.TXT;1 (printing)

Note Print job status may be shown as "Printing" when the file has not yet actually started printing on the printer.

# 5.2 Deleting a Print Job

You can delete a print job using the DELETE/ENTRY command. You can delete you own print job without privileges. However, you must have privileges to delete another user's print jobs.

The DELETE/ENTRY command accepts the print job number as an argument. For example:

    $ DELETE/ENTRY=569

This command deletes print job 569. The system sends messages indicating the successful print job deletion.

The print job is terminated in a method that depends on the status of the print job when you issue the DELETE/ENTRY command.

If you issue DELETE/ENTRY... | DCPS software...
--- | ---
when the print job is printing, | may take several seconds to stop the print job. The printer prints data in its buffers, plus any required job trailer pages and job log pages. During this time, a SHOW QUEUE command displays the job's status as Aborting.
before a connection is established with a network printer, | prints no pages.
after the connection is established, | prints the job trailer page with a message indicating the fact that you deleted the print job.
before the job burst or job flag pages are printed, | may not print the job burst or job flag page. However, job trailer and job log pages are printed if the queue is set up to print them.

# 5.3 Releasing a Print Job in the Holding State

When a print job is in the Holding state, you must release it for it to print. The user can put a job in the Holding state using the PRINT/AFTER or PRINT/HOLD command. The user or system operator can put a print job in the Holding state using the SET ENTRY/HOLD command.

Use the SET ENTRY/RELEASE command to release the print job to be printed. You must specify the job number in the SET ENTRY command. This command does not require privileges if you are releasing a print job that you submitted. Privileges are required to release another user's print jobs.

For example:

    $ SET ENTRY/RELEASE 569

In this example, print job 569 was in the Holding state and was released for printing.

# 5.4 Requeuing Print Jobs

You can change the print queue for one or more print jobs, as described in the following sections.

## 5.4.1 Requeuing Pending Print Jobs

You can requeue a print job that has not started printing using the SET ENTRY/REQUEUE command. Without privileges, you can requeue your jobs. With privileges, you can requeue any print job that has not started printing. You must supply the job entry number with the SET ENTRY command. The /REQUEUE qualifier requires the name of the new print queue. For example:

    $ SET ENTRY/REQUEUE=POSTSCRIPT$DUPLEX 596

This command changes the print queue for job 596. The print job is sent to the POSTSCRIPT$DUPLEX queue.

## 5.4.2 Requeuing the Currently Printing Job to Another Queue

When a printer problem prevents completion of the printing job, you can requeue the print job to another printer. Use the STOP/QUEUE/REQUEUE command to send the print job to another print queue. You supply both the old queue name and the new queue name for this command. For example:

    $ STOP/QUEUE/REQUEUE=POSTSCRIPT$DUPLEX POSTSCRIPT$SIMPLEX

In this example, the print job that is currently printing on the queue POSTSCRIPT$SIMPLEX is stopped and requeued to POSTSCRIPT$DUPLEX. The POSTSCRIPT$SIMPLEX queue is not stopped and continues with printing the next job in the queue.

## 5.4.3 Requeuing Current and Future Print Jobs in a Queue

The ASSIGN/MERGE command allows you to specify that all print jobs in a certain queue, and those submitted later for that queue, are to be sent to another queue. The ASSIGN/MERGE command requires privileges. You must supply the old queue name and the new queue name. Use the following procedure:

1. Use the STOP/QUEUE/NEXT command to stop the malfunctioning print queue after the current print job has finished.
2. Use the STOP/QUEUE/REQUEUE command to requeue the currently printing job to the new queue.
3. Use the ASSIGN/MERGE command to cause all pending and future print jobs to be requeued. For example:

       $ STOP/QUEUE/NEXT PRINTER$NOTABLE
       $ STOP/QUEUE/REQUEUE=PRINTER$ABLE PRINTER$NOTABLE
       $ ASSIGN/MERGE PRINTER$ABLE PRINTER$NOTABLE

# 5.5 Modifying the Attributes of a Print Job

The SET ENTRY command allows a user to modify the attributes of a pending print job. You cannot modify a print job that has begun printing. If you have privileges, you can modify the attributes of print jobs submitted by other users. The SET ENTRY command requires that you specify the job number and allows you to specify one or more PRINT command qualifiers, which are listed in Appendix A. For example:

    $ SET ENTRY 596/PARAMETERS=PAGE_ORIENTATION=LANDSCAPE

This example changes a print job from portrait orientation to landscape orientation. If the original PRINT job contained any PRINT parameters, you must specify them all again when you modify any print parameters with the SET ENTRY/PARAMETERS command. If you do not respecify the PRINT parameters, the print job will be printed using the default parameter values for those not included in the SET ENTRY command.

# 5.6 Displaying a Queue

You can display a print queue, including its status, its attributes and the print jobs in the queue, using the SHOW QUEUE command. This command does not require privileges, unless you wish to view queue security information or view print jobs belonging to other users.

To display a specific queue, supply the queue name. To display all of the queues, omit the queue name from the SHOW QUEUE command. Use the commands in Table 5-1 to display information about queues.

Table 5-1 Commands to Display Queues
To list: | Enter:
--- | ---
The name and description of every print and batch queue | SHOW QUEUE
The names of all the print queues | SHOW QUEUE/DEVICE=PRINTER
All the jobs in all the queues | SHOW QUEUE/ALL
All the jobs in the specified queue | SHOW QUEUE/ALL queue-name
The attributes of all the queues | SHOW QUEUE/FULL
The attributes of a certain queue | SHOW QUEUE/FULL queue-name

Previous | Next | Contents | Index