[Digital logo]
[HR]

OpenVMS System Manager's Manual


Previous | Contents

In the following example, the default form is REPORT and its stock is 8_5x11. All jobs processed on this queue that are not associated with an explicit form definition in the PRINT command have the default form REPORT. As long as the stock of the mounted form matches the stock of the default form, all jobs submitted to this queue without an explicit form definition will be scheduled to print.

$ SHOW QUEUE/FULL JEAN_PRINT
Printer queue JEAN_PRINT, idle, on BAY::TTA3:, mounted form 8_5x11 
  <Queue for printer in Jean's office> 
  /BASE_PRIORITY=4 /DEFAULT=(FEED,FORM=REPORT (stock=8_5X11)) /OWNER=[SYSTEM] 
  /PROTECTION=(S:M,O:D,G:R,W:R) 

13.6.7.3 Changing the Systemwide Default Form

A queue initialized without the /DEFAULT=FORM qualifier uses the systemwide default form to process print jobs not explicitly associated with a form definition. The systemwide default form corresponds to the form number 0 and uses the following options:

Table 13-3 explains these options in detail.

To change the systemwide default form, enter the DEFINE/FORM command in the following format:

DEFINE/FORM DEFAULT 0 /qualifier[s] 

Example

To change the default bottom margin from 6 to 4, and the page length from 66 to 55, enter this command:

$ DEFINE/FORM DEFAULT 0/MARGIN=(BOTTOM=4)/LENGTH=55

Note

Once a queue or job references a form, you cannot change the stock for that form. Change the stock of the default form before you create any queues.

13.6.7.4 Creating a Customized Form

To create a customized form, follow these steps:

  1. Enter the DEFINE/FORM command in the following format:
    DEFINE/FORM form-name form-number [/qualifiers] 
    
  2. Assign a default form for each output execution queue. Use the /DEFAULT=FORM=type qualifier with INITIALIZE/QUEUE, START/QUEUE, or SET QUEUE, as explained in Section 13.6.7.5.
    If you do not assign a default form to a queue, the queue uses the systemwide default form.
  3. Inform users of the available forms and the queues with which they should be used. You can, if you like, create symbols to automatically include the form with the PRINT command; for example:
    $ PRINT_REPORT :== PRINT/FORM=REPORT
    

When you create a form, you can specify any of the qualifiers shown in Table 13-3.

Table 13-3 DEFINE/FORM Qualifiers
Qualifier Purpose
/WIDTH= n Specifies the width of the paper in characters.
/LENGTH= n Specifies the length of a form page in lines.
/[NO]TRUNCATE Discards characters exceeding the line length specified by /WIDTH and /MARGIN.
/[NO]WRAP Wraps to the next line the characters exceeding the line length specified by /WIDTH and /MARGIN.
/MARGIN=( option= n[,...]) Specifies the number of blank spaces for one or more of the four margin options: BOTTOM, LEFT, RIGHT, and TOP.
/[NO]PAGE_SETUP=( module[,...]) Specifies one or more device control modules that set up a device at the start of each page.
/SETUP=( module[,...]) Specifies one or more device control modules that set up the device at the start of each file.
/[NO]SHEET_FEED Specifies that print jobs pause at the end of every physical page so that a new sheet of paper can be inserted.
/STOCK= string Specifies the type of paper stock to be associated with the form.
/DESCRIPTION= string Specifies a string used to provide information about the form.

If you create forms only to provide different formatting options (and not to specify paper stock), specify the same stock type for each form. That way, jobs requesting any of these forms will print on the same queue without requiring you to enter any additional commands to modify the queue.

Unless you specify the /STOCK qualifier, the form's stock name is the same as the name of the form.


Note

If you want to define a form name that is also an existing logical name, read the description of logical names in the OpenVMS User's Manual.

Example

The command in the following example defines the form MEMO as the number 3 and defines formatting options for the form:

