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]