Lloyd
----- Original Message ----- From: "Kevin Toppenberg" <[EMAIL PROTECTED]>
To: <hardhats-members@lists.sourceforge.net>
Sent: Sunday, January 09, 2005 10:20 AM
Subject: [Hardhats-members] Setting up Printers (was overview...)
Hey all,
I'm back trying to get printers working. Here is the plan that seems best:
1. generate a unique filename for each print job 1. write the file to disk (host-file-system) 2. execute a ZSYSTEM lpr with the filename 3. at some later point, delete the print job file.
Below are helpful posts that have helped me, but I don't fully understand.
My question is about the variable "IO", as it is used in the CLOSE EXECUTE as per below. When I do a dump of IO on my system, this is what I see:
zwr IO IO="/dev/pts/4" IO(0)="/dev/pts/4" IO(1,"/dev/pts/4")="" IO("HOME")="38^/dev/pts/4" IO("ZIO")="/dev/pts/4"
-Here is the suggested items for TERMINAL TYPE
TERMINAL TYPE FILE:
P-SLAVE HP 80 GTM/LINUX FORM FEED: # RIGHT MARGIN: 80 PAGE LENGTH: 60 BACK SPACE: $C(8) CLOSE EXECUTE: U IO K IO(1,IO) C IO ZSYSTEM "lpr r"_IO
I don't understand what the CLOSE EXECUTE code is doing. I'll break it appart to show my thinking
1. USE IO -- IO on my system is "/dev/pts/4". But there was a suggestion somewhere to use UNIQUE^%ZISUTL() to create a unique IO name. If I were to change IO to "printjob123.dat", what other effect will this have?
2. KILL IO(1,IO) -- why is this being killed?
3. CLOSE IO -- should stop the USE IO command. But I don't see that anything useful was done between the USE and CLOSE commands.
4. ZSYSTEM -- This is where the Linux OS is told to actually print out the file "IO"
Also, in Chris's post below he set $I for the DEVICE file entry to $HOME/slave.dat. But Fil added a suggestion to add PRE-OPEN EXECUTE code to create a unique filename. Would I then have $I to be this:? $HOME/IO It seems that would just send to file "IO" rather than to the VALUE of IO (i.e. "PrintJob123")
I am also not sure as the the order of execution. There is PRE-OPEN EXECUTE and POST-CLOSE EXECUTE in the DEVICE file entry, and also in the TERMINAL TYPE file.
Anyway, as you can tell, I'm floundering a bit. Can anyone help? Thanks
Kevin
P.S. In the DEVICE file, I see field for PRINT SERVER NAME OR ADDRESS (#65), and TELNET PORT (#66). The help for these fields hint that they are for using lpd protocol to print to a print server. Does anyone know about this? I might be a more straight-forward way of printing vs. the method outlined above.
Thanks again Kevin
--- "Beza, Fil" <[EMAIL PROTECTED]> wrote:
[mailto:[EMAIL PROTECTED]In the DEVICE File, put the code in PRE OPEN EXECUTE to change the IO variable to the unique name.
_____
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]On Behalf Of Beza, Fil Sent: Saturday, November 13, 2004 8:22 AM To: hardhats-members@lists.sourceforge.net Subject: RE: [Hardhats-members] Printers... An overview please.
Hmmm... we don't have that problem in VMS because each file gets a different version number.
Take a look at %ZISUTL. It has an entry point to generate unique names
UNIQUE(ZISNA) ;Build a unque number to add to a device name ;If passed a name put the number before the last dot. N %,%1 S %=$H,%=$H_"-"_$J,%=$$CRC32^XLFCRC(%) I '$L($G(ZISNA)) Q % S %1=$L(ZISNA,"."),%="_"_% S:%1=1 %=ZISNA_% S:%1>1 %=$P(ZISNA,".",1,%1-1)_%_"."_$P(ZISNA,".",%1) Q %
_____
From: [EMAIL PROTECTED]
$C(27),"E",$C(27),"&l0o0S",$C(27),"&s0C",$C(27),"&k10H",$C(27)On Behalf Of Kevin Toppenberg Sent: Saturday, November 13, 2004 5:55 AM To: hardhats-members@lists.sourceforge.net Subject: RE: [Hardhats-members] Printers... An overview please.
Thanks for your feedback Fil.
It seems to me that one would need to send the printer file to a file with $J somehow included in it. Otherwise with dozens of users on the system simultaneously, the slave.dat file would be overwritten erroneously.
Thanks Kevin
"Beza, Fil" <[EMAIL PROTECTED]> wrote:
You can create multiple entries in the device file pointing to the same physical printer. Point each one to a different terminal type where each terminal type changes pitch etc depending on the PCL code you send to printer. Each TERMINAL TYPE entry will have a different OPEN EXECUTE. Take a look at the P-HP... entries in the TERMINAL TYPE File. A bunch of them are distributed with the FOIA distribution.
Here are three HP OPEN EXECUTES I use
10 PITCH OPEN EXECUTE: W
$C(27),"E",$C(27),"&l0o0S",$C(27),"&s0C",$C(27),"&k10H",$C(27),"&l7.4c2e67F",$C(27),"&a05l95M"
16 PITCH OPEN EXECUTE: W
$C(27),"E",$C(27),"&l0o1S",$C(27),"&s0C",$C(27),"&k10H",$C(27),"&l7.4c2e67F",$C(27),"&a05l132M",$C(27),"(s16h"
DUPLEX (DOUBLE SIDED) PRINT OPEN EXECUTE: W
[mailto:[EMAIL PROTECTED],"&l7.4c2e67F",$C(27),"&a05l95M"
-----Original Message----- From: [EMAIL PROTECTED]
On Behalf Of Beza, Fil Sent: Friday, November 12, 2004 12:36 PM To: hardhats-members@lists.sourceforge.net Subject: RE: [Hardhats-members] Printers... An overview please.
What Bhaskar said is how we print via TCPIP in Cache/VMS. We actually send the output to a file thus we treat the Device as a file instead of a printer. Then using the CLOSE EXECUTE field in the Terminal Type file we send a command to VMS to send the file to the printer.
Try this - courtesy of Chris Richardson:
DEVICE FILE:
NAME: your device name ASK DEVICE: NO ASK PARAMETERS: NO ASK HOST FILE: NO SUPPRESS FORM FEED AT CLOSE: YES TYPE: HOST FILE SERVER SUBTYPE: P-SLAVE TEXT GTM/LINUX $I: $HOME/slave.dat OPEN PARAMETERS: newversion
TERMINAL TYPE FILE:
P-SLAVE HP 80 GTM/LINUX FORM FEED: # RIGHT MARGIN: 80 PAGE LENGTH: 60 BACK SPACE: $C(8) CLOSE EXECUTE: U IO K IO(1,IO) C IO ZSYSTEM "lpr -r "_IO
-snip-
__________________________________ Do you Yahoo!? Yahoo! Mail - Easier than ever with enhanced search. Learn more. http://info.mail.yahoo.com/mail_250
------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members