$ DEFINE/FORM MEMO 3/STOCK=DEFAULT -
_$ /MARGIN=(TOP=2,BOTTOM=2,LEFT=6)/WIDTH=80/LENGTH=66/TRUNCATE -
_$ /DESCRIPTION="LN03 indented memo format"

13.6.7.5 Assigning a Default Form for a Queue

If a user does not specify the /FORM qualifier when submitting a job with the PRINT command, the job uses the default form for the execution queue on which the job is printed.

To assign a default form for an output execution queue, use the /DEFAULT qualifier with INITIALIZE/QUEUE, START/QUEUE, or SET QUEUE.


Note

The queue's default form is associated with a print job at the time the job is processed unless the user specifies a specific form when the job is submitted. Therefore, if a user submits a job to a generic queue without specifying the /FORM qualifier, no form is associated with the job until it is transferred to an execution queue.

If you do not establish a default form for a queue, the queue uses the systemwide default form, DEFAULT.

Example

In the following example, the SET QUEUE command changes the default form to LN03_PORTRAIT for the LN03_PRINT queue.

$ SET QUEUE/DEFAULT=FORM=LN03_PROTRAIT LN03_PRINT

13.6.7.6 Mounting a Form on a Queue

To mount a form on a queue, use the /FORM_MOUNTED qualifier with INITIALIZE/QUEUE, START/QUEUE, or SET QUEUE in the following format:

INITIALIZE/QUEUE/FORM_MOUNTED=type 

where type is the form name or number defined by the DEFINE/FORM command.

If you see a print job pending because of a stock mismatch, change the stock of the printer to the requested stock and mount the form associated with the requested stock on the queue, or perform one of the other steps explained in Section 13.8.2.1.

13.6.7.7 Deleting a Form

To delete a customized form, enter the DELETE/FORM command. For example:

$ DELETE/FORM MEMO

You must specify the form name with DELETE/FORM (not the form number). If you know the number assigned to the form but do not know the name, enter SHOW QUEUE/FORM to display the names and numbers assigned to forms on the system.

If the system displays the following messages, a queue or job exists with a reference to the form:

%DELETE-E-NOTDELETED, error deleting form-name
-JBC-E-REFERENCED, existing references prevent deletion 

You must remove all references to the form before you can delete the form. For information about removing references to a form, see Section 13.8.5.

13.6.7.8 Controlling Line and Page Overflow

Under certain conditions, lines and pages formatted by the print symbiont might exceed the length of lines and pages for a printer. You can use queue options to control line and page overflow.

Line Overflow

Digital recommends that you control line overflow by using form definitions. To do this, you must set terminals and printers to avoid wrapping or truncating the print line before the physical limit of the device's width.


Note

The print symbiont uses the form to determine the width of a line. Once the print symbiont has finished formatting the data, if the width of the line exceeds the /WIDTH setting for the device, the device driver will use the /TRUNCATE or /WRAP settings (if set) to truncate or wrap the line.

Different forms can have different right, left, top, and bottom margin settings. By using forms to control page and line overflow, users can switch from one form to another without requiring operators to stop the queue, alter the device setup, and restart the queue. The queue manager automatically mounts any forms with the same stock as the currently mounted form. Operator assistance is needed only to mount a form that has a stock that differs from the stock of the currently mounted form. For more information, see Section 13.8.2.1.

To control line overflow, create forms using DEFINE/FORM with the /[NO]TRUNCATE and /[NO]WRAP qualifiers described in Table 13-3.

Page Overflow

To control page overflow errors, use the /DEFAULT=[NO]FEED qualifier with INITIALIZE/QUEUE, START/QUEUE, or SET QUEUE. This qualifier controls whether a form-feed character is automatically inserted when the symbiont detects overflow into the bottom margin area. Users can use the PRINT/[NO]FEED command to override the default feed option specified for a queue.

Users can specify the /PASSALL qualifier with the PRINT command to bypass all formatting, including carriage control, that the print symbiont performs. The default is /NOPASSALL. Use this qualifier when the print symbiont formatting might interfere with the desired formatting of the file. The /PASSALL qualifier causes the print symbiont to send I/O to the device driver with all formatting suppressed.

