Host to Workstation Printing Tips and Tricks This is a small document I have created due to the fact that there are many questions about this topic. The following are things I have found works best for me and I feel would be useful to others as well. If you have any questions/concerns about information contained in this document that you think should be added, removed or clarified please send me a EMAIL on Compuserve. Questions on this topic for Novell can be posted in the NOVA forum under "HostConnections". Matthew Moran 76256,3430 It is recommended that you use version 2.02 of WSLAN to do the printing with since it has many new patches and it is compatible with both the SNA and SAA gateways. Version 1.x will work but it does not have as many features that can be a major help and it is only compatible with the SNA Gateway. WSLAN 1.x should also have all of the latest PTFs applied. Support for WSLAN 1.x is now provided on via MicroDyne. MicroDyne can be contacted at Phone (408-376-2150) or FAX (408-866- 8124). Also you should be have added the most current PTFs to both versions an their gateways. There have been some big improvements since the codes were originally released. Definitions - Mainframe (VTAM or QINTER) - On the Mainframe define an LU that conforms to your shops naming standards. - Be sure to set the PACING for LU1 (SCS) and/or LU3 (DSC) lower then your terminals (LU2) so that the printers do not "hog" the gateway/PU and delay terminal data. - It is best to use an LU Type 1 (SCS) printer for its increased functionality but you can use an LU Type 3 (DSC) if you like. SCS (LU1) far better since it will allow Printer codes to be sent from the Mainframe, stream data to a printer without waiting for a response after every RU, and it can control printer characteristics. - You may need to make CICS TCT changes to tell you CICS region that the printer is DSC or SCS. Also if you have CPMS or VPS (JES2/CICS- VTAM Print Utilities) you may need to make the appropriate changes there as well. Definitions - Gateway (SNA or SAA) Create a dedicated printer session for the workstation that will be running the WSLAN configured as a printer. We have found it best to use a dedicated XT (since there are a ton around) and set it up for three sessions. You will need to specify on the SNA Gateway session if the printer data stream will be SCS or DSC. SAA does not care if it is SCS or DSC. Definitions - WSLAN - You can either route the output to a printer directly attached to the PC or to a Netware Queue. I have found it best to route the output to the LAN queue so that the printer can be used for both Mainframe and LAN output. To route data to the Netware queue you must issue capture statements on the machine that is doing the printing in order to redirect the data to the Server. - Configure the WSLAN as a full screen session (no DOS session) if you are going to be using a dedicated machine.If you do choose a DOS session then data routed to a Netware Queue will not be automatically released if you have used a TI=0 on your capture statement. To have the WSLAN preform a EOJ when an End of bracket is sensed from the Host then you will need to have NO DOS session. - I would highly recommend that TI=0 is used for many of the same reasons that it is used in the DOS application world. If data from the host does not pause for whatever time you specify on the TI parm then your data could end up in the Queue as ONE printjob until the need delay happens to release that data. For example if you TI=30 and CICS A starts printing 20 pages then it finishes and CICS B prints 50 pages only 20 seconds later then the first print stream was never released to the Netware Queue and both Printer streams appear as one to Novell. Your data will come up and look O.K. but the first user will have to wait until the second CICS has finished to get his output. If other regions start to print this could go on for a long time. - If you are using 2.02 then it is also easiest to pick both SCS and DSC compatibility. - If you are going to send data to the LAN you need to choose under Printer Options that the output will go to REDIRECTABLE and if your machine is dedicated then you can setup three sessions. Each one printing to a different LPT port. - I would recommend that you choose the PAGE PRINTER option. This will force the WSLAN to do a Formfeed (FF) when a new page is sent from the mainframe. Not choosing this option will cause the WSLAN to count lines to simulate a FF. ONLY use this option is your printer support the FF command, which almost all do. If your host does not send formfeeds (Skip to Channel 1) it should not have a effect since the host would be counting the lines for the emulator. - It is best NOT to use the initialization strings that can be set for 8 lpi and 6 lpi. What ever you put in this field will be sent after each RU from the host, and came sometimes seem to have the effect of placing these character throughout the printed page. If you DO NOT want to use this then go to the field and press the DEL key to delete everything. !!!DO NOT use the space bar or else spaces will appear in your data at what seems to be random!!! - Set the page length to 0 (2.02 only). This option will allow you to send data from the host that is greater then what you would normally set the number of lines at in WSLAN otherwise the WSLAN will do an automatic FF at what page length you set. Basically by setting it at 0 then you only get a FF when the host asks for it. - When you load the WSLAN 2.02 you can use the /B switch. This tells WSLAN how much of the CPU to use for printing so that you can control how CPU DOS gets and how much CPU WSLAN gets. The higher the number the more CPU WSLAN gets. If you PC is dedicated to printing only then use /B99. Definitions - PC - I would recommend that the PC running WSLAN is on the same LAN that the file server where the output is sent to. If the link to the server goes down then you will get the Network Error message. If you do get this often for whatever reason you may want to download NETERR.ZIP. This utility will reboot the PC automatically then the above message is detected. This will help reduce human intervention to reply to the message. - I have also found that creating a batch file on the PC that automatically logins to the needed server, loads the WSLAN code, CAPTURES to the queue is also quite helpful. Here is a sample: AUTOEXEC.BAT IPX O,NODE=nnnnnnnn,TBZ=4202 ROUTE NETX /PS=server_name CALL C:\BATCH\WSLAN.BAT WSLAN.BAT F: LOGIN server_name/WSLAN < C:\PASSWORD\password.txt CAPTURE Q=first_queue TI=0 NB NT NFF J=HPRESET CAPTURE Q=second_queue TI=0 NB NT NFF J=HPRESET CAPTURE Q=third_queue TI=0 NB NT NFF J=HPRESET CD\PROGRAMS\WSLAN WSLAN file_name.CFG /B99 Definitions - Server - Creating Netware "Printjobs" can be very useful for Mainframe/LAN printing. I have found it best to at least send a reset to the printer before sending any data and after. I feel the only way you know the state of the printer is if you set it right then. You could create a printjob that has just a reset (HP = X'1B45') and then have the WSLAN PC use the job parm on the capture statement. You could have the printjob send what every code you like (Landscape 8 lpi 66 lpp, etc) - You could capture to an existing queue or create new ones. I prefer to have one queue for the LAN data and one for Mainframe. Then I configure the Print Server to have a single printer service both queues. This way you can monitor each separately and set priorities as well. Sending Printer codes from the Mainframe If you would like to send printer codes from the Mainframe (which are below Hex 40 for most printers) the SCS data stream will allow this. (FYI X'' means that number in between the '' are hexadecimal) Because the WSLAN will convert EBCDIC to ASCII sending these codes could be a major pain. The SCS data stream has a special Transparency control code that will allow data on the Mainframe to be sent "ASIS" without translation. The data must start with a X'35'. The next code is a counter (in Hex) that tells WSLAN how many characters NOT to translate. For example to send the HP Reset string (X'1B45) from the host you would code in your COBOL program OR include in your JES2 output the following X'35021B45'. Notice the X'35' is (and needs to be) the first byte of the string. The next byte is the counter and is X'02' so that the following two bytes are NOT translated and will be sent to the printer as they appear. The last two bytes are the HP codes to reset the printer. CPMS or VPS can be configured so that these strings of data are sent to the printer either on request or by default. NULL Conversion Currently NULLS (X'00) will print as a dash on the output if sent from the Host. This code can not be changed in the Translation Table. Novell can provide you with the directions to do a ZAP on the WSLAN.EXE to have the null print as a space on the output. It is much better to not send nulls from the host but I realize that cannot always be done.