- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Server Que
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-25-2004 03:07 AM
08-25-2004 03:07 AM
to print to two different printers? Presntly our programs print only to one printer, but we would like the same job to print to two different printers. Thanks Joe
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-25-2004 03:10 AM
08-25-2004 03:10 AM
Re: Server Que
Purely Personal Opinion
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-25-2004 03:13 AM
08-25-2004 03:13 AM
Re: Server Que
Yes, the exact same file that prints on one printer, should be the same file print on the other printer.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-25-2004 03:32 AM
08-25-2004 03:32 AM
Re: Server Que
- send output to two different queues (one local, the other was a DQS queue for printing in a different location)
- adapt output that I have received from a IBM host via SNA/PRE (printer emulator) to send it to a laser printer.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-25-2004 03:38 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-25-2004 03:53 AM
08-25-2004 03:53 AM
Re: Server Que
The job is currently qued with the PRINT command. Print/que=XXX.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-25-2004 03:58 AM
08-25-2004 03:58 AM
Re: Server Que
HTH,
Thanks & regards,
Lokesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-25-2004 04:34 AM
08-25-2004 04:34 AM
Re: Server Que
If you want a transparent way to yours problem, try to implement CTLSMB as mentioned by Uwe. With CTLSMB you will have a queue which works with all methods for submitting print jobs.
You can write your own print symbiont. (The hardest way).
If you want a simplier way, you can write a simple command procedure which will substitute the print command. I give you a sample, which is not perfect but working:
$ double=0
$ a=1
$l:
$ qual = p'a'
$ if f$extract(0,4,qual).eqs."/QUE"
$ then
$ que = f$element(1,"=",qual)
$ if que.eqs."DOUBLE"
$ then
$ double=1
$ p'a'=""
$ endif
$ endif
$ show symbol /all
$ a=a+1
$ if a.lt.9 then goto l
$ oldprint=print
$ print=="PRINT"
$ if double
$ then
$ print /queue=q1 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8'
$ print /queue=q2 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8'
$ else
$ print 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8'
$ endif
$ print==oldprint
You must define a symbol like this:
$ PRINT == "@dev:[dir]PRINT.COM X"
The X at the end is a dummy parameter to allow to have a qualifier as first parameter (Not allowed by command procedures).
Bojan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-29-2004 04:01 PM
08-29-2004 04:01 PM
Re: Server Que
Regarding your code:
>$ oldprint=print
>$ print=="PRINT"
>...
>$ print whatever
>...
>$ print==oldprint
You can replace this with
$ printxx whatever
The additional "xx" will bypass symbol lookup, and since DCL doesn't look past the first 4 characters, it will invoke the real "PRINT" command. Purists will tell you that's not strictly supported, which is true (but I doubt very much it will ever break).
If you want fully supported, go with:
$ SET SYMBOL/SCOPE=(NOLOCAL,NOGLOBAL)
This will prevent the translation of global symbols and local symbols from higher level procedures while executing your procedure.
Note that your existing code will break symbol contraction. Consider:
$ PR*INT=="@dev:[dir]PRINT.COM X"
this will allow the verb "PRINT" to be contracted down to PR (just like the real command), but after your code executes, the ability to contract will be lost.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-29-2004 06:12 PM
08-29-2004 06:12 PM
Re: Server Que
Thank you for your hint. The printxx reduces the procedure for some error handling (in my procedure if you get an error in the real print command you lose the print symbol). The procedure I posted is far away from perfection. There is much to do abbout qualifier recognition ( print /copy=3/queue=double or print /queue=double/copy=3 will not work properly because there is no space between qualifiers). Maybe a new lexical function, say f$dclparse, will be great for such procedures.
I also noted that there is an extra line in my code ($ show symbol /all) this was only for debuging purpouses.
Bojan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-29-2004 06:21 PM
08-29-2004 06:21 PM
Re: Server Que
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-29-2004 06:21 PM
08-29-2004 06:21 PM
Re: Server Que
print/que=(prt1,prt2,prt3)
But if they are not of the same type, you may run in into /form handling problems.
Wim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-29-2004 06:27 PM
08-29-2004 06:27 PM
Re: Server Que
Are those multiple printers of the same type? If so, it might be feasable to create an execution queue for each of them, and one generic queue to print on all of these printers. This queue is to be used by your application.
$ INIT/QUEUE/.... printer1
$ INIT/QUEUE/.... printer2
$ INIT/QUEUE/.... printer3
$ INIT/QUEUE/GENERIC=(Printer1, printer2, printer3).... printqueue
And your programs shoud use:
PRINT /QUEUE=printqueue
Willem
OpenVMS Developer & System Manager
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-29-2004 06:33 PM
08-29-2004 06:33 PM
Re: Server Que
http://groups.google.com/groups?q=%22print+%22+%22to+2+printers%22+lpd&hl=nl&lr=&ie=UTF-8&selm=fa.svhddtj.1340roj%40ifi.uio.no&rnum=1
Wim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-29-2004 06:49 PM
08-29-2004 06:49 PM
Re: Server Que
the challenge is to send the same output to two different printers at the same time, not to send output once to any set of printers.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-30-2004 03:34 AM
08-30-2004 03:34 AM
Re: Server Que
if you redefine print command ad DCL level remember you can't type
PRINT /QUE=MyQue MyFile
because DCL command can't start with qualifier.
You must always type
PRINT MyFile /QUE=MyQue
Antonio Vigliotti
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-30-2004 04:22 AM
08-30-2004 04:22 AM
Re: Server Que
$ print/queue=TCPIP$LPD_IN_ATHENA_1 sys$login:login.com
Job LOGIN (queue TCPIP$LPD_IN_ATHENA_1, entry 1) pending
pending status caused by queue stopped state
$ write sys$output f$getsyi("version")
V7.3-1
$
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-30-2004 04:42 AM
08-30-2004 04:42 AM
Re: Server Que
before submition, que was in idle state, isn't true?
Antonio Vigliotti
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-30-2004 06:02 AM
08-30-2004 06:02 AM
Re: Server Que
the queue was stopped, because I didn't want any output. But upon re-reading your message I think I might have misunderstood you anyway - did you mean this?
$ set prompt="$$ "
$$ prt == "@PRT"
$$ prt /queue=TCPIP$LPD_IN_ATHENA_1 login.com
%DCL-W-IVQUAL, unrecognized qualifier - check validity, spelling, and placement
$$ prt "/queue=TCPIP$LPD_IN_ATHENA_1 login.com
Job LOGIN (queue TCPIP$LPD_IN_ATHENA_1, entry 2) pending
pending status caused by queue stopped state
$$ type prt.com
$ print/notify 'P1'
$ exit
$$
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-30-2004 08:33 AM
08-30-2004 08:33 AM
Re: Server Que
If you look at my first post in this thread I suggest that Joseph define a symbol like:
$ PRINT == "@dev:[dir]PRINT.COM X"
The X at the end is a dummy parameter which will solve the problem which was mentioned by Antonio. So Uwes prt.com will look something like this:
$ print/notify 'P2'
$ exit
Looking at Uwe test I realised that maybe something like this will also work (but i must test this and no VMS handy):
$ PRINT == "@dev:[dir]PRINT.COM"""
Bojan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-30-2004 05:20 PM
08-30-2004 05:20 PM
Re: Server Que
Here is the result from your suggestion:
$$ type prt.com
$ print/notify 'P1'
$ exit
$$ prt=="@prt"""
$$ prt/que=TCPIP$LPD_IN_ATHENA_1 login.com
%DCL-E-OPENIN, error opening prt" /que=TCPIP$LPD_IN_ATHENA_1 login.com as input
-RMS-F-SYN, file specification syntax error
$$ prt=="@prt """
$$ prt/que=TCPIP$LPD_IN_ATHENA_1 login.com
Job LOGIN (queue TCPIP$LPD_IN_ATHENA_1, entry 4) pending
pending status caused by queue stopped state
$$
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-30-2004 06:10 PM
08-30-2004 06:10 PM
Re: Server Que
The missing blank at the end was a typo. What hapens with the parameters? Probably you receive the rest of the line in P1. And what hapens if you have a quoted string in your line? I'm stil away from a VMS machine so I cant test.
About Joseph problem I think that writing a new symbiont will be the best solution. This symbiont could work as a multi printer symbiont (open connection to more printers and print simultaneously on all printers) or just do a requeue to other queues. But I think that this is not a simple task. How to solve the /delete qualifier? (This problem is also present in the simple command procedure).
Bojan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-30-2004 06:16 PM
08-30-2004 06:16 PM
Re: Server Que
I wasn't trying to present a solution - I am glad I didn't ;-)
Your comment clearly shows this cannot easily solved with a DCL procedure, but I am not surprised, either.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-30-2004 07:11 PM
08-30-2004 07:11 PM
Re: Server Que
I posted a warning to avoid %DCL-W-IVQUAL error as you said.
As you mentioned there are two workarounds:
1) PRT="@PRT ""
with blank and two (or three) double quotes;
this passes a unique parameter P1 without uppercase conversion to procedure; it's difficult analyze the parameters
2) PRT="@PRT """"
with blank and four double quotes;
this passes a 1.st empty qualifier and other converting in uppercase;
in this case you have only 7 qualifier.
Antonio Vigliotti