13.6.7.9 Suppressing Initial Form Feed

When you start a print queue, a form feed is sent to the output device to ensure that the paper is at the top of the page before printing begins. The initial form feed causes a blank form to be printed when a queue starts.

To suppress the initial form feed, use the /NO_INITIAL_FF qualifier with INITIALIZE/QUEUE, SET QUEUE, or START/QUEUE.

13.6.8 Using Device Control Libraries

A device control library is a text library that contains user-written modules consisting of text or escape sequences. A device control library module can be used for the following purposes:

The three types of device control library modules, distinguished by their placement in a print job, are:
Module Type Placement
Setup Inserted at the beginning of a file.
Page setup Inserted at the beginning of each page.
Reset Inserted at the end of each job. Use reset modules to reset a printer to a known state at the end of a job.

How to Perform This Task

To use device control library options, perform the following steps:

  1. Create a library and insert modules.
  2. Assign the device control library to a queue. (This step is not necessary if you use the default library name SYSDEVCTL.TLB.)
  3. Create one or more forms with setup or page setup modules.
  4. Assign reset modules to a queue.

Commands for Processing Print Jobs

You can use the following commands to set up device control library modules for processing print jobs:
Command Description
DEFINE/FORM/SETUP Specifies one or more modules that set up the device at the start of each file of a job.
DEFINE/FORM/[NO]PAGE_SETUP Specifies one or more modules that set up the device at the start of each page of a job.
INITIALIZE/QUEUE/LIBRARY
START/QUEUE/LIBRARY
Specifies the file name of the device control library.
INITIALIZE/QUEUE/SEPARATE=[NO]RESET
START/QUEUE/SEPARATE=[NO]RESET
SET QUEUE/SEPARATE=[NO]RESET
Specifies one or more device control library modules that contain the job reset sequence for the queue.
PRINT/FORM Specifies the name or number of the form to be associated with the print job.

13.6.8.1 Understanding the Order of Device Control Module Output

Device control modules are sent to the printer within a print job in the following order:

  1. Reset modules assigned to the queue. (Reset modules are only used at this point for the first job printed after a queue is started.)
  2. Setup modules specified in the form definition.
  3. Page setup modules specified in the form definition.
  4. Setup modules specified with the PRINT command.
  5. Page 1 of file 1.
  6. Page setup modules specified in the form definition.
  7. Page 2 of file 1, and so forth.
  8. Page setup modules specified in the form definition.
  9. Last page of file 1.
  10. Setup modules specified in the form definition.
  11. Page setup modules specified in the form definition.
  12. Setup modules specified with the PRINT command.
  13. Page 1 of file 2.
  14. Page setup modules specified in the form definition.
  15. Page 2 of file 2, and so forth.
  16. Page setup modules specified in the form definition.
  17. Last page of file 2.
  18. Reset modules assigned to the queue.

The following sections describe how to manage device control libraries.

13.6.8.2 Creating a Device Control Library and Inserting Modules

To create a device control library and insert modules, perform the following steps:

  1. Create a device control library by entering a command in the following format:
    LIBRARY/CREATE/TEXT SYS$COMMON:[SYSLIB] filename.TLB 
    
  2. Determine the contents of the module---either the text to be inserted or the escape sequences needed for the printer setup you want. To determine the proper escape sequences for a printer option, refer to the operation guide for the specific printer.
  3. Create a module file and enter the appropriate escape sequences, carriage control characters, or text. Create and edit a module file as you would any other text file. Make sure your text editor does not insert a carriage return or line feed at the end of your file. This will affect your printer output.
  4. Insert the module into the device control library by entering a command in the following format:
    LIBRARY/INSERT/TEXT library-file module-file 
    

Note

To add a module to or delete it from a library, you must stop all output queues assigned to that library.

See the OpenVMS Command Definition, Librarian, and Message Utilities Manual for more information about creating libraries and inserting modules.

13.6.8.3 Assigning a Library to a Queue

