Last updated January 9, 1997
We are frequently asked for advice on setting up various kinds of systems to submit a TCP/IP print job. Unfortunately, we don't have access to or experience with some of these systems. Fortunately, many our our clients do!
Several individuals have provided us with tips, which we present below. We are not necessarily able to confirm that this information is accurate or whether it contains anything that may prove harmful to your computer system or network. Before considering the following, we ask that you view these as suggestions rather than professional guidance. You should consult your system administrator or computer system vendor before making any changes which might affect availability or reliability.
MVS/JES
Bill Kelly, Auburn University
There are several potential sources of print data on an MVS mainframe, and several possible methods for LPRing that data to LPD server.
Perhaps the simplest case is where the LPR command is used to print a copy of a disk file. This can be done interactively (under TSO) or in a batch job. The LPR command is a part of IBM's TCP/IP for MVS product, and it works very much like the LPR command you would find on a workstation.
On most MVS systems, though, the majority of print data will be generated by two other sources:
Batch jobs normally produce printouts that go into the JES spool for printing. Output from CICS applications is designed to be sent directly to a 3270-family printer device.
There are a couple of options for intercepting both of these types of print data and LPRing them to a print server.
One method is to use IBM's Network Print Facility, a product that comes as an optional feature of TCP/IP for MVS version 3.1. NPF includes software that can take printouts from the JES spool and LPR them off to a print server. It also has software that "pretends" to be a 3270-style printer and intercepts printouts coming from CICS; these printouts are then sent via LPR to a print server.
The other option for printing JES and CICS data at an LPD server is a combination of products from Levi, Ray and Shoup. A product called VPS/TCPIP will take printouts from the JES spool and use LPR to send them to a server. A second product, called DRS, emulates 3270-style printers so that it can intercept CICS printouts and then send them to an LPD server.
Both IBM's NPF and Levi, Ray and Shoup's products require that the MVS system administrators define CICS printers and JES destinations to the software, and associate LPD hostnames/IP addresses with each "virtual" printer.
Billy Glenn, PG&E
Use the following menus after launching SMIT (as root):
From this point, you fill in the local and remote queue names, change the filters from aixshort/aixlong to bsdshort/bsdlong, and leave everything else as the defaults (fifo, no accounting, /usr/lpd/rembak as the backend program).
Billy Glenn, PG&E
Run admintool (as root), which provides a GUI interface for configuring the system. From there select Printer Manager, and choose to 'Add Printer'. This brings up a dialog box where you specify the printer name (queue name), printer server (remote host) and specify System V or BSD type (BSD in this case).
Leith Casone, Tropicana
The flow goes something like this.
Now anything that you send to the outq will go to the PC.
You can also send individual files to the printer by LPR or SNDTCPSPLF (send tcp spool file) commands. But this is slow, you have to copy spool file information down and then copy each file one at a time.
=================================================
Stuff from the IBM
Manual
=================================================
4.4.2.1 How do I set up printer pass-through?
To enable printer
pass-through, you need to create a remote output queue with the Create Output
Queue (CRTOUTQ) command and specify a remote system parameter with a value other
than *NONE. You may specify either the remote system (host) name or *INTNETADR,
in which case you will be prompted for the internet address of the remote
system.
A word of caution: A remote output queue cannot send any file for a user if the user profile for the user has a password of *NONE. Many AS/400 systems are configured to have passwords of *NONE for all IBM-supplied user IDs, like QSYSOPR. This will present a problem printing some system logs and other documents.
The following parameters on the CRTOUTQ command are relevant to using printer pass-through with LPR. Examples for specifying the parameters are shown in Figure 24.
+----------------------------------------------------------------------------------+ ¦ ¦ ¦ Create Output Queue (CRTOUTQ) ¦ ¦ ¦ ¦ Type choices, press Enter. ¦ ¦ ¦ ¦ Output queue . . . . . . . . . . > RCHASM01 Name ¦ ¦ Library . . . . . . . . . . . *CURLIB Name, *CURLIB ¦ ¦ Maximum spooled file size: ¦ ¦ Number of pages . . . . . . . *NONE Number, *NONE ¦ ¦ Starting time . . . . . . . . Time ¦ ¦ Ending time . . . . . . . . . Time ¦ ¦ + for more values ¦ ¦ Order of files on queue . . . . *FIFO *FIFO, *JOBNBR ¦ ¦ Remote system . . . . . . . . . > RCHASM01
I've used myname.mydomain.com
¦ ¦ ¦ ¦ ¦ Remote printer queue . . . . . . > RCHASM03 ¦
I've used MyName
¦ ¦ ¦ ¦ Writers to autostart . . . . . . > 1 1-10, *NONE ¦ ¦ More... ¦ ¦ F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel ¦ ¦ F13=How to use this display F24=More keys ¦ ¦ ¦ ¦ ¦ +----------------------------------------------------------------------------------+ +----------------------------------------------------------------------------------+ ¦ ¦ ¦ Create Output Queue (CRTOUTQ) ¦ ¦ ¦ ¦ Type choices, press Enter. ¦ ¦ ¦ ¦ Queue for writer messages . . . QSYSOPR Name ¦ ¦ Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB ¦ ¦ Connection type . . . . . . . . > *IP *SNA, *IP ¦ ¦ Destination type . . . . . . . . > *OTHER *OS400, *OS400V2, *PSF2... ¦
I've changed this to *Other
¦ Transform SCS to ASCII . . . . . *YES *YES, *NO ¦ ¦ Manufacturer type and model . . > *HP4
This represents the final destination printer, I have set this to *HP3 - If the AS/400 supports your printer this will translate the data to final output specs, set RPM to RAW and the doc will print according to the printfile defination (very limited). If there is a way to tell the AS/400 not to format this data (i.e. if I could specify *none or something else, *none is not an option) then I could use the formatted option of RPM. The 400 seems to have a problem actually "composing" the page in PCL? before it sends it down the fonts 13.3CPI x 6LPI that should fit on a page don't. I've changed to 15 CPI and the width is fine. I'm still working on the length.
Ensure that the print queue for the remote system exists before you start the pass-through process.
This completes the setup processing.
To start printer pass-through, do the following:
In the event of problems with this processing, the writer's job log is often a useful source of problem analysis material. To access this while the job is running, enter the WRKACTJOB SBS(QSPL) command and take option 5 against the writer job. This shows the Work with Writers display, from which it is necessary to press F17 to see the job log. This sequence is different from the usual one for viewing batch and interactive job logs while the jobs are running.
_ _ Create Printer File (CRTPRTF) _
_Typechoices,pressEnter._
File . . . . . . . . . . . . . . FILE >_TEST_______
Library . . . . . . . . . . . > _LCLIB______
Source file . . . . . . . . . . SRCFILE _*NONE______
Library . . . . . . . . . . . ____________
Source member . . . . . . . . . SRCMBR _*FILE______
Generation severity level . . . GENLVL _20_____
Flagging severity level . . . . FLAG _0______
Device specification: DEV
Printer . . . . . . . . . . . _*JOB_______
Printer device type . . . . . . DEVTYPE _*SCS_______
User specified DBCS data . . . . IGCDTA _*NO__
DBCS extension characters . . . IGCEXNCHR _*YES_
Text 'description' . . . . . . . TEXT
_*SRCMBRTXT_________________________________________
Source listing options . . . . . OPTION ___________
+ for more values ___________
Page size: PAGESIZE
Length--lines per page . . . . _66_______
Width--positions per line . . _132______
Measurement method . . . . . . _*ROWCOL_
Lines per inch . . . . . . . . . LPI _6_____
Characters per inch . . . . . . CPI _10____
The LPI and CPI that you can define here are limited.
Front margin: FRONTMGN
Offset down . . . . . . . . . _*DEVD_____
Offset across . . . . . . . . __________
Back margin: BACKMGN
Offset down . . . . . . . . . _*FRONTMGN_
Offset across . . . . . . . . __________
Overflow line number . . . . . . OVRFLW _60_____
Fold records . . . . . . . . . . FOLD _*NO__
Unprintable character action: RPLUNPRT
Replace character . . . . . . _*YES_
Replacement character . . . . _'_'_
Align page . . . . . . . . . . . ALIGN _*NO__
Control character . . . . . . . CTLCHAR _*NONE_
Channel values: CHLVAL ___
Channel . . . . . . . . . . . _*NORMAL_
Line number for channel:
Line . . . . . . . . . . . . . _________
+ for more values ___
Fidelity . . . . . . . . . . . . FIDELITY _*CONTENT__
Print quality . . . . . . . . . PRTQLTY _*STD_______
Form feed . . . . . . . . . . . FORMFEED _*DEVD____
Source drawer . . . . . . . . . DRAWER _1______
Output bin . . . . . . . . . . . OUTBIN _*DEVD_______
Font: FONT
Identifier . . . . . . . . . . _*CPI_______
Point size . . . . . . . . . . ________
Character identifier: CHRID
Graphic character set . . . . _*DEVD_____
Code page . . . . . . . . . . ________
Font character set: FNTCHRSET
Character set . . . . . . . . _*FONT_____
Library . . . . . . . . . . ____________
Code page . . . . . . . . . . ___________
Library . . . . . . . . . . ____________
Coded font . . . . . . . . . . . CDEFNT _*FNTCHRSET_
Library . . . . . . . . . . . ____________
Degree of page rotation . . . . PAGRTT _*AUTO_
Pages per side . . . . . . . . . MULTIUP _1______
Reduce output . . . . . . . . . REDUCE _*TEXT_
Print text . . . . . . . . . . . PRTTXT_*JOB_____________________________
Hardware justification . . . . . JUSTIFY _0______
Print on both sides . . . . . . DUPLEX _*NO_____
Unit of measure . . . . . . . . UOM _*INCH_
Front side overlay: FRONTOVL
Overlay . . . . . . . . . . . _*NONE_____
Library . . . . . . . . . . ____________
Offset down . . . . . . . . . __________
Offset across . . . . . . . . __________
Back side overlay: BACKOVL
Overlay . . . . . . . . . . . _*FRONTOVL_
Library . . . . . . . . . . ____________
Offset down . . . . . . . . . __________
Offset across . . . . . . . . __________
Defer write . . . . . . . . . . DFRWRT _*YES_
Spool the data . . . . . . . . . SPOOL _*YES_
Spooled output queue . . . . . . OUTQ _*JOB_______
Library . . . . . . . . . . . ____________
Form type . . . . . . . . . . . FORMTYPE _*STD_______
Copies . . . . . . . . . . . . . COPIES _1______
Page range to print: PAGERANGE
Starting page . . . . . . . . _1___________
Ending page . . . . . . . . . _*END________
Max spooled output records . . . MAXRCDS _100000______
File separators . . . . . . . . FILESEP _0_
Spooled output schedule . . . . SCHEDULE _*FILEEND_
Hold spooled file . . . . . . . HOLD _*NO__
Save spooled file . . . . . . . SAVE _*NO__
Output priority (on OUTQ) . . . OUTPTY _*JOB_
User data . . . . . . . . . . . USRDTA _*SOURCE____
DBCS character rotation . . . . IGCCHRRTT _*NO__
DBCS characters per inch . . . . IGCCPI _*CPI_______
DBCS SO/SI spacing . . . . . . . IGCSOSI _*YES___
DBCS coded font . . . . . . . . IGCCDEFNT _*SYSVAL___
Library . . . . . . . . . . . ____________
Maximum file wait time . . . . . WAITFILE _*IMMED_
Share open data path . . . . . . SHARE _*NO__
Record format level check . . . LVLCHK _*YES_
Authority . . . . . . . . . . . AUT _*LIBCRTAUT_
Replace file . . . . . . . . . . REPLACE _*YES_
And again IBM wins the worlds most verbose command award... the crowd goes wild!! :)
Michael Demker, Magistrat Salzburg
Scoadmin generates a printcap entry with a flag called "ex" by default. This flags means extended lineprinter protocol ... [which is not understood by any machine than] another SCO-machine. ("man printcap" was helpful).
Dave Brooks
I'm asked from time to time about printcap entries for Unix systems that use /etc/printcap. You will probably have the best results from man printcap or consulting a good Unix system administration book.
However, I was able to dig up an old printcap entry from a DEC Ultrix system (fields and values shown may not apply to your system):
dave|daves printer:\ :lp=:\ :of=/usr/lib/lpdfilters/lpf:\ :mx#0:\ :rm=davespc:\ :rp=lp0:\ :sd=/usr/spool/lpd:\ :lf=/usr/adm/lpd-errs:
The important fields here are rm, which specifies the hostname or IP address of the PC that your LPD is running on (in this case "davespc"), and rp which is the name of a queue you have defined in that LPD (in this case "lp0"). Note that this is not necessarily the same as a Windows print queue. An LPD queue is closer to a receive queue, that is, an agreed on place to send requests. An LPD should support multiple queues, and each queue should have its own processing characteristics, which usually would include the Windows print queue or queues it should go to.
[HOME] [NEWS] [COMPANIES] [PRODUCTS] [FEEDBACK]