VX/JSP OpenVMS Batch and Print Queue Manager - OpenVMS Migration


VX/JSP is an implementation of the VMS BATCH & PRINT queue manager, API and command line interface for Linux/UNIX. It is an add-on module for VX/DCL that provides VMS DCL functionality for Linux/UNIX.

Learn More

INTRODUCTION

If you make use of VMS's extensive batch and print queue facilities, VX/JSP can be fully integrated with VX/DCL to provide a rich set of extended functions. The job spooler environment includes support for both batch execution and printer queues, with the necessary commands to START and STOP the queues, SUBMIT and PRINT. By providing users with identical command procedure capabilities, and the same programming enhancements and system-level interaction available to VMS users.

DCL Command line and API

VX/RT supports the following OpenVMS API's to communicate with the PRINT and BATCH Queue Manager

SYS$GETQUI
SYS$GETQUIW
SYS$SNDJBC
SYS$SNDJBCW

VX/JSP and DCL

VX/JSP is currently available integrated with VX/DCL, our implementation of VMS DCL for Linux/UNIX. VX/DCL provides more than 70 commands, logical names, symbols, lexical functions, command line editing, sort/merge and the ability to run existing VMS DCL command procedures. For more detailed information on our VX/DCL shell for Linux and UNIX see: DCL for Linux and UNIX

PRINT QUEUES

VX/JSP includes more than 100 option qualifiers, enabling most print routines to be seamlessly supported under Linux/UNIX. VX/JSP includes support for advanced printing capabilities, normally not available at all on Linux/UNIX, such as restarting a report on particular pages and rearranging entries in a queue.

Reports can be sent either directly to a UNIX device connected to a printer or via the UNIX spooler. Printer devices are specified in the device table, enabling VMS devices to be mapped to their UNIX equivalents

PRINT devices cane either be direct connected from the PRINT symbiont or can use the Unix print queue manager. OpenVMS devices mapped in DEVMAP file such as "LPT: /dev/lpt01 19200 8 N 1" or output can be 'piped' to the UNIX print manager "LPT1: -> | lp" or directly connect to a network printer

BATCH QUEUES

With VX/JSP you can use the DCL command SUBMIT to start jobs on a particular queue. These jobs will be a DCL command file, interpreted by VX/DCL at the time it is executed.

In order to make most efficient use of Linux/UNIX, it is possible to configure the Linux/UNIX priority of batch jobs to be run, as well as the time interval at which queues are scanned for new jobs.

While it does not currently provide support for generic queues, VX/JSP can simultaneously run multiple jobs on a single queue.

It is not currently possible to submit a job to a second VX/RT clustered processor, however, the ability is planned for future releases

SAMPLE (compressed) OUTPUT

$ SHOW QUEUE/FORM
Form name Number Description
---------------- ------ -----------
DEFAULT (stock=default) 0 Standard paper
TESTFORM_A (stock=Private stock 1) 1 Green
TESTFORM_B (stock=Private stock 2) 2 Red

Print queue SYS$PRINT, running, on LP:, mounted form TESTFORM_B
/PRIORITY=0 /NOENABLE_GENERIC
/DEFAULT=(NOFEED, FORM=TESTFORM_B) /STOCK="Private stock 2"

$ print testcall
$ show queue/full/all
Jobname Username Entry Status
------- --------- ------ ------
TESTCALL Sector7 1 pending
Submitted Tue Sep 1 22:35:02 /FORM=TESTFORM_B
(stock=Private stock 2) /PRIORITY=0
FILE: [tmp.test1]TESTCALL.COM;1
$
BATCH & PRINT COMMANDS
DEFINE
/DESCRIPTION
/LENGTH
/MARGIN=([BOTTOM=n],[TOP=n],[LEFT=n],[RIGHT=n])
/PAGE_SETUP
/SETUP
/SHEET_FEED
/STOCK
/TRUNCATE
/WIDTH
/WRAP
DEFINE FORMS
DEFINE CHARACTERISTICS
DELETE /FORM
DELETE /ENTRY
DELETE /QUEUE
INITIALIZE/QUEUE
PRINT & SUBMIT
/AFTER [VMS SPEC]
/AUTOSTART_ON
/BASE_PRIORITY
/BEFORE [VMS DATE SPEC]
/BURST=[ALL,ONE]
/COPIES=[number of copies]
/DEFAULT=(FORM=[FORM NAME])
/DEFAULT=[NO]FEED
/DEFAULT=[NO]FLAG[=ALL,ONE]}
/DEFAULT=[NO]TRAILER[=ALL,ONE]
/[NO]DELETE /DESCRIPTION=XXXXXX
/DEVICE=PRINTER /DEVICE=SERVER
/DEVICE=TERMNAL /FEED [NO] /FORM=XXXXXX
/FLAG=ONE /DEFAULT=[NO]FLAG[=ALL,ONE]}
BATCH & PRINT COMMANDS Cont.
PRINT & SUBMIT Cont
/DEFAULT=[NO]TRAILER[=ALL,ONE]
/[NO]DELETE /DESCRIPTION=XXXXXX
/DEVICE=PRINTER /DEVICE=SERVER
/DEVICE=TERMNAL
/FEED [NO]
/FORM=XXXXXX
/FLAG=ONE
/GENERIC
/IDENTIFY
/[NO]HOLD
/IMMEDIATELY
/JOB_LIMIT
/KEEP
/LENGTH=[FORM_LENGTH]
/LIB=[SYS$LIBRARY:SYSDEVCTL.TLB] (Defaults)
/LOG_FILE[=specifications]
/MARGIN=([BOTTOM=n],[TOP=n],[LEFT=n],[RIGHT=n])
/NAME= [JOB_NAME]
/NAME_OF_MANAGER=SYS$QUEUE_MANAGER (DEFAULT)
/NEW_VERSION
/NEXT
/[NO]NOTE
/[NO]NOTIFY
/ON=[node::]device[:] for printer queue
/ON=dns.name.com:port for remote printer queue
/ON=node:: for batch queue
/OWNER= [OWNER]
/PAGE_SETUP=[SETUP_NAME]
/PASSALL
/[NO]PRINTER[=queue]
/PRIORITY
/[NO]PROCESSOR[=tcpip$telnetsym]
BATCH & PRINT COMMANDS Cont.
PRINT & SUBMIT Cont
/PROTECTION=(S:M,O:D,G:R,W:S)
/QUEUE
/RELEASE
/REQUEUE
/RESET
/[NO]RETAIN=[ALL,ERROR]
/SCHEDULE=(SIZE | NOSIZE)
/SEPARATE=BURST,FLAG,TRAILER,(RESET=(PORTRAIT))
/SETUP=[SETUP_NAME]
/[NO]START
/STOCK=[STOCK_NAME]
/[NO]TRAILER[=ALL,ONE]
/[NO]TRUNCATE
/USER=[USER]
/WIDTH=[NUMBER]
/[NO]WRAP
/WSEXTENT=[SIZE] (IGNORED)
SET ENTRY
SET QUEUE /ENTRY
SHOW QUEUE {ALL_JOBS}{BATCH}{GENERIC}{FULL}
START/QUEUE {[/MANAGER],{[QUEUE QNAME]}
STOP/QUEUE {[/MANAGER],{[QUEUE QNAME]}
START/QUEUE QNAME
STOP/QUEUE/MANAGER
STOP/QUEUE QNAME
STOP/ENTRY ENTRY_NUMBER
SYNCHRONIZE [name] [/ENTRY] [/QUEUE] [/TIME_OUT]