To assign a device control library to an output queue, use the /LIBRARY qualifier with INITIALIZE/QUEUE or START/QUEUE in the following format:

INITIALIZE/QUEUE/LIBRARY=filename queue-name 

where filename is the name of the library file that contains the selected modules.

Libraries must be in SYS$LIBRARY and must have the file type .TLB. The default library is SYS$LIBRARY:SYSDEVCTL.TLB. Use the /LIBRARY qualifier to specify an alternate device control library. For example:

$ INITIALIZE/QUEUE/LIBRARY=LN03DEVCTL LN03_A_QUE

Note

If you specify a value for the /LIBRARY qualifier, do not include the directory, file type, or version number. The system assumes that the file is in SYS$LIBRARY and has the type .TLB. If you copy a library file from another node, be sure that the new library has a unique file name.

Operations that request a particular device control library module use the module from the library specified for the queue. Following are some guidelines for using libraries:

Example

If three libraries contained modules that set up a printer for landscape orientation, these modules might be named LANDSCAPE in all three libraries. This allows you to use the same form on any queue for which a library contains a module of the specified name, even though the modules might contain different device-specific sequences.

Use the following command format to display a listing of all modules contained within a specified library:

LIBRARY/LIST/FULL SYS$LIBRARY:library-name.TLB 

13.6.8.4 Creating Forms for Setup and Page Setup Modules

To specify a setup or page setup module for a queue, use the /SETUP=module or /PAGE_SETUP=module qualifier with DEFINE/FORM. The modules you specify with /SETUP are sent to the printer when the form is mounted, before each file of a job is printed. Similarly, the modules you specify with /PAGE_SETUP are sent to the printer before each page of a job.

Users can request the module by using one of the following qualifiers with the PRINT command:

13.6.8.5 Assigning a Reset Module to a Queue

To assign a module to an output execution queue to reset the printer to a known state at the end of each job, use the /SEPARATE=RESET=module qualifier with INITIALIZE/QUEUE, START/QUEUE, or SET QUEUE.

Because the /SEPARATE qualifier specifies mandatory queue options, the RESET module you specify is sent to the queue at the end of every job. The user cannot override this option.

Examples

In the following example, the reset sequence contained in the module resets the printer at the end of each job. It also resets the printer when the queue is started to ensure that the first job prints correctly.

$ INITIALIZE/QUEUE/LIBRARY=MYDEVCTL/SEPARATE=RESET=MODULE2 PDQ_QUE

The following example uses device control library modules to process a print job. Two device control modules are created and inserted into the library file MYDEVCTL.TLB. The escape sequence or text in the setup module named MODULE1 is sent to the printer to set up the printer before REPORT.TXT is printed and again before MEMO.TXT is printed. The escape sequence or text in the reset module named MODULE2 is sent to the printer only once after both files in job REPORT have printed.

$ LIBRARY/CREATE/TEXT SYS$LIBRARY:MYDEVCTL.TLB
$ EDIT MODULE1.TXT
    !enter printer escape sequences or text for module1
$ EDIT MODULE2.TXT
    !enter printer escape sequences or text for module2
$ LIBRARY/INSERT SYS$LIBRARY:MYDEVCTL.TLB/TEXT MODULE1
$ LIBRARY/INSERT SYS$LIBRARY:MYDEVCTL.TLB/TEXT MODULE2
$ INITIALIZE/QUEUE/START/ON=TTA9:/LIBRARY=MYDEVCTL PDQ_QUE
$ SET QUEUE/SEPARATE=RESET=MODULE2 PDQ_QUE
$ SHOW QUEUE/FULL PDQ_QUE
Terminal queue PDQ_QUE, idle on TOAD::TTA9, mounted form DEFAULT
   /BASE_PRIORITY=4/DEFAULT=(FEED,FORM=DEFAULT)/LIBRARY=MYDEVCTL
   /OWNER=[1,4]/PROTECTION=(S:M,O:D,G:R,W:R)/SEPARATE=(RESET=(MODULE2))
$ DEFINE/FORM/SETUP=MODULE1/STOCK=DEFAULT FORM1 1
 
$ PRINT/FORM=FORM1 REPORT.TXT,MEMO.TXT/QUEUE=PDQ_QUE
 
Job REPORT (Queue PDQ_QUE, entry 619) started on PDQ_QUE

13.7 Maintaining Queues

Once you set up your queues, you must monitor and modify them according to the needs of your site.

Also, setting up queues is not restricted to startup time. During normal operation, you can create and start queues as your needs dictate. If you decide to set up queues at a later time, refer to the instructions in Section 13.4.

If you create additional output queues at a later time, make sure to do the following:

13.7.1 Using Queue Management Commands

Table 13-4 lists commands for creating and controlling queues and tells whether they have the same effect on all queues or if they have different effects on autostart and nonautostart queues.

Table 13-4 Effects of Queue Commands
Command Effect on
Autostart Queues Nonautostart Queues
ASSIGN/MERGE Moves jobs from one queue to another. Moves jobs from one queue to another.
ASSIGN/QUEUE Redirects jobs in a logical queue to an execution queue. Redirects jobs in a logical queue to an execution queue
DELETE/QUEUE Deletes a queue. Deletes a queue.
DISABLE AUTOSTART/QUEUES After allowing jobs to complete, fails over all autostart queues to the next available node in each queue's node list. If a queue has no list specified, the queue is stopped. No effect.
ENABLE AUTOSTART/QUEUES Starts all stopped, active autostart queues capable of running on the node. No effect.
INITIALIZE/QUEUE Creates the queue. The /AUTOSTART_ON qualifier specifies one or more nodes or nodes and devices on which the queue can run. Creates the queue. The /ON qualifier specifies a single node or node and device on which the queue is to run.
INITIALIZE/QUEUE/START Creates the queue and activates it for autostart. The /AUTOSTART_ON qualifier specifies one or more nodes or nodes and devices on which the queue can run. Creates and starts the queue. The /ON qualifier specifies a single node or node and device on which the queue is to run.
SET QUEUE Modifies a queue. Modifies a queue.
SHOW QUEUE Displays information about a queue. Displays information about a queue.
START/QUEUE Activates the queue for autostart. Starts the queue.
STOP/QUEUE Pauses a queue. Pauses a queue.
STOP/QUEUES/ON_NODE Aborts current jobs and stops all queues on a node without stopping the queue manager. Aborts current jobs and stops all queues on a node without stopping the queue manager.
STOP/QUEUE/NEXT Stops a queue after allowing the current jobs to complete, and deactivates the queue for autostart. Stops a queue after allowing the current jobs to complete.
STOP/QUEUE/RESET Stops a queue abruptly and deactivates the queue for autostart. Stops a queue abruptly.

The following sections describe these tasks for managing queues:
Task For More Information
Monitoring queue information Section 13.7.1.1
Modifying a queue Section 13.7.1.2
Pausing a queue Section 13.7.1.3
Closing a queue Section 13.7.1.4
Stopping a queue Section 13.7.1.5
Preventing autostart queues from starting Section 13.7.1.6
Disabling autostart on a node Section 13.7.1.7
Stopping all queues on a node Section 13.7.1.8
Stopping queues before shutting down a system Section 13.7.1.9
Assigning a logical queue Section 13.7.1.10
Moving all jobs from one queue to another Section 13.7.1.11
Deleting a queue Section 13.7.1.12

13.7.1.1 Monitoring Queue Information

Use the SHOW QUEUE command to monitor the status of queues. To display queue information, enter SHOW QUEUE in the following format:

SHOW QUEUE [/qualifier,...] [queue-name] 


Previous | Next | Contents | [Home] | [Comments] | [Ordering info] | [Help]

[HR]

  6017P042.HTM
  OSSG Documentation
  22-NOV-1996 14:22:17.61

Copyright © Digital Equipment Corporation 1996. All Rights Reserved.

Legal