IBM Host On-Demand Version
Thirteenth Edition (March 2019)
This edition applies to Version 14.0 of IBM(R) Host On-Demand (program number 5724-I20) and to all subsequent releases and modifications until otherwise indicated in new editions.
(C) Copyright International Business Machines Corporation 1997, 2019. All
rights reserved.
The Host Printing Reference describes the host printing functions provided by Host On-Demand.
This document is written for application developers and administrators.
The Host Printing Reference is also available both on the product DVD-ROM and in the Host On-Demand online Knowledge Center at http://www-01.ibm.com/support/knowledgecenter/SSS9FA/hod_family_welcome.html.
The MySupport feature enables you to personalize your support view and to register to receive weekly e-mail notifications alerting you to new patches, new downloads, and other timely technical support information for IBM products. To register for MySupport, follow the instructions in the Technote found at the following URL: http://www-01.ibm.com/support/docview.wss?uid=swg21460904
The following typographic conventions are used in the Host Printing Reference:
Convention | Meaning |
Monospace | Indicates text you must enter at a command prompt and values you must use literally, such as commands, functions, and resource definition attributes and their values. Monospace also indicates screen text and code examples. |
Italics | Indicates variable values you must provide (for example, you supply the name of a file for file_name). Italics also indicates emphasis and the titles of books. |
Return | Refers to the key labeled with the word Return, the word Enter, or the left arrow. |
|
This graphic is used to highlight notes to the reader. |
The Host On-Demand client supports 3270 printing. You can direct a 3270 Logical Unit Type 3 (LU3) or Logical Unit Type 1 (LU1) print data stream to any of the following print destinations:
A Host On-Demand 3270 printer session emulates an IBM 3287 printer running in either LU3 or LU1 mode.
When you configure a 3270 Printer session, you do not have to specify whether the session uses LU Type 3 or LU Type 1. Instead, the Host On-Demand client automatically detects the LU type when the client connects with the 3270 host.
The term Logical Unit (LU) comes from the Systems Network Architecture (SNA). In a 3270 Printer session, the Host On-Demand client connects with a Telnet server rather than with an SNA server. However, the LU3 or LU1 data stream transmitted by the Telnet server is identical with the LU3 or LU1 data stream transmitted by an SNA server. |
Because the purpose of a Host On-Demand 3270 Printer session is to emulate a 3287 printer, a 3270 Printer session does not offer the same options that you may be used to seeing when you print a document from a word-processing program. In particular, you will find these differences:
This section contains background information to help you understand how to configure the Printer Setup window for a 3270 Printer session.
To open the Printer Setup window for a 3270 Printer session, follow these steps:
You can also open the Printer Setup window from other contexts (see Printer Setup (3270 Printer session, 5250 Printer session, and 3270 Display session) in the online help). Configuring the Printer Setup window in these contexts is similar to the configuration described here.
The Print to listbox at the top of the Printer Setup window offers (depending on the client platform) up to five print methods:
The following sections describe how to use the print methods on the following Host On-Demand client platforms.
The following table shows the print methods available when the Host On-Demand client is running on a Windows platform and summarizes the characteristics associated with each print method:
Print method: | Characteristics: |
---|---|
A. Windows Printer, with Use Printer Definition Table set to No |
|
B. Windows Printer, with Use Printer Definition Table set to Yes |
|
C. Other Printer (always uses a Printer Definition Table)
|
|
D. File, with Use Adobe PDF set to No (always uses a Printer Definition Table) |
|
E. File, with Use Adobe PDF set to Yes (does not use a Printer Definition Table) |
|
A. Windows Printer, with Use Printer Definition Table set to NoThis is the default print method for the Host On-Demand client running on a Windows platform. To select this print method:
- Open the Printer Setup window.
- Expand the Print to listbox and click Windows Printer.
- Set Use Printer Definition Table to No.
You can select the Windows printer that you want to use, either a local printer or a network printer. To select a Windows printer:
- Open the Printer Setup window.
- To use the default Windows printer, set Choose Windows Printer to Use Default.
- To select another Windows printer:
- Set Choose Windows Printer to Other.
- Click Select Printer
You can select a Windows font. To select a Windows font:
- Open the Page Setup window.
- In the session properties window, in the left pane, click Page Setup.
- Click Select Font.
- In the Font window, select a font from the Font column.
- Do not use the Font style and Size settings in the Font window. Even though these settings appear to be enabled, they have no effect on Host On-Demand client printing.
You can easily modify Windows printer properties (such as Portrait or Landscape, Pages Per Sheet, Print Quality, and other properties) using the Windows Print Setup dialog. To modify Windows printer properties:
- Open the Printer Setup window.
- Set Choose Windows Printer to Use Default.
- Click Select Printer.
- In the Print Setup dialog, click Properties.
This print method (Windows Printer, with Use Printer Definition Table set to No) is useful when it is not possible to access the printer without using the Windows printer driver (as is the case with a USB printer or a Windows-only printer) or when a PDT file is not available (as is the case with a PostScript printer).
Because this print method uses Windows Native Printer Interface (WNPI) mode:
- You can print some special characters (such as the euro character) if the characters are present in the Windows font, even if the printer does not have the special characters in its firmware.
- Processing is slower than with print method B.
- The 3270 data stream command TRN (Transparent) may not be processed correctly. If not, use a different print method.
B. Windows Printer, with Use Printer Definition Table to Yes
To select this print method:
- Open the Printer Setup window.
- Expand the Print to listbox and click Windows Printer.
- Set Use Printer Definition Table to Yes.
- Expand the Printer Definition Table listbox and select a PDT.
Before the Host On-Demand client can use this print method, the Host On-Demand administrator must provide a Printer Definition Table (PDT) (see Creating a PDT file ).
You can select the Windows printer that you want to use, either a local printer or a network printer. To select a Windows printer:
- Open the Printer Setup window.
- To use the default Windows printer, set Choose Windows Printer to Use Default.
- To select another Windows printer:
- Set Choose Windows Printer to Other.
- Click Select Printer
Because this print method uses Windows Spooler Interface (WSI) mode:
- You cannot print some special characters (such as the euro character) unless the printer has the special characters in its firmware.
- Processing is faster than with print method A.
C. Other Printer (always uses a Printer Definition Table)
On non-Windows platforms, this print method is called Printer.
Normally you do not need to use this print method on the Windows platform. It produces the same output as method A or method B, but is less user friendly.
To select this print method:
- Open the Printer Setup window.
- Expand the Print to listbox and click Other Printer.
- Expand the Printer Definition Table listbox and select a PDT.
Before the Host On-Demand client can use this print method, the Host On-Demand administrator must provide a Printer Definition Table (PDT) (see Creating a PDT file ).
In the Printer Name field, you can type any one of the following:
- The name of a valid print device (such as LPT1, LPT2, and so on).
The Host On-Demand client writes the print data stream to the LPT device that you specify. The user is responsible for configuring the client workstation to associate this LPT device with a printer.
- The UNC name of a network printer (such as \\myServer\myPrinter).
The Host On-Demand client writes the print data stream to the network printer.
- A valid file path and name.
The Host On-Demand client writes the print data stream to the specified file.
- If the file path is not included (that is, if only the file name is specified) then the Host On-Demand client writes the print data stream to the specified file name in the browser's working directory.
- If the file path is a relative path, then the Host On-Demand client applies the relative path to the browser's working directory and the writes the print data stream to the specified file name in that directory.
D. File, with Use Adobe PDF set to No (always uses a Printer Definition Table)
To select this print method:
- Open the Printer Setup window.
- Expand the Print to listbox and click File.
- Set Use Adobe PDF to No.
- In the File Path and Name field, type a valid file path and name.
- Expand the Printer Definition Table listbox and select a PDT.
Before the Host On-Demand client can use this print method, the Host On-Demand administrator must provide a Printer Definition Table (PDT) (see Creating a PDT file ).
For the file path and name, see Specifying a File Path and Name.
You can also use the File Path and Name field to specify one or more native console commands to be run after the host print job completes (see Running external commands after host print jobs in the online help).
This print method is useful when you do not want to send the print output to a printer immediately. For example:
- You might not have access to a printer; or
- You might want to attach the print output file to an e-mail.
This print method also is useful when if you want to generate print output in a flat ASCII format.
E. File, with Use Adobe PDF set to Yes (does not use a Printer Definition Table)
To select this print method:
- Open the Printer Setup window.
- Expand the Print to listbox and click File.
- Set Use Adobe PDF to Yes.
- In the File Path and Name field, type a valid file path and name.
The Host On-Demand client transforms the print output to binary data in Adobe PDF format, and writes the binary data into the specified file. The file can be viewed with Adobe Reader version 4.0 or later.
This print method is useful when you want to transform the data to a portable and easily viewable format.
This method does not require a PDT.
The following table shows the print methods available when the Host On-Demand client is running on a UNIX, AIX, or LINUX platform, and summarizes the characteristics associated with each print method:
Print method: | Characteristics: |
---|---|
A. Windows Printer, with Use Printer Definition Table set to No |
|
B. Windows Printer, with Use Printer Definition Table set to Yes |
|
C. Printer (always uses a Printer Definition Table)
|
|
D. File, with Use Adobe PDF set to No (always uses a Printer Definition Table) |
|
E. File, with Use Adobe PDF set to Yes (does not use a Printer Definition Table) |
|
A. Windows Printer, with Use Printer Definition Table set to NoThis print method is not available on UNIX, AIX, or Linux.
B. Windows Printer, with Use Printer Definition Table set to YesThis print method is not available on UNIX, AIX, or Linux.
C. Printer (always uses a Printer Definition Table)
On Windows platforms, this print method is called Other Printer.
This is the default print method for the Host On-Demand client when it is running on a UNIX, AIX, or Linux platform. To select this print method:
- Open the Printer Setup window.
- Expand the Print to listbox and click Other Printer.
- Expand the Printer Definition Table listbox and select a PDT.
Before the Host On-Demand client can use this print method, the Host On-Demand administrator must provide a Printer Definition Table (PDT) (see Creating a PDT file ).
To send the print output to a printer attached directly to the workstation, you must type a valid device name (such as /dev/lp0) into the Printer Name field. The Host On-Demand client writes the print data stream to the device that you specify.
To send the print output to a network printer, you cannot use this method on UNIX, AIX, or Linux. Instead, use method D.
D. File, with Use Adobe PDF set to No (always uses a Printer Definition Table)
To select this print method:
- Open the Printer Setup window.
- Expand the Print to listbox and click File.
- Set Use Adobe PDF to No.
- In the File Path and Name field, type a valid file path and name.
- Expand the Printer Definition Table listbox and select a PDT.
Before the Host On-Demand client can use this print method, the Host On-Demand administrator must provide a Printer Definition Table (PDT) (see Creating a PDT file ).
For the file path and name, see Specifying a File Path and Name.
You can also use the File Path and Name field to specify one or more native console commands to be run after the host print job completes (see Running external commands after host print jobs in the online help).
This print method is useful when you do not want to send the print output to a printer immediately. For example:
- You might not have access to a printer; or
- You might want to attach the print output file to an e-mail.
You must also use this method when you want to send print output from an UNIX, AIX, or Linux workstation to an available network printer. Follow these steps:
- Use the File print method to send the output to a file.
- From the command prompt, issue the appropriate command to send the file to the network printer. For example, if the name of the file is hprint.000 and the name of the remote printer is prtq1, then you might type:
lp -dprtq1 hprint.000orlp -Pprtq1 hprint.000E. File, with Use Adobe PDF set to Yes (does not use a Printer Definition Table)
To select this print method:
- Open the Printer Setup window.
- Expand the Print to listbox and click File.
- Set Use Adobe PDF to Yes.
- In the File Path and Name field, type a valid file path and name.
The Host On-Demand client transforms the print output to binary data in Adobe PDF format, and writes the binary data into the specified file. The file can be viewed with Adobe Reader version 4.0 or later.
This print method is useful when you want to transform the data to a portable and easily viewable format.
This method does not require a PDT.
The Host On-Demand host print clients (3270 Printer session and 5250 Printer session) use the following three print technologies (or print "modes"):
The 3270 Display session uses a fourth print technology:
The following table summarizes the relationships between the five print methods described in the preceding sections and the three print technologies used by host print clients:
Print method: | Print technology: |
---|---|
Windows Printer, with Use Printer Definition Table set to No | Windows Native Printer Interface (WNPI) mode |
Windows Printer, with Use Printer Definition Table set to Yes | Windows Spooler Interface (WSI) mode |
Other Printer or Printer (always uses a Printer Definition Table) | Java File Interface (JFI) mode |
File, with Use Adobe PDF set to No (always uses a Printer Definition Table) | Java File Interface (JFI) mode |
File, with Use Adobe PDF set to Yes (does not use a Printer Definition Table). | Java File Interface (JFI) mode and libraries for generating Adobe PDF format. |
The following subsections describe each of the three print technologies (print "modes")
This mode is supported by Host On-Demand Version 12.0 and later versions and is available only on clients running a Windows platform.
In this mode, the Host On-Demand client sends the print data stream to the printer by making Graphics Device Interface (GDI) API calls to the Windows printer driver for the selected printer via the Java Native Interface (JNI).
Because the Host On-Demand client is communicating with the Windows printer driver, this mode is useful:
Because the Host On-Demand client communicates with the Windows printer driver:
The Windows Native Printing mode uses two Windows native library files (hodprint.dll and hodprinterdriver.dll), which are automatically installed to your local file system. The directory where those files are installed varies depending on the Windows platform and the browser you are using.
This mode is supported by Host On-Demand Version 12.0 and later versions and is available only on clients running a Windows platform.
In this mode, the Host On-Demand client:
The use of a Printer Definition Table (PDT) often provides greater flexibility than may be available with Windows Native Printer Interface (WNPI) mode, because the PDT can specify printer data stream features that may not be supported by the Windows printer driver.
The Windows Spooler Interface mode uses two Windows native library files (hodprint.dll and hodspoolermode.dll), which are automatically installed to your local file system. The directory where those files are installed varies depending on the Windows platform and the browser you are using.
This mode is supported on all Host On-Demand client platforms that support host print.
In this mode the Host On-Demand client:
The use of a Printer Definition Table (PDT) provides great flexibility, because the PDT can specify detailed printer data stream features.
When you select to print to a file in the drop-down list of Print To options in the Printer window, you can type the File Path and Name.
3270 printer sessions now include the option to print to Adobe PDF files. This feature allows users to view files in a standard Web browser with the Adobe Acrobat plug-in installed. The Advanced Options panel enables the selection of paper size, paper orientation, and Adobe PDF fonts.
The following table lists all of the supported paper sizes for Adobe PDF files. The default paper size for US English and Canadian locales is Letter. For all other locales, the default paper size is A4.
Table 5. Supported Paper Sizes
Name | Region | Physical Width | Physical Height |
North American Media Sizes | |||
Number 10 | North America | 4.125 in. | 9.500 in. |
Number 9 | North America | 3.875 in. | 8.875 in. |
Continuous Sheet (132 columns) | North America | 11.000 in. | 13.200 in. |
Continuous Sheet (80 columns) | North America | 8.000 in. | 11.000 in. |
Executive | North America | 7.250 in. | 10.500 in. |
Ledger | North America | 11.000 in. | 17.000 in. |
Legal | North America | 8.500 in. | 14.000 in. |
Letter | North America | 8.500 in. | 11.000 in. |
Monarch | North America | 3.875 in. | 7.500 in. |
ISO/Japanese Media Sizes | |||
A3 | ISO/Japan | 297.0 mm | 420.0 mm |
A4 | ISO/Japan | 210.0 mm | 297.0 mm |
A5 | ISO/Japan | 148.0 mm | 210.0 mm |
B4 (ISO) | ISO | 250.0 mm | 353.0 mm |
B4 (JIS) | Japan | 257.0 mm | 364.0 mm |
B5 (ISO) | ISO | 176.0 mm | 250.0 mm |
B5 (JIS) | Japan | 182.0 mm | 257.0 mm |
C5 | ISO | 162.0 mm | 229.0 mm |
DL | ISO | 110.0 mm | 220.0 mm |
For continuous sheets, the default margin value on all sides (top, bottom, right, and left) is 0. For North American paper (not including continuous sheets), the default margin value is 0.25 inches on all sides. For ISO/Japanese paper, the default margin value is 5 mm on all sides.
Code pages used in Adobe PDF files
If the specified host code page is not Bidi or DBCS, Host On-Demand uses an internal Windows code page in the generated Adobe PDF file. The following list shows the Windows code pages that are used for specific host code pages:
- 1250 Windows Latin 2 (Central Europe) - 870 and 1153
- 1251 Windows Cyrillic (Slavic) - 1025, 1123, 1154, and 1158
- 1252 Windows Latin 1 (ANSI)- 037, 273, 275, 274, 277, 278, 280, 284, 285, 297, 500, 871, 924, 1047, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, and 1149
- 1253 Windows Greek - 875
- 1254 Windows Latin 5 (Turkish) - 1026 and 1155
- 1257 Windows Baltic Rim - 1112, 1122, 1156, and 1157
Since Greek host code page 875 and Estonian host code pages 1122 and 1157 have characters that are not included in the Windows code pages above, the following characters cannot be printed:
- 875 Greek Host - 0xA0 and 0xDD
- 1122 and 1157 Estonian Host - 0x42, 0x44-0x46, 0x48, 0x49, 0x52-0x58, 0x62, 0x64-0x66, 0x68, 0x69, 0x72-0x78, 0x8D, 0x9A, 0x9B, 0xAA, 0xAB, 0xAD, 0xB2, 0xBC, 0xCB, 0xCD, 0xDB, 0xDD-0xDF, 0xEB, 0xED, 0xFB, 0xFD, 0xFE
Please note the following definitions:
Broadly, the steps in compiling a PDF are as follows:
To deploy a PDT file to the workstation on which the Host On-Demand client is running:
The following subsections describe how to create PDTs in more detail.
A printer definition file (PDF) is an ASCII file that contains macro definitions, session parameters, formatting controls, and character definitions. You can edit a PDF with an ASCII text editor to customize it for your printer. Most printers support similar commands for basic functions, but they differ widely in their support for more advanced functions. Several PDFs are provided that should be suitable for most printers, except those that use PostScript and the HP Printing Performance Architecture (PPA).
You can compile and use PDFs from IBM Personal Communications for Host On-Demand. However, not all controls are supported.
Note that there is no connection between the PDFs in Host On-Demand and the Adobe PDF (Portable Document Format) files. |
A printer definition table (PDT) is a file that is used to format the data stream that the host application sends. The Host On-Demand emulator converts the data stream from EBCDIC to ASCII (unless there is a passthru command in the data stream), formats the data according to controls specified in the data stream or in the PDT itself, and sends the data to the printer. You can use a simple PDT that contains basic instructions. However, if you want to use some of the newer workstation-printer functions, such as the ability to change fonts or paper-drawers, the PDT must be customized for your printer, and the host application must send the necessary commands. You must, in any case, use a PDT that is suitable for the emulation mode that the printer supports (HP PCL Level 3, IBM PPDS, and so on).
Several generic and specific PDTs are provided with Host On-Demand for both Single-byte Character Set (SBCS) and Double-byte Character Set (DBCS) printers. You can create customized versions of these or you can create entirely new ones. In either case, you need a Printer Definition File (PDF) from which to create a PDT.
The compiler is a Java application that runs on a Host On-Demand server or a locally installed client. The compiler does not run on a download client.
When you start the compiler, it presents a graphical interface consisting of two entry fields: one for a PDT name and one for a printer description. A Status and Error Information window also appears. A log file called pdtc.log is created.
On a Windows XP, Windows 7, Windows 8, Windows 10, Windows Server 2008, Windows Server 2010 or a Windows client, you can start the compiler through Administration on the Start menu. On other platforms, you must start the compiler with a Java command. Sample command files are provided.
You can also start the compiler in non-graphical mode from a command line.
The PDFs and PDTs provided by IBM are installed in the pdfpdt subdirectory
of the publish directory on a server
(for example,
<HostOnDemandInstallLocation>\HOD\pdfpdt
)
and in the equivalent subdirectory on a
locally installed client
).
PDFs have the extension .pdf, and PDTs have the extension .hodpdt. A number
of other PDFs are provided as examples and can be found in the
samples\pdf directory of the publish directory
(for example,
%HostOnDemandInstallLocation%\HOD\samples\pdf
).
For Arabic and Hebrew, prn*.pdf files are provided in the samples\pdf directory. To use one of these prn*.pdf files, copy the file from the samples\pdf directory to the pdfpdt\usrpdf directory, modify the copied file if necessary, and then compile it.
When compiling printer definition files shipped with Host On-Demand that contain Arabic or Hebrew markers, the resulting PDT does not appear in the Print Definition Table drop-down list in the printer properties on non-Hebrew or non-Arabic machines. Refer to the Host On-Demand Hints and Tips website for detailed information. |
The following PDFs and PDTs are provided specifically for Host On-Demand:
basic | Basic ASCII text mode A simple PDF that produces readable output from most printers |
LaserPCL | HP PCL Level 3 (Laser Printers) Suitable for most laser printers in PCL mode |
LaserPPDS | IBM PPDS Level 2 Suitable for most laser printers in PPDS level-2 mode |
Proprinter | IBM PPDS Level 1 (Proprinter XL, X24, XL24) Suitable for most printers in PPDS level-1 mode |
PDFs contain annotations that explain the purpose of parameters. Each section
begins with text that explains how the parameters can be used. For more
information, refer to Understanding the Format of Printer
Definition Files and Printer Definition File Example (3270).
When the host code page is Thai (838 or 1160), the following PDFs and PDTs are available:
Thai
basic_thai | Basic ASCII text mode |
esc_pthai | Thai EPSON ESC/P compatible printers |
esc_p2thai | Thai EPSON ESC/P2 compatible printers |
necthai | Thai NEC printers |
For DBCS printers, the following PDTs and PDFs are provided:
Japan
basic_dbcs | ASCII text mode: A simple PDF that produces readable output from most printers |
esc_p | Printers based on ESC/P 24-J84: Suitable for most EPSON ESC/P printers |
ibm5577 | IBM 5577-B02, F02, G02, H02: Appropriate for IBM 5577-series printers |
ibm5585 | IBM 5585-H01 Printer: Appropriate for IBM 5585 printers and printers based on pages |
ibm5587 | IBM 5587-G01, H01: Appropriate for IBM 5587 printers (without advanced function) |
lips3a4 | Printers based on LIPS 3: Appropriate for Canon LIPS printers (A4 size) |
lips3b4 | Printers based on LIPS 3: Appropriate for Canon LIPS printers (B4 size) |
Korean
ibm5577k | Korea IBM 5577 printer: Appropriate for IBM 5577 printers |
kssm_jo | KSSM_jo Printer: Appropriate for "combined" character-code-mode printers |
kssm_wan | KSSM_wan Printer: Appropriate for "complete" character-code-mode printers |
ks_jo | KS_jo Printer: Appropriate for "combined" character-code-mode printers |
ks_wan | KS_wan Printer: Appropriate for "complete" character-code-mode printers |
China and Taiwan
esc_pp | Simplified Chinese ESC/P Printer: Appropriate for most EPSON ESC/P printers in China |
esc_5550 | Traditional Chinese ESC/P Printer (5550): Appropriate for most EPSON printers in 5550-character-code mode in Taiwan |
esc_big5 | Traditional Chinese ESC/P Printer (big-5): Appropriate for most EPSON printers in Big-5-character-code mode in Taiwan |
esc_cns | Traditional Chinese ESC/P Printer (cns): Appropriate for most EPSON printers in CNS-character-code mode in Taiwan |
esc_tca | Traditional Chinese ESC/P Printer (tca): Appropriate for most EPSON printers in TCA-character-code mode in Taiwan |
ibm5577t | Traditional Chinese IBM 5577 Printer: Appropriate for IBM 557x-series printers in Taiwan |
ibm5585t | Traditional Chinese IBM 5585 Printer: Appropriate for IBM 5585 PAGE printers in Taiwan |
The list of printer definition tables that appears on the Printer page of the session-configuration panel varies according to the Host Code Page that you set on the Connection page. In addition to those PDTs appropriate to the code page, the list includes any PDTs that you have created. If a session is configured for a DBCS code page, but you want to use an SBCS PDT, copy the appropriate PDF to the usrpdf directory and compile it with another name. It will then be a user-created PDT and will appear in the list on the configuration panel. |
A PDT must be appropriate to the printer-emulation mode you want to use. For SBCS printers, the supported modes are:
For DBCS printers, the supported modes are:
If you are not sure which emulation modes or languages your printer supports, refer to the printer's technical documentation.
In some cases, it may be necessary to change the settings on the printer so that they match the mode for which the PDT is written. Some printers can switch between modes automatically or have software that enables you to change the mode. It is important to refer to the printer documentation to decide which PDT to use and how to set the correct mode on the printer. The printer manufacturer's Web site is another valuable source of information.
|
If you are not able to use any of the IBM-provided PDTs, you can create one. However, you cannot create a PDT directly. You must first create a printer definition file (PDF), and then compile it to create a PDT.
You can create a new PDF either by typing it or by customizing one of the IBM-supplied PDFs. In either case, use an ASCII editor, because word-processing programs sometimes introduce spurious codes into the text.
Save the PDFs you create in the pdfpdt\usrpdf subdirectory of the publish
directory of the Host On-Demand server (for example,
<HostOnDemandInstallLocation>\HOD\pdfpdt\usrpdf
)
or in the equivalent directory on a locally installed client.
Before you attempt to create a PDF, you should understand its structure and the types of statements that can be included. See Understanding the Format of Printer Definition Files for help.
You should have the technical documentation for your printer available so you can look up the needed control codes. There are many variations from printer to printer.
If you want to customize one of the IBM-supplied PDFs to create your own, copy it from the pdfpdt directory to the pdfpdt\usrpdf subdirectory, modify it, and then compile it. |
When you have created or modified a PDF, use the Printer Definition Table Compiler to create a PDT. You can run the compiler in graphical or nongraphical mode. PDTs that you create have names in the format usr*.hodpdt, where * is the name of the PDF that you compiled.
Every PDT must have a unique description because this identifies the PDT when you configure a printer session. In graphical mode, the compiler checks that a unique description has been assigned. If it finds that a PDT with the same description already exists, it stops compiling and displays an error message. You can then change the description and click OK to start again. In nongraphical mode, the compiler does not check that the description is unique.
The graphical mode lets you compile PDFs interactively. A log file called pdtc.log is saved in the pdfpdt\usrpdf directory.
To compile a printer definition table on a Windows workstation or server:
<HostOnDemandInstallLocation>\HOD\pdfpdt\usrpdf
).If the description is not unique, an error message appears. |
If you want to compile other PDFs, repeat steps 3 - 5.
/opt/IBM/HostOnDemand/lib/samples/PdtCompiler
)
to a user directory
(for example,
/usr/local
).To compile a printer definition table on an iSeries server, do the following:
/QIBM/ProdData/hostondemand/lib/samples/PdtCompiler
)
to your work directory
The compiler runs in nongraphical mode.
To compile a printer definition table on z/OS, do the following:
- Verify the JAVA_ENGINE variable has the correct Java path.
- Modify the NONGUI_COMMAND line for the .pdf name and description.
The compiler runs in nongraphical mode.
On other platforms, you are suggested starting the compiler with a command. To make this easier, sample command files are provided in the pdtcompilercommandfiles directory.
If the description is not unique, an error message appears. |
If you want to compile other PDFs, repeat this process.
The bottom window of the graphical interface displays status and error information. When you use the graphical interface, a history of each compiler run is saved in pdtc.log in the usrpdf subdirectory. The log is overwritten each time you start the compiler.
In addition to verifying that the PDT description is unique, the compiler checks that the syntax of the PDF is correct. Errors found are displayed in the Status and Error Information window and saved in the log.
This section does not apply to zOS. |
If you want to compile several PDTs at one time, you can run the compiler in nongraphical batch mode by creating a command file and including multiple instances of the command that runs the compiler.
You can modify a version of the appropriate sample command-file provided in the pdtcompilercommandfiles directory; add any of the parameters listed below as necessary. If you compile several PDTs at one time, use the -NOINDEX parameter for each instance except the last, for which you should use the INDEX parameter. Create an index only after you have done the other compilations.
The command to invoke the compiler in nongraphical mode is:
INSTALL_PATH/lib/samples/PdtCompiler/PdtCompilerApplication-XXX [-NOINDEX] | [-PATH pathSpecification] | [-ENCOD encodingSpecification] [PDF_file_name PrinterDescription]where
XXX
is the appropriate suffix for compiler
application file for your platform.
Operating Systems | XXX Option |
AIX | PdtCompilerApplication-AIX |
OS400 | PdtCompilerApplication-OS400 |
s390 | PdtCompilerApplication-s390 |
UNIX | PdtCompilerApplication-UNIX |
|
After you have compiled your PDT(s), you must run the compiler again to create an index, which is essential. The command to invoke the compiler to create only an index is:
INSTALL_PATH/lib/samples/PdtCompiler/PdtCompilerApplication-XXX INDEXwhere
XXX
is the appropriate suffix for compiler
application file for your platform.
Compiled printer definition tables are saved in the pdfpdt directory
(for example, in
<HostOnDemandInstallLocation>\HOD\pdfpdt
).
In nongraphical mode, compiler messages are displayed in English only.
A PDF contains three main sections:
This section of a PDF contains macros that consist of a single mnemonic that represents a control code or a sequence of control codes. A mnemonic simplifies the definition of control sequences for PC printers and makes it easier to read the information in the PDF. The PDFs provided by IBM include many macros, but you can define also your own.
The following table shows the structure of a macro definition statement. A macro definition is composed of four parts:
1 | 2 | 3 | 4 |
---|---|---|---|
name | EQU | PC printer control codes | Comments |
For example:
FFF EQU 0C /* Form Feed */
Part 1 is the mnemonic or macro name. This must be three characters long and must not begin with a number. It is helpful to define a meaningful mnemonic, such as P17 for 17.1 pitch.
Part 2, stands for "equates to" and must be coded as EQU.
Part 3, the hexadecimal control code, must be defined specifically for the printer you intend to use, because printer manufacturers use different codes for the same function. For example, the IBM LaserPrinter uses control codes defined by the IBM Personal Printer Data Stream (PPDS), whereas Hewlett-Packard printers use control codes defined by the Hewlett-Packard Printer Control Language (PCL). These control codes are defined in the reference manual for the printer (which you might need to order).
Some printer manuals describe control sequences as a string of ASCII symbols, such as ESC W 1. Others use hexadecimal numbers, such as 1B 57 01. Still others use decimal values, such as 027 087 001. The PDT compiler accepts any of these formats.
The control codes in the macro definitions section can be any of the following:
If the control code part of a macro (part 3) is blank, it is interpreted as a null string. If a code is defined more than once in the file, the last definition is used.
Part 4, the comment section, must be enclosed by /* and */. Comments can be included at any point in the file and are ignored by the compiler.
The following macro definition example is for a printer that supports IBM PPDS:
CRR EQU 0D /* Carriage Return */ SEL EQU 11 /* Select Printer */ P10 EQU 12 /* 10 Pitch (characters/inch) */ P12 EQU 1B 3A /* 12 Pitch (characters/inch) */ P05 EQU 1B 57 01 /* 5 Pitch (characters/inch), double wide */ CDW EQU 1B 57 00 /* Cancel Double Wide */ CDL EQU 14 /* Cancel Double Wide line */ CS2 EQU 1B 36 /* Select character set 2 */ SVT EQU 1B 42 /* Set vertical tabs */ CAT EQU 1B 52 /* Cancel all tabs (clears VT) */ SFL EQU 1B 43 00 /* Set Form Length */ SDS EQU 1B 47 /* Start Double Strike */ CDS EQU 1B 48 /* Cancel Double Strike */ SUL EQU 1B 2D 01 /* Start Underline */ CUL EQU 1B 2D 00 /* Cancel Underline */ CP8 EQU 1B 5B 54 04 00 00 00 03 52 /* select code page 850 */ CP4 EQU 1B 5B 54 04 00 00 00 01 B5 /* select code page 437 */ LL8 EQU 1B 41 09 1B 32 /* Set line length 8 lines/inch */
Here is an example of how a macro might be used.
The host data stream contains a Word Underscore (WUS) command (LU1 SCS command 23). This indicates that the preceding word or string must be underlined. Host On-Demand converts the WUS command into START_HIGHLIGHT_UNDERLINE before the word and END_HIGHLIGHT_UNDERLINE after the word.
These controls are defined as macros SUL and CUL in the Control Codes section of the PDF:
START_HIGHLIGHT_UNDERLINE=SUL END_HIGHLIGHT_UNDERLINE=CULThese macros are defined in the Macros section (see above).
When Host On-Demand receives the WUS command, it looks up the control codes and then looks up the macros. It finally sends the escape sequences defined in the macros to the printer. If the host sent a WUS command following the string "This is underscored", the following codes would be sent to the printer:
54686973 20 6973 20 1B2D01 756E64657273636F726564 1B2D00 T h i s space i s space SUL u n d e r s c o r e d CUL
The printed output is: "This is underscored"
Refer to Appendix A. Printer Data Stream Information for more information.
This section describes the session parameters, control codes, and highlighting specifications that can be included in a PDF.
The parameter to the left of the equal sign is a keyword and must be coded exactly as shown. The keyword defines a statement. The value to the right of the equal sign can be a word, a macro, a control code, a decimal number, or a hexadecimal number (sometimes referred to as a parameter).
Session parameters determine the way in which the output is formatted. The session parameters in a PDF are related to the parameters in the Advanced Options panel of a session configuration, though there are many more options in a PDF than in the panel. If you do not change the defaults in the configuration panel, the values for the equivalent parameters in the PDT are used. Any change you make in the panel overrides the value in the PDT. Refer to Appendix C. Advanced Configuration Options for the list of session parameters that can be set in the panel.
The following table lists the field names and meanings of the Session Parameters.
Field Name | Value or Remarks |
---|---|
ASCII_PASSTHRU? | YES/NO. For LU1 only. Host data sent without any translation. For host applications that generate PC printer control codes directly. See below for more information. |
EBCDIC_PASSTHRU? | YES/NO. For LU1 only. SCS commands ignored and data sent to the printer after EBCDIC-to-ASCII translation. See below for more information. |
MAXIMUM_PAGE_LENGTH | 001 to 255. Number of lines that could print on a sheet of paper. For example, 66 means an 11-inch sheet at 6 lines per inch. If you change this value, you must change the value in the "SET_PAGE_LENGTH=SFL value" control code to be the same. |
MAXIMUM_PRINT_POSITION | 001 to 255. Number of characters that could fit on a line. |
DEFAULT_CPI? | 010, 012, 017. Default characters per inch. |
DEFAULT_LPI? | 002, 003, 004, 006, 008, 010. Default lines per inch. |
COMPRESS_LINE_SPACING? | YES/NO. For LU3 only. Determines whether a line is to be printed if all characters on that line are nulls or blanks. |
FORM_FEED_ANY_POSITION? | YES/NO. For LU3 only. Determines whether a
form feed is to be active in any position. If NO, a form feed will be
active only in the following positions:
|
OVERRIDE_FORMATTED_PRINT? | YES/NO. For LU3 Only. Specifies whether to print null characters as blanks. |
HORIZONTAL_PEL | Number of pels in one inch (X-direction). |
VERTICAL_PEL | Number of pels in one inch (Y-direction). |
LINE_SPACING_RATIO | Integer value equivalent to one inch. Used as the unit for SET_VARIABLE_LINE_DENSITY. 72 for PPDS, 4 8 for PCL. |
TOP_MARGIN | Decimal value. Default is top of sheet. |
LEFT_MARGIN | Decimal value. Default is left edge of sheet. |
AUTO_NEWLINE_AT_MAX_POS? | YES/NO. Specifies whether CR and LF are inserted at MPP. |
IGNORE_FORM_FEED_AT_FIRST_POS? | YES/NO. Specifies whether FF at the first position is ignored. |
FORM_FEED_TAKES_POSITION? | YES/NO. For LU3 only. Specifies whether FF occupies a space. |
NO_AUTO_NL_IF_CR_AT_MPP_PLUS_1? | YES/NO. For LU3 only. Specifies whether auto-new-line is suppressed when CR is at MPP+1. When this is set to YES, auto-new-line is suppressed. |
NO_AUTO_NL_IF_NL_AT_MPP_PLUS_1? | YES/NO. For LU3 only. Specifies whether auto-new-line is suppressed when NL is at MPP+1. When this is set to YES, auto-new-line is suppressed. |
INTERV_REQ_TIMER | 000 TO 255. Determines the delay before an "intervention required" message is sent. A value of 000 disables the timer. A value below 011 sets an interval of 10 seconds. |
FORM_FEED_AT_END_OF_JOB | NONE/ALWAYS/CONDITIONAL. Specifies how form feed is inserted at the end of the job. When this is set to NONE, no form feed is inserted at the end of the job. When this is set to ALWAYS, form feed is always inserted at the end of the job. When this is set to CONDITIONAL, form feed is inserted only when a job was not ended at the page boundary. The default value is CONDITIONAL. |
If you add the following line to a PDF, Host On-Demand sends host data to the printer without translation:
ASCII_PASSTHRU? = YES
This option is for host applications that generate PC printer control codes directly.
|
If you add the following line to a PDF, Host On-Demand ignores all SCS commands and sends only data to the printer after EBCDIC-to-ASCII translation:
EBCDIC_PASSTHRU? = YES
|
The default EBCDIC-to-ASCII translation table used for U.S. English host code page 037 is as follows:
Hex 0 1 2 3 4 5 6 7 8 9 A B C D E F --------------------------------------------- 0 | 2020 2020 2020 2020 2020 2020 2020 2020 10 | 2020 2020 2020 2020 2020 2020 2020 2020 20 | 2020 2020 2020 2020 2020 2020 2020 2020 30 | 2020 2020 2020 2020 2020 2020 2020 2020 40 | 20FF 8384 85A0 C686 87A4 BD2E 3C28 2B7C 50 | 2682 8889 8AA1 8C8B 8DE1 2124 2A29 3BAA 60 | 2D2F B68E B7B5 C78F 80A5 DD2C 255F 3E3F 70 | 9B90 D2D3 D4D6 D7D8 DE60 3A23 4027 3D22 80 | 9D61 6263 6465 6667 6869 AEAF D0EC E7F1 90 | F86A 6B6C 6D6E 6F70 7172 A6A7 91F7 92CF A0 | E67E 7374 7576 7778 797A ADA8 D1ED E8A9 B0 | 5E9C BEFA B8F5 F4AC ABF3 5B5D EEF9 EF9E C0 | 7B41 4243 4445 4647 4849 F093 9495 A2E4 D0 | 7D4A 4B4C 4D4E 4F50 5152 FB96 8197 A398 E0 | 5CF6 5354 5556 5758 595A FDE2 99E3 E0E5 F0 | 3031 3233 3435 3637 3839 FCEA 9AEB E9FF
You can modify this code page by using EBCDIC_xx keywords. Note that the
EBCDIC_PASSTHRU? line must precede any EBCDIC_xx lines in a PDF because Host
On-Demand re-initializes the EBCDIC-to-ASCII translation table when
EBCDIC_PASSTHRU? is set.
The control codes section of a PDF defines which ASCII escape sequence is sent to the printer when a host control code is received. The escape sequence varies from printer to printer. The PDF must be written specifically for the emulation mode you use.
The following table lists the field names and meanings of control codes that are used for both SBCS languages and DBCS languages.
Field name | Value or remarks |
---|---|
SET_AUTO_PERFORATION_SKIP | Sets the number of lines needed to skip over the perforation between pages |
PAGE_LENGTH_TYPE? |
|
SET_VARIABLE_LINE_DENSITY | Sets the line spacing. Uses the unit defined in the LINE_SPACING_RATIO field (a session parameter) |
START_JOB | Sets control codes to be sent to a printer at the start of a job |
END_JOB | Sets control codes to be sent to a printer at the end of a job |
BACKSPACE | Backspace control code |
BEL | Bell control code |
CARRIAGE_RETURN | Carriage return control code |
NEW_LINE | New line (CR/LF) control code |
LINE_FEED | Line feed control code |
FORM_FEED | Form feed (FF) control code |
HORIZONTAL_TAB | Horizontal tab control code |
VERTICAL_TAB | Vertical tab control code |
DESELECT | Device control 3 control code |
DUP | Character used to print the DUP order (*) |
FIELD_MARK | Character used to print the FIELD MARK order (;) |
SET_HORIZONTAL_TABS | Horizontal tabs (column numbers) |
SET_VERTICAL_TABS | Vertical tabs (line numbers) |
SET_HORIZONTAL_MARGINS | Right and left margins (column numbers) |
SET_PAGE_LENGTH | The page length as a multiple of the unit defined in PAGE_LENGTH_TYPE |
SET_2_LINES_PER_INCH | Line-spacing definition (2LPI) |
SET_3_LINES_PER_INCH | Line-spacing definition (3LPI) |
SET_4_LINES_PER_INCH | Line-spacing definition (4LPI) |
SET_6_LINES_PER_INCH | Line-spacing definition (6LPI) |
SET_8_LINES_PER_INCH | Line-spacing definition (8LPI) |
SET_10_LINES_PER_INCH | Line-spacing definition (10LPI) |
SET_10_CHARACTERS_PER_INCH | Character-pitch definition (10CPI) |
SET_12_CHARACTERS_PER_INCH | Character-pitch definition (12CPI) |
SET_17_CHARACTERS_PER_INCH | Character-pitch definition (17.1CPI) |
FORWARD_HORIZONTAL_SKIP | Defines the unit to be used in the HORIZONTAL_PEL session parameter |
FORWARD_VERTICAL_STEP_FEED | Defines the unit to be used in the VERTICAL_PEL session parameter |
START_HIGHLIGHT_INTENSE | Highlight printing (double strike) start |
END_HIGHLIGHT_INTENSE | Highlight printing (double strike) end |
START_HIGHLIGHT_UNDERLINE | Underline start |
END_HIGHLIGHT_UNDERLINE | Underline end |
START_HIGHLIGHT_REVERSE_VIDEO | Reverse video start |
END_HIGHLIGHT_REVERSE_VIDEO | Reverse video end |
START_HIGHLIGHT_BLINK | Blink start |
END_HIGHLIGHT_BLINK | Blink end |
START_DOUBLE_WIDTH_CHARACTER | Double-width characters start |
END_DOUBLE_WIDTH_CHARACTER | Double-width characters end |
CUSTOM_CONTROL_CODES? | See Using custom control codes (LU1 and LU3). |
CUSTOM_CONTROL_CODES_HEADER | See Using custom control codes (LU1 and LU3). |
CUSTOM_CONTROL_CODES_LENGTH | See Using custom control codes (LU1 and LU3). |
CUSTOM_CONTROL_CODES_TRAILER | See Using custom control codes (LU1 and LU3). |
The control codes associated with START_JOB are sent at the start of each host print job. The control codes associated with END_JOB are sent at the end of each job.
Another application or a print job from another user might leave the printer in a mode that does not suit the job you want to print (for example, portrait orientation and Courier font). Set all printer options to a known or desired state at the beginning of each job using START_JOB. Similarly, because several users and applications share the printer, reset the printer to a known state at the end of each job using END_JOB.
For example:
START_JOB=SEL CDW CDL CUL CDS CP8 CS2 SLO END_JOB=CAT CDW CDL CUL CDS CP4 SPO
In this example, the SLO macro is included in the START_JOB statement and the SPO macro is included in the END_JOB statement. The macros are coded as follows:
SLO EQU 1B 6C /* Set Landscape Orientation */ SPO EQU 1B 6B /* Set Portrait Orientation */
The result is that the START_JOB statement sends a command to print the job in landscape orientation. The END_JOB statement sends a command to reset the printer to portrait orientation at the end of the job.
Use the SET_VARIABLE_LINE_DENSITY statement in combination with the lines-per-inch option in the Advanced Options panel of the session configuration.
The PDT substitutes the value set in the lines-per-inch field, divided into the LINE_SPACING_RATIO (72 for PPDS, 48 for PCL), for the value keyword in the SET_VARIABLE_LINE_DENSITY statement. The format of the PPDS command requires the result in binary form. The format of the PCL format requires the result in decimal (ASCII) form. For PPDS, the statement is:
SET_VARIABLE_LINE_DENSITY=ESC A value ESC 2If lines-per-inch is set to 8, the SET_VARIABLE_LINE_DENSITY parameter is:
SET_VARIABLE_LINE_DENSITY=ESC A 09 ESC 2where 09 is the result of 72/8. The control code sent to the printer to set the line density (spacing) is:
1B 41 09 1B 32 (ESC A 09 ESC 2)If SET_VARIABLE_LINE_DENSITY does not have a value, the value of the SET_(n)_LINES_PER_INCH statement is used.
On most printers, the default pitch is 10 characters per inch. This is usually coded in the PDF as:
SET_10_CHARACTERS_PER_INCH=P10
where P10 is coded in the macro definition section as:
P10 EQU 12 /* 12 is the printer control code for 10 pitch /*
The reverse-video and blink codes do not have specified values because printers do not use them. You can use them to send any command you want to the printer by defining a macro, specifying the macro as the value for one of these codes, and sending the code (for example, START_HIGHLIGHT_BLINK) in the host data stream.
Host On-Demand supports custom control codes in 3270 Printer LU1 sessions and in 3270 Printer LU3 sessions. (Host On-Demand does not support custom control codes for 5250 Printer sessions).
A custom control code is a pair of EBCDIC characters that
Host On-Demand translates into a hexadecimal byte.
Each member of the EBCDIC pair must be either in the range F0-F9
(representing '0'-'9'), or in the range C1-C6
(representing 'A'-'F'), or in the range 81-86 (representing 'a'-'f').
The first member of the pair represents the high nibble of the hexadecimal byte.
The second member of the pair represents the low nibble of the hexadecimal byte.
For example, the custom control code 81 f0
is translated into the hexadecimal byte a0
.
Note: In fact, the translation is in two steps:
81 f0
is converted to ASCII 61 30
.
61 30
is translated to hexadecimal a0
.
1b
,
then you need to specify the two EBCDIC characters that translate
to ASCII 31 62
.)
In the LU1 or LU3 print data stream, custom control codes must occur inside a custom control code block (which is discussed later in this section). Any number of custom control code blocks can occur in a print data stream. Each custom control code block can contain one or more custom control codes (that is, one or more pairs of EBCDIC characters).
Notice the following:
f1 e8
is invalid, because e8
does not translate
to a valid hexadecimal numeral.
In this situation, Host On-Demand sends both
characters in the pair to the printer, unconverted (f1 e8
).
The control codes used to manage custom control codes are:
The control code CUSTOM_CONTROL_CODES? is used to enable or disable custom control codes:
CUSTOM_CONTROL_CODES?=YES
CUSTOM_CONTROL_CODES?=NO
The control code CUSTOM_CONTROL_CODES_HEADER, when it appears in the LU1 or LU3 print data stream, signals the beginning of a custom control code block. You must define this control code in the control codes section of your PDF file, setting it to some macro value or to some series of literal values. For example,
CUSTOM_CONTROL_CODES_HEADER=6c 6c
The control code CUSTOM_CONTROL_CODES_TRAILER is used only in header-trailer mode (see below). This control code, when it appears in the LU1 or LU3 print data stream after a CUSTOM_CONTROL_CODES_HEADER, signals the end of a custom control code block. You must define this control code in the control codes section of your PDF file, setting it to some macro value or to some series of literal values. For example,
CUSTOM_CONTROL_CODES_TRAILER=6c 6cThe value of the trailer can be the same as the value of the header, or different from the value of the header. Often it is convenient to assign the same value to the header and the trailer.
The control code CUSTOM_CONTROL_CODES_LENGTH is used only in header-length mode (see below). This control code does not appear in the LU1 or LU3 print data stream. Instead, it defines the fixed number of custom control codes (EBCDIC pairs) that occur in every custom control code block in the print data stream. You must define this control code in the control codes section of your PDF file, setting it to some macro value or to some series of literal values. For example:
CUSTOM_CONTROL_CODES_LENGTH=1The above definition of CUSTOM_CONTROL_CODES_LENGTH states that each custom control code block occurring in the print data stream contains one custom control code (one pair of EBCDIC characters).
Within a single LU1 or LU3 print data stream, you can use custom control codes either in header-trailer mode or in header-length mode. You cannot use both modes in the same print data stream.
In header-trailer mode, a custom control code block consists of:
You must have Host On-Demand use header-trailer mode when the print data stream contains custom control code blocks of different lengths. For example, you must have Host On-Demand use header-trailer mode if the print data stream contains some custom control code blocks containing one control code (1 EBCDIC pair) and other custom control code blocks containing two control codes (2 EBCDIC pairs).
To indicate that you want Host On-Demand to use header-trailer mode, define the CUSTOM_CONTROL_CODES_TRAILER in the control codes section of your PDF file. Here is an example of how to define the relevant control codes in your PDF file when you want to use header-trailer mode:
CUSTOM_CONTROL_CODES?=YES CUSTOM_CONTROL_CODES_HEADER=6c 6c CUSTOM_CONTROL_CODES_TRAILER=6c 6cDo not define the CUSTOM_CONTROL_CODES_LENGTH control code. Host On-Demand ignores this control code when you define CUSTOM_CONTROL_CODES_TRAILER.
Here is an example of a custom control code block that Host On-Demand could process using the above definitions.
6c 6c f1 82 f1 83 6c 6cHost On-Demand processes these characters as follows:
6c 6c
,
Host On-Demand recognizes that it must process
subsequent pairs as custom control codes.
f1 82
to hexadecimal 1b,
and then sends this hexadecimal 1b to the print destination.
f1 83
to hexadecimal 1c,
and then sends this hexadecimal 1c to the print destination.
6c 6c
,
Host On-Demand recognizes that it has reached the end
of the custom control code block.
Additional rules for header-trailer mode:
6c 6c
and the trailer to be 5f 5f
,
then Host On-Demand processes the sequence
6c 6c 6c 6c 5f 5fas a header (
6c 6c
), followed by a custom control code
(6c 6c
), followed by a trailer (5f 5f
).
In header-length mode, a custom control code block consists of:
You can have Host On-Demand use header-length mode only when the print data stream contains custom control code blocks all of the same length. For example, you can have Host On-Demand use header-length mode if the print data stream includes only custom control code blocks that contain two control codes (2 EBCDIC pairs).
To indicate that you want Host On-Demand to use header-length mode, define the CUSTOM_CONTROL_CODES_LENGTH in the control codes section of your PDF file. Here is an example of how to define the relevant control codes in your PDF file when you want to use header-length mode:
CUSTOM_CONTROL_CODES?=YES CUSTOM_CONTROL_CODES_HEADER=5f 5f CUSTOM_CONTROL_CODES_LENGTH=2Please notice:
Here is an example of a custom control code block that Host On-Demand could process using the above definitions.
5f 5f f1 82 f1 84Host On-Demand processes these characters as follows:
5f 5f
,
Host On-Demand recognizes that it must process
subsequent pairs as custom control codes.
f1 82
to hexadecimal 1b,
and then sends this hexadecimal 1b to the print destination.
f1 84
to hexadecimal 1d,
and then sends this hexadecimal 1d to the print destination.
Additional rules for header-length mode:
The following table lists the field names and meanings of the DBCS-specific Control Codes. Refer to Code Pages Supported in Host On-Demand for the complete list of code pages.
Table 3. Additional Control Codes for DBCS
Field name | Value or remarks |
---|---|
START_LIPS_GRID | Start grid (Canon LIPS printers) |
END_LIPS_GRID | End grid (Canon LIPS printers) |
LIPS_IMAGE | Send image data (Canon LIPS printers) |
IMAGE_TRANSMISSION | Image data setup (vertical 24-dot image) |
KANJI_CODE? |
|
ZENKAKU_SPACE | The size (adjustment unit) of a user-defined character or SBCS character |
SBCS_FONT_LOAD | Load a SBCS user-defined character |
DBCS_FONT_LOAD | Load a DBCS user-defined character |
SET_LOCAL_FONT | Set a font set of user-defined characters. Remove this field when user-defined characters are not loaded to a printer |
RESET_LOCAL_FONT | Reset a font set of user-defined characters. Remove this field when user-defined characters are not loaded to a printer |
KANJI_ON | Set kanji mode |
KANJI_OFF | Reset kanji mode |
ATTRIBUTE_GRID_LINE | Grid-line print |
OLD_JIS? | If YES, use old JIS table; if NO, use new JIS table |
CP943_IBM? | If YES, use IBM code points for 13 IBM-NEC duplicated code points (non-Kanji); if NO, use NEC code points |
When ESC_P.PDF is used, DBCS (2-byte) characters are placed to the left of the character pitch, not in the center. To place DBCS characters in the center of the character pitch, change these IBM-supplied values in ESC_P.PDF: |
P10 EQU 1B 50 1B 20 00 1C 53 00 0C 1C 54 00 00 P12 EQU 1B 4D 1B 20 00 1C 53 00 06 1C 54 00 00 P13 EQU 1B 67 1B 20 01 1C 53 00 03 1C 54 00 01 P15 EQU 1B 67 1B 20 00 1C 53 00 00 1C 54 00 00
to the following:
P10 EQU 1B 50 1B 20 00 1C 53 06 06 1C 54 00 00 P12 EQU 1B 4D 1B 20 00 1C 53 03 03 1C 54 00 00 P13 EQU 1B 67 1B 20 01 1C 53 02 01 1C 54 00 01 P15 EQU 1B 67 1B 20 00 1C 53 00 00 1C 54 00 00
The way you define a parameter depends on the parameter type. If the wrong definition method is used, you will not get the output you want.
The following table lists the types of printer control parameters and their meanings:
Table 4. Printer Control Parameters
Parameter Type | Meaning |
---|---|
Byte value, or value | 1-byte parameter |
Byte values, or values | Multi-byte parameter; use if operands are
fixed |
Word value (HL) | One-word parameter (high-order byte first) |
Word value (LH) | One-word parameter (low-order byte first) |
Length (HL) values | Multi-byte parameter requiring operands. An
operand consists of high and low-order bytes (high first); use if operands
are variable |
Length (LH) values | Multi-byte parameter requiring operands. An
operand consists of low and high-order bytes (low first); use if operands
are variable. |
Length (HL) images | Image data requiring operands. An operand
consists of a high and low-order byte (high first) |
Length (LH) images | Image data requiring operands. An operand
consists of low and high-order bytes (low first) |
Decimal characters | Decimal character parameter |
Host On-Demand 3270 sessions use the Telnet3270E protocol, in which all character data is defined by an EBCDIC character set. Because workstation printers use ASCII character sets, EBCDIC-to-ASCII code conversion is performed for print data, unless ASCII_PASSTHRU?=YES is specified in the PDF.
When you configure session properties, the Host Code-Page field in the Connection window sets the EBCDIC code page, and the printer-font code-page field in Page Setup > Advanced Options sets the ASCII code page. Refer to Code Pages Supported in Host On-Demand for a complete list of code pages.
Code page 850 is used as the default printer-font code page for SBCS host code pages that do not support the euro currency symbol. If you select an SBCS host code page that does support the euro currency symbol, code page 858 is used. There are restrictions on euro currency symbol support. Refer to Code Pages Supported in Host On-Demand for details.
For DBCS countries or regions, the following code pages are used as the default printer-font code pages:
942 943 (Japan) 949 (Korea) 1386 (China) 950 (Taiwan)There are two ways to modify the default SBCS EBCDIC-to-ASCII conversion tables by using Character Definitions in a PDT; the list below describes the two methods.
There is no way to modify the default EBCDIC-to-ASCII conversion tables used for DBCS. |
The EBCDIC_xx (xx = hexadecimal number) keywords are used to remap entries in the EBCDIC-to-ASCII translation table from EBCDIC X'40' and higher. For example, to control the direction in which the printer prints, you might add the following lines to the PDF:
EBCDIC_FD = 1B 55 01 /* Set the printer to print from left to right only */ EBCDIC_FE = 1B 55 00 /* Reset the printer to normal two-direction printing */
You can specify two or more characters for one EBCDIC character. For example:
EBCDIC_F1 = 1 2 3
translates EBCDIC x'F1' into "123" in ASCII.
If the SCS data stream is used, you can also remap EBCDIC code-points in the range X'00'-X'3F', which are normally assigned to SCS control characters. For example:
EBCDIC_2B = 1Bdefines EBCDIC code-point EBCDIC X'2B' as ASCII X'1B', which is used as an escape character on most PC printers.
This kind of definition has no effect if the 3270 data stream is used. |
The PDF can include character definitions in ASCII. For example, both of the following lines remap the ASCII space character into ASCII code-point X'1B':
20 = 1B SPACE = 1BSo, the left side of an ASCII character definition can be either a hexadecimal ASCII code-point or a symbol name. Symbol names are defined in ASCII code-page 850.
When an ASCII character definition is found, Host On-Demand searches the default conversion table and replaces the code point on the left side by the code point on the right side. If the code point on the left side is not found, the definition has no effect.
If two or more character definitions exist for the same code point, the
following precedence rules are used:
|
Host On-Demand provides the following functions for 5250 host printing:
For 5250 host printing, only the Java File Interface mode and the Windows Spooler Interface mode (Windows platforms only) are supported. The Windows Native Printing mode is not supported.
The Host Print key is available in a 5250 Display session; it is the key that tells the host to print the contents of the presentation space as text.
Host print transform is an i5/OS and OS/400 function that converts an SNA character string (SCS) or Advanced Function Printer (AFP) data stream into an ASCII data stream. The ASCII data stream is then formatted and sent to an ASCII printer through a Host On-Demand 5250 printer session. The conversion is done on the iSeries, which provides these advantages:
HPT is capable of supporting many different types of ASCII data streams. For example, it supports the Hewlett-Packard** printer control language (PCL), the IBM personal printer data stream (PPDS), and the Epson** FX and LQ data streams.
If HPT is used, all of the ASCII printers connected to an iSeries system can perform a 3812 SCS level of function.
Your printer may not support all functions. For example, you cannot print in 180-degree orientation if your printer supports only 0-degree and 90-degree orientations. |
Many printers, including IBM printers, support HPT.
You can add or change characteristics for a particular printer using workstation-customizing objects that come with HPT. Also, if a workstation-customizing object for a particular printer does not exist, you can create one.
For the AFP-to-ASCII data stream conversion, there are additional advantages, such as support for AFP font, text, image and bar code commands. The following types of printers support this function:
On other printers, images or bar codes may not be supported by the AFP-to-ASCII transform function, and the text may not be positioned correctly.
The 5250 host print transform (HPT) converts the iSeries print data stream just before it is sent from the iSeries to the printer spool file. Because the iSeries does the conversion, the host does most of the print processing instead of the workstation.
Many printers, including IBM printers, support the ASCII print-data stream. The ASCII data stream uses iSeries system objects that describe the characteristics of a particular ASCII printer. When you configure a printer session, you select the printer from the list provided.
By default, Host On-Demand uses the SCS-to-ASCII transform, but you can configure the iSeries to do an AFP-to-ASCII transform, which Host On-Demand also supports. The ASCII data stream is passed through the emulator using the SCS ASCII Transparency (ATRN) command. Host On-Demand deletes the ASCII Transparency command and passes the ASCII data stream to the workstation printer.
For more information about the host print transform, refer to the iSeries Printer Device Programming documentation.
Host On-Demand provides VT host printing in much the same manner as a VT 420 terminal would provide this service to a VT host. Typically in this environment, the active host application can address:
In a traditional VT host print session, the host application determines when a print operation is desired (typically, a print operation is triggered by a user's action). In a VT print session, the same host-terminal connection used for screen-based information is used to pass information to the printer. Once the host determines that a print job is to start, a terminal sequence is sent by the host to the terminal to initiate the desired print operation. The host sends all desired print information and then ends the process by sending a print termination sequence to the terminal. In some cases, both the screen and the printer may be the simultaneous destination of the information sent by the host.
Host On-Demand supports all of the VT 420-defined print sequences; however, due to limitations in the Java environment, not all printer status commands are supported. The Windows Spooler Interface and the Windows Native Printing modes are not supported on VT host print sessions.
This appendix describes the Host On-Demand host-directed print data streams.
Host On-Demand supports two types of print data stream: the 3270 data stream
and the SNA character string (SCS) data stream. The 3270 data stream is used for
LU Type 3 sessions and the SCS data stream for LU Type 1 sessions.
The term Logical Unit (LU) is usually used in Systems Network Architecture (SNA). Even though Host On-Demand supports only Telnet, which is not an SNA protocol, the terms "LU1" and "LU3" describe sessions whose outbound data is identical to those on corresponding SNA LUs. |
The 3270 data stream is buffer-oriented (it is also used for 3270 display sessions, but this document deals only with the 3270 data stream for printers). The print data is formatted as if it were displayed on a screen, and the host system sends commands to format the presentation space. When the data formats, the host turns on the START PRINT bit in the Write Control Character (WCC) byte and prints the presentation space as accurately as the printer hardware allows. For more detailed information about the 3270 data stream, refer to IBM 3270 Information System Data Stream Programmer's Reference (GA23-0059).
The SCS data stream consists of a sequential string of SCS controls
and data characters. Unlike the 3270 data stream, the SCS data stream requires
no presentation space. A detailed description of the SCS data stream is
contained later in this document.
For protocol-level information, refer to Internet RFCs (especially RFC 2355). |
The commands that can be sent in the 3270 data stream are:
Table 6. 3270 Data Stream Commands
Command | Meaning |
---|---|
W | Write |
EW | Erase/Write |
EWA | Erase/Write Alternate |
EAU | Erase All Unprotected |
WSF | Write Structured Field |
The orders that can be sent in the 3270 data stream are:
Table 7. 3270 Data Stream Orders
Order | Meaning |
---|---|
SBA | Start Buffer Address |
SF | Start Field |
IC | Insert Cursor |
PT | Program Tab |
RA | Repeat to Address |
EUA | Erase Unprotected to Address |
SFE* | Start Field Extended |
SA* | Set Attribute |
MF* | Modify Field |
* The last three orders in this list manage the extended highlighting and color programmed-symbol attributes for fields and individual characters.
In addition to those commands and orders, you can include these special formatting control codes listed in the data stream:
Table 8. 3270 Data Stream Control Codes
Code | Description |
---|---|
NL | New Line moves the print position to the left margin and down one line. |
CR | Carriage Return moves the print position to the left margin. |
EM | End of Message ends the print operation. |
FF | Form Feed moves the print position to the left margin at the top of the next page. |
Note: | NL, CR, and EM are valid only if a line-length format is specified in the WCC. The FF code is valid in any buffer position, depending on the option setting. |
Host On-Demand printer support interprets each 3270 attribute and printer control code and translates it into a sequence of one or more workstation-printer control codes.
The Write Control Character (WCC) byte follows the 'write type' command in a 3270 data stream. The bit definitions of the WCC byte for 3270 printers are:
Table 9. Write Control Character (WCC) byte for 3270 printers
Bit | Explanation |
---|---|
0-1 | In an SNA or EBCDIC environment, these bits are ignored by the printer. |
2-3 | Defines print format as follows:
|
4 | Start-printer bit. When set to 1, initiates a print operation at the completion of the write operation. |
5 | Sound-alarm bit. When set to 1, sounds an audible alarm if one is provided on the printer. |
6 | Keyboard restore bit. |
7 | Reset MDT bit. |
The Query Reply structured field contains responses from Query requests located in the Read Partition structured field.
In reply to a Query, the device transmits a set of structured fields inbound to the host that describe the device's features. Only the Query Replies that reflect the functions and features supported by the device are transmitted.
Different sets of Query Reply are sent, depending on the printer session type (LU1 or LU3). For structured field support on an LU1 session, refer to Function Management Header 1 (FMH-1) Support, which is used for structured fields for LU1 sessions. All the query replies that Host On-Demand sends are hardcoded except MPP, MPL, GCSGID, CPGID, and Buffer Size (LU3 only).
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'000A' | Length of this structure |
2 | - | X'81' | Query Reply |
3 | - | X'80' | Summary |
4-n |
|
|
Table 11. Summary Query Reply (LU1 - DBCS)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'000B' | Length of this structure |
2 | - | X'81' | Query Reply |
3 | - | X'80' | Summary |
4-n |
|
|
Table 12. Usable Area Query Reply (LU1 - SBCS)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'0017' | Length of this structure |
2 | - | X'81' | Query Reply |
3 | - | X'81' | Usable Area |
4 |
|
|
|
5 |
|
|
|
6-7 | - | X'nnnn' | Width of usable area in cells (MPP), as the Advanced Options panel. |
8-9 | - | X'nnnn' | Height of usable area in cells (MPL), as the Advanced Options panel. |
10 | - | X'00' | Unit of measure (inches) |
11-14 | - |
|
|
15-18 | - |
|
|
19 | - |
|
|
20 | - |
|
|
21-22 | - | X'0000' | Character Buffer Size |
Table 13. Usable Area Query Reply (LU1 - DBCS)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'0017' | Length of this structure |
2 | - | X'81' | Query Reply |
3 | - | X'81' | Usable Area |
4 |
|
|
|
5 |
|
|
|
6-7 | - | X'nnnn' | Width of usable area in cells (MPP), as the Advanced Options panel. |
8-9 | - | X'nnnn' | Height of usable area in cells (MPL), as the Advanced Options panel. |
10 | - | X'00' | Unit of measure (inches) |
11-14 | - |
|
|
15-18 | - |
|
|
19 | - |
|
|
20 | - |
|
|
21-22 | - | X'0000' | Character Buffer Size |
Table 14. Character Sets Query Reply (LU1 - SBCS)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'001B' | Length of this structure |
2 | - | X'81' | Query reply |
3 | - | X'85' | Character sets |
4 |
|
|
|
5 |
|
|
|
6 | - |
|
|
7 | - |
|
|
8-11 | - | X'00000000' | Load PS (not supported) |
12 | - | X'07' | Length of each symbol-set descriptor |
13 | - | X'00' | Device-specific character set ID (SBCS) |
14 |
|
|
|
15 | - | X'00' | Local Character Set ID |
16-17 | - | X'nnnn' | SBCS GCSGID |
18-19 | - | X'nnnn' | SBCS CPGID |
20 | - | X'01' | Device-specific character set ID |
21 |
|
|
|
22 | - | X'F1' | Local Character Set ID |
23-24 | - | X'03C3' | APL GCSGID (963) |
25-26 | - | X'0136' | APL CPGID (310) |
Table 15. Character Sets Query Reply (LU1 - DBCS)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'002E' | Length of this structure |
2 | - | X'81' | Query reply |
3 | - | X'85' | Character sets |
4 |
|
|
|
5 |
|
|
|
6 | - |
|
|
7 | - |
|
|
8-11 | - | X'00000000' | Load PS is not supported |
12 | - | X'07' | Length of each symbol-set descriptor |
13 | - | X'00' | Device-specific character set ID (SBCS) |
14 |
|
|
|
15 | - | X'00' | Local Character Set ID |
16 | - | X'00' | Width of character slots (default) |
17 | - | X'00' | Height of character slots (default) |
18 | - | X'00' | Start of subsection of DBCS |
19 | - | X'00' | End of subsection of DBCS |
20-21 | - | X'nnnn' | SBCS GCSGID |
22-23 | - | X'nnnn' | SBCS CPGID |
24 | - | X'80' | Device-specific character set ID |
25 |
|
|
|
26 | - | X'F8' | Local Character Set ID |
27 | - | X'18' | Width of character slots (24 dots) |
28 | - | X'18' | Height of character slots (24 dots) |
29 | - | X'41' | Starting subsection of DBCS |
30 | - | X'7F' | Ending subsection of DBCS |
31-32 | - | X'nnnn' | GCSGID of DBCS |
33-34 | - | X'nnnn' | CPGID of DBCS |
35 | - | X'01' | Device specific character set ID |
36 |
|
|
|
37 | - | X'F1' | Local character set ID |
38 | - | X'00' | Width of character slots : default |
39 | - | X'00' | Height of character slots : default |
40 | - | X'41' | Indicates start of DBCS subsection |
41 | - | X'7F' | Indicates end of DBCS subsection |
42-43 | - | X'03C3' | APL GCSID (963) |
44-45 | - | X'0136' | APL CPGID (310) |
Table 16. Highlighting Query Reply (LU1)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'000D' | Length of this structure |
2 | - | X'81' | Query Reply |
3 | - | X'87' | Highlighting |
4 | - | X'04' | Number of attribute/action pairs |
5-6 | - | X'00F0' | Default is normal highlight |
7-8 | - | X'F1F1' | Blink is blink |
9-10 | - | X'F2F2' | Reverse is reverse |
11-12 | - | X'F4F4' | Underscore is underscore |
Table 17. Field Outlining Query Reply (LU1)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'000A' | Length of this structure |
2 | - | X'81' | Query Reply |
3 | - | X'8C' | Field Outlining |
4 | - | X'00' | Reserved |
5 |
|
|
|
6 | - |
|
|
7 | - | X'00' | Location of overline/underline |
8 | - | X'00' | Location of overline (separation is not supported) |
9 | - | X'00' | Location of underline (separation is not supported) |
Table 18. Begin/End of File Query Reply (LU1)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'0005' | Length of this structure |
2 | - | X'81' | Query Reply |
3 | - | X'9F' | Begin/End of File |
4 | - | X'00' | reserved |
Table 19. Device Characteristics Query Reply (LU1)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'000A' | Length of this structure |
2 | - | X'81' | Query Reply |
3 | - | X'A0' | Device Characteristics |
4-5 | - | X'000B' | Length of Horizontal Dimensional Parameters (HDP) descriptor |
6-7 | - | X'FF01' | Identifier of HDP |
8 |
|
|
|
9-10 | - | X'0A50' | Character Density and MPP (CPI=10, MPP=80) |
11-12 | - | X'0C60' | Character Density and MPP (CPI=12, MPP=96) |
13-14 | - | X'1189' | Character Density and MPP (CPI=17.1, MPP=137) |
15-16 | - | X'000F' | Length of Vertical Dimensional Parameters (VDP) descriptor |
17-18 | - | X'FF02' | Identifier of VDP descriptor |
19 |
|
|
|
20-21 | - | X'247F' | Typographic points and MPL (LPI=2, MPL=127) |
22-23 | - | X'187F' | Typographic points and MPL (LPI=3, MPL=127) |
24-25 | - | X'127F' | Typographic points and MPL (LPI=3, MPL=127) |
26-27 | - | X'0C7F' | Typographic points and MPL (LPI=6, MPL=127) |
28-29 | - | X'0A7F' | Typographic points and MPL (LPI=8, MPL=127) |
30-31 | - | X'0005' | Length of Page Presentation Media (PPM) descriptor |
32-33 | - | X'FF03' | Identifier of PPM descriptor |
34 |
|
|
|
35-36 | - | X'0005' | Length of Set Text Orientation (STO) descriptor |
37-38 | - | X'FF04' | Identifier of STO descriptor |
39 |
|
|
|
Table 20. Summary Query Reply (LU3 - SBCS)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'000B' | Length of this structure |
2 | - | X'81' | Type (Query Reply) |
3 | - | X'80' | Summary |
4-n |
|
|
Table 21. Summary Query Reply (LU3 - DBCS)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'000D' | Length of this structure |
2 | - | X'81' | Type (Query Reply) |
3 | - | X'80' | Summary |
4-n |
|
|
Table 22. Usable Area Query Reply (LU3 - SBCS)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'0017' | Length of this structure |
2 | - | X'81' | Query Reply |
3 | - | X'81' | Usable Area |
4 |
|
|
|
5 |
|
|
|
6-7 | - | X'0000' | Should be set to 0 on LU3 |
8-9 | - | X'0000' | Should be set to 0 on LU3 |
10 | - | X'00' | Unit of measure (inches) |
11-14 | - |
|
|
15-18 | - |
|
|
19 | - |
|
|
20 | - |
|
|
21-22 | - | X'nnnn' | Character Buffer Size |
Table 23. Usable Area Query Reply (LU3 - DBCS)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'0017' | Length of this structure |
2 | - | X'81' | Query Reply |
3 | - | X'81' | Usable Area |
4 |
|
|
|
5 |
|
|
|
6-7 | - | X'0000' | Should be set to 0 on LU3 |
8-9 | - | X'0000' | Should be set to 0 on LU3 |
10 | - | X'00' | Unit of measure: inches |
11-14 | - |
|
|
15-18 | - |
|
|
19 | - |
|
|
20 | - |
|
|
21-22 | - | X'nnnn' | Character Buffer Size |
Table 24. Reply Modes Query Reply (LU3)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'0007' | Length of this structure |
2 | - | X'81' | Query Reply |
3 | - | X'88' | Reply Modes |
4 | - | X'00' | Field mode is supported |
5 | - | X'01' | Extended field mode is supported |
6 | - | X'02' | Character mode is supported |
Table 25. DBCS Asia Query Reply (LU3)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'000B' | Length of this structure |
2 | - | X'81' | Query Reply |
3 | - | X'91' | Identifier of DBAC Asia |
4 | - | X'00' | Reserved |
5 | - | X'03' | Length of SO/SI SDP |
6 | - | X'01' | SO/SI |
7 | - | X'80' | Identifier of the SO character set |
8 | - | X'03' | Length of input control SDP |
9 | - | X'02' | Identifier of input control |
10 | - | X'01' | SO/SI creation is supported |
LU1 and 3 use the same query reply. See "Begin/End of File Query Reply" for details.
Table 26. Implicit Partition Query Reply (LU3)
Byte | Bit | Contents | Meaning |
---|---|---|---|
0-1 | - | X'0011' | Length of this structure |
2 | - | X'81' | Length of Query Reply |
3 | - | X'A6' | Implicit Partition |
4-5 | - | X'0000' | Reserved |
6 | - | X'0B' | Length of this self-defining parameter |
7 | - | X'03' | Identifier of partition sizes for printer devices |
8 | - | X'00' | Reserved |
9-12 | - | X'00000780' | Default printer buffer size (=80*24) |
13-16 | - | X'nnnn' | Alternate printer buffer size (=buffer size of alternate screen) |
The following headers
X'06 01 00 0B 60 00' (for outbound data) X'06 01 00 8B 60 00' (for inbound data)are called FMH-1 (Function Management Header Type 1). This is used to send structured fields to an LU1 session. To use FMH-1, byte 6 bit 1 of the BIND parameter should be set to 1.
FMH-1 is placed at the beginning of the data stream and one or more structured fields follow, like this:
+-------+------------------+-....-+------------------+ | FMH-1 | Structured Field | .... | Structured Field | +-------+------------------+-....-+------------------+FMH-1 for inbound data is used for replies to Read Partition (Query).
Note: On an SNA connection, a Format Indicator (bit 4 of the first byte in the RH) is used to indicate that an FMH is contained in the following RU. However, because there is no corresponding indicator on a Telnet connection, Host On-Demand checks the first 6 bytes of every record to determine whether the record contains an FMH-1 or not.
Following is the list of structured fields that are used with FMH-1 in an
inbound data stream as a reply to a Read Partition (Query) structured field:
The general format for the structured field is:
+--------+------+-----------+ | Length | Type | Parameter | +--------+------+-----------+Length is represented in 2 bytes and gives the length of the structured field, including Length itself. However, in the following cases, it can be X'0000,' which means that all data belong to the structured field:
The format of the SCS Data structured field is as follows:
Table 27. Format of the SCS Data structured field
Byte | Contents | Description |
---|---|---|
0-1 | X'nnnn' or X'0000' | Length |
2 | X'41' | Type (SCS data) |
3 | X'00' | reserved |
4-n | data | SCS data |
|
The format of Read Partition (Query) is the same as that used in the 3270 data stream.
Many print jobs can be sent from multiple sources over a single Host
On-Demand printer session, and multiple sessions and applications can share a
single workstation printer. Host On-Demand needs to know when each print job
starts and ends so that printers can be shared properly and so that begin-job
and end-job strings can be sent at the appropriate times. To do this, Host
On-Demand recognizes a number of different ways of delimiting a print job:
Table 28. Begin/End of File Structured Field Format
Byte | Bit | Contents | Description | ||
---|---|---|---|---|---|
0-1 | X'0007' | The length of this structure | |||
2-3 | X'0F85' | Begin/End of File | |||
4 | PID | Partition ID | |||
5 |
0-1 2-7 |
FLAG1 1 B'00' B'01' B'10' B'11' |
Reserved End of File is being sent Begin of File is being sent Reserved Reserved |
||
6 | FLAG2 | Reserved; must be set to 0s. | |||
|
When Begin or End of File structured fields are used with PRINT-EOJ or the
Terminate Time, they take precedence over PRINT-EOJ or Terminate Time in
determining when a print job begins or ends. Refer to the following examples:
Begin of File Structured Field, ...Data..., PRINT-EOJThe device will wait indefinitely until an End of File structured field is received before ending the print job.
Begin of File structured fields, ...Data..., pause > timeout valueThe device will wait indefinitely until an End of File structured field is received before ending the print job.
Data1..., Begin of File Structured Fields,...Data2.., End of File Structured Fields, ...Data3..., PRINT-EOJ
If you use the Begin of File and End of File structured fields incorrectly with PRINT_EOJ, the results are unpredictable. In the preceding example, the device might process Data1, Data2, and Data3 as separate jobs or combine two or more of them into one job.
For predictable results, each data block must be enclosed by a Begin of File and an End of File structured field. The following example shows three print jobs, all delimited correctly:
Begin of File Structured Field, ...Data1..., End of File Structured Field, (= end of job1) Begin of File Structured Field, ...Data2..., End of File Structured Field, (= end of job2) Begin of File Structured Field, ...Data3..., End of File Structured Field, (= end of job3) PRINT-EOJ (ignored)
Host On-Demand always keeps track of PRINT-EOJ and Terminate Time commands. After the emulator receives a Begin of File structured field, it takes no action on PRINT-EOJ or on the timeout of the Terminate Time until it receives an End of File structured field. Once a valid End of File structured field is processed, the emulator defaults to delimiting jobs by PRINT-EOJ or timeout intervals until it receives the next Begin of File structured field.
When processing a 3270 data stream, Host On-Demand treats Begin or End of
File structured fields as follows:
If Host On-Demand receives a Begin of File structured field and an End of File structured field without at least some print data separating them, it ignores the structured fields.
The following list and table summarize the SCS commands supported by Host On-Demand.
Table 29. SCS Commands Supported by Host On-Demand
SCS Control | Code | Value | SBCS | DBCS |
---|---|---|---|---|
Backspace | BS | X'16' | X | X |
Bell | BEL | X'2F' | X | X |
Carriage Return | CR | X'0D' | X | X |
Enable Presentation | ENP | X'14' | X | X |
Form Feed | FF | X'0C' | X | X |
Graphic Escape | GE | X'08' | X | X |
Horizontal Tab | HT | X'05' | X | X |
Inhibit Presentation | INP | X'24' | X | X |
Interchange Record Separator | IRS | X'1E' | X | X |
Line Feed | LF | X'25' | X | X |
New Line | NL | X'15' | X | X |
Null | NUL | X'00' | X | X |
Set Attribute | SA | X'28' | X | X |
Set Horizontal Format | SHF | X'2BC1xxyy...' | X | X |
Set Line Density | SLD | X'2BC6xxyy' | X | X |
Set Print Density | SPD | X'2BD2xx29yy' | X | X |
Set Vertical Format | SVF | X'2BC2xxyy...' | X | X |
Shift In | SI | X'0F' | - | X |
Shift Out | SO | X'0E' | - | X |
Transparent | TRN | X'35xx...' | X | X |
Vertical Channel Select | VCS | X'04xx' | X | X |
Vertical Tab | VT | X'0B' | X | X |
Word Underscore | WUS | X'23' | X | - |
Table 30. SA Controls Supported by Host On-Demand
SA Control type | Value | SBCS | DBCS |
---|---|---|---|
Highlighting | X'2841xx' | X | X |
Character set | X'2843xx' | X | X |
Grid attribute | X'28C2xx' | - | X |
Reset characteristics | X'2800xx' | X | X |
BS +----+ | 16 | +----+The following description applies only to DBCS.
After receiving an SO or an SA that specifies the DBCS character set, BS moves the presentation position horizontally two positions (one character for DBCS) to the left. If the presentation position is column 2, BS moves it to column 1.
BEL +----+ | 2F | +----+
CR +----+ | 0D | +----+
ENP +----+ | 14 | +----+
FF +----+ | 0C | +----+
GE,VALUE +----+-------+ | 08 | VALUE | +----+-------+ | | | 0----8-------16
HT +----+ | 05 | +----+The following description applies only to DBCS.
Spaces caused by HT are treated as spaces for grid printing. That is, if there are spaces caused by HT just after SA to start a grid, grid printing starts from there. If there are spaces caused by HT just after SA to end a grid, grid printing ends there. Grids are printed on the space positions caused by HT.
INP +----+ | 24 | +----+
IRS +----+ | 1E | +----+
LF +----+ | 25 | +----+
NL is functionally equivalent to CR followed by LF.
NL +----+ | 15 | +----+
NUL +----+ | 00 | +----+
SA appears as:
SA,TYPE,VALUE +----+------+-------+ | 28 | TYPE | VALUE | +----+------+-------+ | | | | 0----8------16------23where:
Values are shown below by type:
SA values are associated with their respective type when set, and until receipt of another SA control of the same type. Therefore, the setting of an attribute value is a composite by attribute type of the attribute specified in any previously encountered SA control.
For DBCS only, the following attributes are reset to the default values at the end of a record:
For the character set attribute, conditions set for SO and SI are also applicable.
Setting | Highlight | Character set |
---|---|---|
Initial Setting | Default | Default |
SA character set X'F1' | Default | X'F1' |
SA highlight underline | Underline | X'F1' |
Setting | Grid | Character set |
---|---|---|
Initial Setting | Default | Default |
SA Grid upper | Grid upper | Default |
SA character set X'F8' | Grid upper | X'F8' |
Unrecognized attribute values are handled in the following way:
The receipt of an SHF control sets all horizontal formatting controls to
their default values. The minimum valid sequence that may be sent is SHF with a
count of one, in which case all horizontal formatting controls have default
values. A zero value for any other SHF parameter is a no-op and results in the
function retaining its default value. The default values to be assumed are those
described below under the definition of each parameter. SHF appears as:
CSP,CLASS,COUNT,MPP,LM,RM,T1,...Tn +----+----+-----+-----+----+----+----+-----+---+ | 2B | C1 | CNT | MPP | LM | RM | T1 | ... | Tn| +----+----+-----+-----+----+----+----+-----+---+ | | | | | | | | | | 0----8----16----24----32--40----48---56----n---+where:
The LM parameter is the first horizontal tab stop. Repeating the LM value in the horizontal tab-stop parameter sequence is redundant. When no tab-stop values are set to the right of the current presentation position column value, the HT function acts as a space function. |
The following algorithm is executed when SHF is received:
The SHF parameters become effective immediately upon successful processing of a SHF.
When the device receives the SLD control, it sets line density to its default value before analyzing the count and density fields. The following parameter values are accepted without rejection with default values retained:
CSP,CLASS,COUNT,POINTS +----+----+-----+------+ | 2B | C6 | CNT | PNTS | +----+----+-----+------+ | | | | | 0----8----16----24-----32The implementing device must specify the points value that it implements and the default value. The default value may be established by Host On-Demand from the setting in the Advanced Options panel. If so, the locally established values are assumed as defaults in the cases mentioned above. To avoid unpredictable results, such as loss of forms integrity, an SLD must be followed by an FF control. Although the FF control does not have to immediately follow the SLD, there must be no intervening data or control code that causes movement of the formatting controls (for example, SLD, SHF). The ordering of the sequence has no effect on the execution of the formatting controls.
The FF control causes exiting of the current presentation surface in terms of the old SLD parameter, but positioning in the next presentation surface is done in terms of the new SLD parameter.
The line density specified by the SLD becomes effective immediately on receipt of SLD.
Failure to observe the following rules results in misalignment of the printed output relative to the form: |
The following description applies only to DBCS.
Host On-Demand accepts the following values for the points parameter:
CSP,CLASS,COUNT,TYPE,CHARACTER-DENSITY +----+----+-----+----+----+ | 2B | D2 | CNT | 29 | CD | +----+----+-----+----+----+ | | | | | | 0----8----16----24---32---47where:
Host On-Demand handles only the following CD values: 10, 12, 15, and 17. All others cause Host On-Demand to reset density to the default of 10.
Numbers 256 to 65535 are reserved. If CNT = X'04' and CD = X'0000' or CNT = X'02', the default value of the device is used.
The character density specified in the SPD becomes effective immediately on receipt of the SPD. When the SPD code X'2BD20229' is received, the device sets the character density to its default value. The default value is retained unless valid count and character density values are received.
For SBCS sessions, if the SHF (set horizontal format) parameter is not used to change LM, RM, and MPP to compensate for a change in character density, the left and right margins might be misaligned. For DBCS sessions, the CPI value used to set LM is always the value that is set in the configuration panel, so SPD does not cause the left margin to be misaligned. |
The receipt of an SVF control sets all vertical formatting controls to their
default values. The minimum valid sequence that may be sent is SVF with a count
of one, in which case all vertical formatting controls have default values. A
zero value for any other SVF parameter is a no-op and results in the function
retaining its default value. The default values to be assumed are those
described below under the definition of each parameter. SHF appears as:
CSP,CLASS,COUNT,MPL,TM,BM,T1,...Tn +----+----+-----+-----+----+----+----+-----+---+ | 2B | C2 | CNT | MPL | TM | BM | T1 | ... | Tn| +----+----+-----+-----+----+----+----+-----+---+ | | | | | | | | 0----8----16----32----40---48---56---nwhere:
Vertical tab stops, selected by VT, or vertical channels, selected by VCS.
Each vertical tab-stop parameter specifies a single-line value for use with the vertical tab (VT) function. Valid vertical tab values are equal to or greater than TM (the first vertical tab stop which must not be specified explicitly) and equal to or less than BM or X'00'. While X'00' is a permissible tab-stop value, only nonzero values are processed. MPL must be specified as a value greater than one if useful vertical tab stops are to be available. Vertical tabs must be listed in increasing order if predictable results are to be achieved with the VT function. Vertical tab stops may be set at any line, except TM, down to, and including, bottom margin.
Tab-stop parameters 1 through 11 are also used to set line values for corresponding control channels 2 through 12; channel 1 is set by the TM. This allows vertical formatting to be accomplished with the vertical channel select (1-12) function in addition to the VT function. The value zero may appear in any of tab stops 1 through 11. A zero line value specified to correspond to any of channels 2 through 12 will result in a default to the LF function when a select channel is given for that channel number. A select channel 1 causes line positioning to move to the TM of the next presentation surface with no change in column position. Vertical tab line values must be in increasing order when used to set channel stops, except that the value zero may appear out of sequence.
The following algorithm is executed when SVF is received:
The SVF parameters become effective immediately on receipt of an SHF. The device assumes that the form is aligned to the line specified by the TM parameter.
Unless the using application always specifies TM = 1, the form must be manually aligned to the line specified by TM prior to the receipt of SVF. Failure to observe this rule results in misalignment of the printed output relative to the form. |
SI specifies that data be handled as SBCS characters.
SI +----+ | 0F | +----+Character data after SI are handled as SBCS characters until one of the following occurs:
From the start of a record, all character data are handled as SBCS characters until either of the above two conditions is met. SI does not take a character position.
SO specifies that data be handled as DBCS characters.
SI +----+ | 0E | +----+
Character data after SO are handled as DBCS characters until one of the
following occurs:
After an SO, SCS controls and their parameters are handled as single bytes. A control cannot be inserted between the 1st and 2nd bytes of DBCS data. It if is, it is handled as an invalid character and printed as a 2-byte solid block.
SI does not take a character position.
TRN is a data-defining control used to denote the start of a transparent data stream. There are two types of transparent data stream:
How to change the setting for TRN data stream |
---|
The default setting can be changed by a TRANSPARENT_ON? entry in the
PDT.
TRANSPARENT_ON? = YES /* use ATRN mode */ TRANSPARENT_ON? = NO /* use ETRN mode */ |
TRN appears as:
TRN,COUNT +----+-----+ | 35 | CNT | +----+-----+ | | | 0----8-----15where:
After the TRN data has been processed, the presentation position must be moved CNT positions.
For SBCS, VCS is a formatting control used to select one of twelve vertical channels for the purpose of controlling the vertical format of a presentation surface.
VCS appears as:
SEL,CHANNEL-CODE +----+------+ | 04 | CODE | +----+------+ | | | 0----8------15where: (the following explanations apply only to SBCS)
Unless the default values are to be used, line-stop values for each channel used must be designated before these select functions are used. See Set Vertical Format (SVF).
When the current line number is greater than the largest line value specified for the channel selected, a form feed is issued and the line value specified for the selected channel is used on the next page. When there are no line values specified for a channel, a select channel function for that channel defaults to LF (line Feed).
VT +----+ | 0B | +----+
WUS is a device control which underscores the entire word immediately
preceding the WUS control. The underscored word is the string of characters
before the WUS code as far back as one of the following: space, underscore, or
any of the SCS controls.
WUS +-----------------------+----+ | (any string) | 23 | +-----------------------+----+ 8n 8n+7
In order for all GB18030 characters to be printed correctly you must use IBM WorldType font Monotype Sans Duospace WT SC.
Note that if you use the SimSun-18030 font distributed as part of the Microsoft GB18030 Support package, not all GB18030 characters can be printed. However, even if you use the IBM WorldType font Monotype Sans Duospace WT SC, as recommended here, the Microsoft GB18030 Support package itself must be installed.
Follow these steps to use the IBM WorldType font Monotype Sans Duospace WT SC:
C:\Winnt
C:\Winnt\Fonts
Host On-Demand supports three code-pages (932, 942 and 943) for Japanese printers. 942 is used as the default for IBM printers, 943 for others. When 943 is used, NEC code-points are used by default for IBM-NEC duplicated code-points. The KANJI_CODE? statement in a PDF is used to check whether the printer is an IBM printer or not (SHIFT_JIS = IBM, JIS = other).
Usually, there is no need to change the default value but you can change the printer-font code-page setting on the Advanced Options panel. Refer to your printer manual to find out the code page used by your printer.
Host On-Demand also provides two PDF parameters for Japanese code page support:
Examples
KANJI_CODE? Option | OLD_JIS? Option | CP943_IBM? Option | Conversion behavior | Printers |
SHIFT_JIS | YES | n/a | 942/932 | IBM Printers |
SHIFT_JIS | NO | YES | 943-IBM | IBM 5577-s02/t02, and Network Printer in PAGES mode when using CP 94 3 |
JIS | YES | n/a | 942/932 | LIPS Old JIS Seq. Mode |
JIS | NO | NO | 943-NEC | ESC/P, LIPS printers |
For host printing support of User-Defined Characters (UDCs), in either
Java File Interface mode or Windows Spooler Interface mode, you must prepare
a UDC font-image file. On a server, this file must be located in the
fonts directory
(for example, %HostOnDemandInstallLocation%\HOD\fonts
)
so that it is accessible to clients. In Windows Native Printing
mode, you do not have to do this as long as UDCs are defined on your Windows
system.
UDC support is applicable to double-byte languages only.
On Windows, you must run the w32udcnv.exe utility to find and convert Windows user-defined fonts into a usable font-image file. The utility is provided in the \UDC directory on the Host On-Demand CD; it is not copied to the server during installation. To use the utility:
Platform | Font-image filename | ||
Japanese Windows | jpn24.fnt | ||
Korean Windows | kor24.fnt | ||
Simplified Chinese Windows | chs24.fnt | ||
Traditional Chinese Windows | cht24.fnt |
C:\Program Files\IBM\HostOnDemand\HOD\fonts
).
On an OS/2 server, copy the OS/2 font-image file, $SYS1Z24.FNT
,
to the fonts directory of the publish directory and rename it according to the
table above.
Limitations
The euro is the name of the single currency of the European Union. Host On-Demand supports the euro currency symbol on display sessions. When printing with a PDT, it can support the euro symbol only if the printer fonts include the symbol.
The default host code pages for display sessions in European languages are those that include support for the euro. For printer sessions, the defaults are non-euro because most printers do not support the euro yet. However, you can use a euro code page if necessary.
If your printer fonts include the euro symbol, you can print the symbol
through Host On-Demand printer sessions by doing the following:
You can set some parameters in the Page Setup and Advanced Options panels when you configure a printer session. These parameters override the values set in the PDT, but they do not modify the PDT.
The following table shows the fields, ranges, and associated PDT parameter values:
Field name | Value | PDT parameter |
Best Fit | Yes/No | none |
Characters per inch | 10, 12, 17 | DEFAULT_CPI? |
Concatenation time | integer: 0-32767 | none |
Draw field-attribute byte | none, here, next | none |
FF takes space if before data | Yes/No | FORM_FEED_TAKES_POSITION? |
Font | String | none |
Form-feed position | Any position/Column 1 only | FORM_FEED_ANY_POSITION? |
Ignore attributes | Yes/No | none |
Ignore FF when at first position | Yes/No | IGNORE_FORM_FEED_AT_FIRST_POS? |
Inactivity time integer | 0, 10-255 | INTERV_REQ_TIMER |
Inherit parameters | Yes/No | none |
Lines per inch | 2, 3, 4, 6, 8, 10 | DEFAULT_LPI? |
Maximum characters per line | integer: 1-255 | MAXIMUM_PRINT_POSITION |
Maximum lines per page | integer: 1-255 | MAXIMUM_PAGE_LENGTH |
Printer-font code-page | integer: (for example 850) | none |
Print nulls as spaces | Yes/No | OVERRIDE_FORMATTED_PRINT? |
SCS sense-code | Yes/No | none |
Suppress NL if CR at MPP+1 | Yes/No | NO_AUTO_NL_IF_CR_AT_MPP_PLUS_1? |
Suppress NL if NL at MPP+1 | Yes/No | NO_AUTO_NL_IF_NL_AT_MPP_PLUS_1? |
Suppress null lines | Yes/No | COMPRESS_LINE_SPACING? |
Termination time | integer: 0-32767 | none |
Tractor feed | Yes/No | none |
If the print function fails completely, first try to re-install the server code. If the print function still fails, contact your IBM Service Representative.
If the printed output is not as you want it to be, and you cannot correct the problem by referring to the rest of this book, the following information might help you:
Host On-Demand has an inactivity timer that monitors print jobs and pops up an 'intervention required' message if an error occurs. If the message appears, check the following:
After you correct the error, printing resumes and the message disappears, but you can click OK at any time to remove the message.
If you cannot correct the error condition, close and restart the browser. In some cases, you might have to reboot the machine.
The inactivity time is controlled by the value set in the session Properties > Connection window for 3270 Printer sessions, Properties > Printer window for the 5250 Printer session, or the INTERV_REQ_TIMER= session parameter in the PDT. The default value is 25 seconds (025), but you can change it on the panel or by modifying and compiling the PDF. A value of 000 disables the timer; a value below 011 sets an interval of 10 seconds; the maximum value is 255. You might need to increase the value if you have a slow printer.
For additional information related to Print Troubleshooting, see the Printing Toubleshooting Checklist in the IBM Host On-Demand Troubleshooting Guide.
| |
You do not need a connected session to print a test page. |
Correct the problem and retry.
If your printer does not support any of those modes, try using the Basic ASCII Text Mode PDT, because many printers accept ASCII text. Otherwise, you may want to create your own PDT. Refer to the technical reference for the printer and also read Understanding the Format of Printer Definition Files.
|
If neither 1 nor 2 is applicable, verify that the printer is in the correct state to print in the selected mode. Printers that support multiple modes and that do not have automatic mode-switching usually provide a way to switch modes on the printer hardware or in the software. Refer to the printer documentation.
If there is no Intervention Required message but the test page does not print, you may have specified a printer name that is not a valid printer device or port. If so, the output has probably been printed to a file of that name. For example, if you typed ltp1 instead of lpt1, you probably have a file named ltp1 in the browser's working directory. Or, if you specified the address of a printer in the form 9.9.9.9, you probably have a file named 9.9.9.9. Read How Host Printing Works for more information.
Printing may be halted by the host iSeries system. To check the status of a printer, use the WRKWTR command on the AS/400 command line. Use option 7 to display the printer operator messages. If you frequently receive the "Load form type '*STD' device ..." message, consider having the iSeries system administrator perform the following command: ADDRPYLE SEQNBR(99999) MSGID(CPA3394) RPY('G').
Correct the problem and retry.
If your printer is spooling, you may not get your output until your host application stops the printer. |
If your printer does not support any of those modes, try using the
Basic ASCII text mode PDT because many printers accept ASCII text.
Otherwise, you may want to create your own PDT, in which case you should
refer to the technical reference for the printer and Understanding
the Format of Printer Definition Files.
Notes:
If you see incorrect character attributes (for example, CPI or LPI) in printouts on an AIX-attached printer, the printer control codes added by the AIX printer driver may be causing the problem. In order to send host print jobs unmodified to the printer, use AIX's splp command with the -p+ flag. Refer to the AIX Commands Reference for details about the splp command.
For a printer session to be established, the iSeries Telnet server must support TN3270E and be configured for LU1 or LU3 sessions.
If the Telnet server is enabled for TN3270E and configured for LU1 or LU3 sessions, look at the help for the COMM check to correct the problem.
In the configuration of an associated printer session, you can enter the LU name of the display session and the server should then provide the name of the printer LU associated with that display. However, the Novell server does not do so. You can get around the problem by entering the name of the printer LU or by leaving the name blank, in which case Host On-Demand tries to start a printer session that is associated with any active display session.
If you get this message when you start a display session, an associated printer session has been specified in the display-session configuration on the client but the Telnet server to which the session has connected does not support TN3270E. Printer sessions are supported only by the Extended TN3270 protocol.
If you receive a message indicating that an error has occurred, check the following:
Correct the problem and try again.
If you do not receive an error message, the file might have been written to the disk:
default.prn
was used. If the printer is configured for separate files, the names
will be default.prn.000, default.prn.001
and increment in
number as the files are created.If you are using a PDT such as Basic ASCII text mode, you can choose only 10 characters per inch because that is the default when no character-density statements are defined in the PDT. Host On-Demand supports 10, 12, or 17 characters per inch if the following options are defined, with valid control codes, in the PDT:
SET_10_CHARACTERS_INCH SET_12_CHARACTERS_INCH SET_17_CHARACTERS_INCH
If your printer supports these character densities and you want to select them, you must use one of the other PDTs supplied or create and compile a PDF with these Control Codes defined.
If you receive unexpected CPI in a print job, check the START_JOB and END_JOB control codes to see if they have been defined with CPI controls. If you are using an LU1 session, also check whether an SCS command, Set Print Density, which affects CPI, is being sent from the host.
If you are using a PDT such as Basic ASCII text mode, you can choose only 6 lines per inch because that is the default when no line-density statements are defined in the PDT. Host On-Demand supports 2, 3, 4, 6, or 8 lines per inch if the following options are defined, with valid control codes, in the PDT:
SET_2_LINES_INCH SET_3_LINES_INCH SET_4_LINES_INCH SET_6_LINES_INCH SET_8_LINES_INCH or SET_VARIABLE_LINE_DENSITY LINE_SPACING_RATIO
If your printer supports these line densities and you want to use them, you must use one of the other PDTs supplied or create and compile a PDF with these Control Codes defined.
If you receive unexpected LPI in a print job, check the START_JOB and END_JOB control codes to see if they have been defined with CPI controls. Additionally, SET_VARIABLE_LINE_DENSITY and LINE_SPACING_RATIO affect how line-density is controlled. If you are using an LU1 session, also check whether an SCS command, Set Line Density, which affects LPI, is being sent from the host.
If you receive a message indicating that an error has occurred, check the following:
Correct the problem and click Retry or Cancel Job.
If the only response available in the message box is OK, the message occurred because Host On-Demand recognized that there had been no activity within the timeout period of the inactivity timer. If your printer is slow, but seems to be functioning correctly, click OK. Host On-Demand should continue printing. You can also disable the time-out or lengthen the timer.
If there is a problem with the file or device and the inactivity timer is active, you should receive a message indicating an error. Correct the error and send the job again.
If there is a problem in the host data stream, an error code is returned to the host. Correct the error and send the job again. However, if you want to try to print even though the data stream is not correct, change SNA sense-code to No in the Advanced Options configuration window. This option lets the print job continue even though there are data stream errors.
If there is a problem with the connection, changing SNA sense-code to No will have no effect. Check the Java console for indications of failure, and if necessary, take a Transport trace to diagnose the problem further.
If you are experiencing unexpected page ejects when using 3270 host-directed printing with Host On-Demand, read these suggestions for the source of your problem.
If your host print application sends more lines than your printer can hold in a page, the data can be split into two or more pages. In order to correct this problem, re-configure the host application so that it does not send too many lines in a page or re-configure Host On-Demand to use larger values for maximum print lines (MPL) and lines per inch (LPI).
If your host print application sends more characters than your printer can hold in a line, the data for one line can be split into two or more lines. As a result, a physical page cannot hold the data received from the host to be printed on a single page. To correct this problem, either re-configure the host application so that it does not send too many characters in a line or re-configure Host On-Demand to use larger values for maximum presentation position (MPP) and characters per inch (CPI).
If your host print application sends PC printer commands using the SCS Transparent command, these commands may cause unexpected page ejects. There is no general solution for this type of problem. However, if you are experiencing an extra blank page at the end of each print job, a new PDF keyword for form-feed control may solve the problem. The new PDF keyword is available from Host On-Demand. Refer to the documentation for details about the keyword.
Many printers have more than one printer emulation mode. If your printer is using a printer emulation mode that is different from the one you specified for Host On-Demand printer sessions, the printer may generate unexpected page ejects. Refer to your printer manual for information about configuring the printer emulation mode.
Because of current Java limitations on printing, Host On-Demand writes to the printer device or port through the Java file interface. On Windows operating systems, handling a local port (LPT1) as a file causes the print job to bypass the spooler. Therefore, if you want to hold jobs before printing, you should print to a file, and then copy the file to the printer. Refer to How Host Printing Works for more information.
For AIX or UNIX, print output goes directly to a printer if you enter a device name such as /dev/lp0. However, printing to a network printer is a two-stage process:
This can be automated by using the feature described in the help entry "Running external commands after host print jobs."
Some HP printers use HP's new Performance Printing Architecture, which improves performance by moving the processing of the HP PCL commands from the printer to the processor, and which uses a proprietary architecture (PPA) between the PC and the printer. Host On-Demand supports HP PCL but, because of Java limitations on printing, it writes directly to the printer port or device through the Java file interface. Writing to local devices such as LPT1 in this manner causes Host On-Demand to bypass the HP software that converts the PCL commands to PPA, with the result being that you cannot print to a local device.
You can bypass this limitation by defining the printer as a remote (network) printer, which causes the HP PCL commands to go through HP's device software.
This can be solved by using the feature described in the help entry "Running external commands after host print jobs." This problem can also be resolved by using the Windows Native Printing mode.
PA1 and PA2 are Program Attention keys for LU1 printer sessions. If these keys are to be active, the host application that receives them must be able to process them. If this is the case but nothing happens when you press one of the keys, verify that the Telnet server to which the session is connected supports them.
When the PA1 or PA2 key is pressed, Host On-Demand sends APAK 01 or APAK 02 respectively.
PA1 and PA2 are not applicable to LU3 printer sessions.
If you have a locally attached printer assigned to LPT1 and map a network printer to LPT1 also on Windows XP, Windows 7, Windows 8, or Windows 10, print jobs from any application are sent to the network printer. You can print to the locally attached printer on LPT1 after you delete the network printer mapping to LPT1.
If you are sure that you are using the correct type of PDT, and you cannot resolve the problem, call the IBM support center. Before you do so, have the following information ready:
Table 35. Problem Determination
Problem | Function | Component | Trace Level |
---|---|---|---|
Output has incorrect formatting | HACL | Printer | 3 |
Connection not made or failed | HACL | Transport | 3 |
No output | HACL | Printer | 3 |
Host data stream | HACL Check for host messages |
Transport | 3 |
Session hangs | HOD HACL Java log or console |
PrtTerminal Printer |
3 1 |
Wrong status shown | HOD | PrtTerminal | 3 |
Windows native trace messages (Windows platforms only): If you have a problem unique to the Windows Spooler Interface mode or the Windows Native Printing mode, get Windows native trace messages using the hodtracetool utility, which is located on the Host On-Demand CD-ROM.
Invoking the hodtracetool utility with the '?' option will display an explanation about the tool like the following:
Invoking the hodtracetool utility without options will display the current setting on Windows native tracing, for example:
The Telnet3270E standard lets you specify an association between a display and a printer session. The rules are defined in RFC2355. This is unique to Telnet and is not available in the SNA environment. When you configure a display session, Host On-Demand lets you specify an associated printer session.
The purpose of the association is convenience:
The association starts at the Telnet server. In the server's configuration, there is a one-to-one correspondence when defining associated printers. Each printer LU is configured as associated with a particular display LU. However, in the Host On-Demand session configuration, a printer session configuration without an LU name specified can be associated with multiple display sessions because the display session LU name is used to start the associated printer session.
Association does NOT mean that data sent to print from a display LU automatically goes to the associated printer LU. You always have to tell the host program the name of the LU to which you want to print.
Host On-Demand applies some variations of its own:
If you are using explicit LUs, you can enter the LU name of the display session; the server should then provide the name of the printer LU associated with that display. You can also enter the name of the printer LU. If you leave the name blank, Host On-Demand tries to start a printer session that is associated with any active display session.
The following is a printer definition file for the IBM LaserPrinter PPDS. This is only an example; the actual file may differ.
/**********************************************************************/ /* */ /* PRINTER DEFINITION FILE FOR: IBM PPDS Level 2 */ /* */ /* This PDF is for printers which support IBM PPDS Level 2 mode. */ /* The User's Guide or Reference for the printer will list the */ /* Emulation Mode or Language supported by the printer. Printers */ /* which support PPDS Level 3 or 4 will work with this PDF. */ /* Printers, such as the Proprinter, which do not support code */ /* page selection should not use this PDF. */ /* */ /**********************************************************************/ /**********************************************************************/ /* */ /* Macro Definitions */ /* */ /* Define values here that will be used commonly throughout your */ /* definitions. Then use the left hand side of the equate as you */ /* define characters and control strings. The PDT compiler */ /* will substitute the right hand side of the equate for each */ /* occurrence of the left hand side throughout the file. */ /* */ /* Macro names must be three characters long and may not begin with */ /* a number. */ /* */ /* Format */ /* A macro name is associated with a value or string of values by the */ /* EQU statement. The right hand side of an EQU statement must be a */ /* string of zero or more two digit hexadecimal numbers. If a macro */ /* definition is more than one line long, you may extend it to the */ /* next line by ending the first line with a comma. In this manner, */ /* you may define a macro which is many lines long. Macro names are */ /* not allowed on the right hand side. */ /**********************************************************************/ BEGIN_MACROS /* Check your printer manual to verify that these values are correct */ /* for your printer. */ NUL EQU 00 /* Nul character */ BEL EQU 07 /* Beeper */ BAK EQU 08 /* Back Space */ TAB EQU 09 /* Tab */ LFF EQU 0A /* Line Feed */ VTB EQU 0B /* Vertical Tab */ FFF EQU 0C /* Form Feed */ CRR EQU 0D /* Carriage Return */ P05 EQU 1B 57 01 /* 5 Pitch-Characters/inch */ /* Same as Double Wide */ SEL EQU 11 /* Select Printer */ P10 EQU 12 /* 10 Pitch-Characters/inch */ CDW EQU 1B 57 00 /* Cancel Double Wide contin. */ CDL EQU 14 /* Cancel Double Wide line */ ESC EQU 1B /* Escape */ SPA EQU 20 /* Space */ P17 EQU 12 0F /* 17.1 Pitch-Characters/inch */ CS2 EQU 1B 36 /* Select Character Set 2 */ CS1 EQU 1B 37 /* Select Character Set 1 */ P12 EQU 1B 3A /* 12 Pitch-characters/inch */ SVT EQU 1B 42 /* Set Vertical Tabs */ SFL EQU 1B 43 00 /* Set Form Length inches */ SHT EQU 1B 44 /* Set Horizontal Tabs */ SDS EQU 1B 47 /* Start Double Strike */ CDS EQU 1B 48 /* Cancel Double Strike */ SSP EQU 1B 4E /* Set skip perforation */ CSP EQU 1B 4F /* Cancel skip perforation */ CAT EQU 1B 52 /* Cancel all tabs Clears VT */ /* and sets HT every 8 position */ SUL EQU 1B 2D 01 /* Start Underline */ CUL EQU 1B 2D 00 /* Cancel Underline */ SCP EQU 1B 5B 54 04 00 00 00 /* ESC [ T : select code page */ CP8 EQU 1B 5B 54 04 00 00 00 03 52 /* select code page 850 */ CP4 EQU 1B 5B 54 04 00 00 00 01 B5 /* select code page 437 */ LL2 EQU 1B 41 24 1B 32 /* Set line length 2 lines/inch */ LL3 EQU 1B 41 18 1B 32 /* Set line length 3 lines/inch */ LL4 EQU 1B 41 12 1B 32 /* Set line length 4 lines/inch */ LL6 EQU 1B 41 0C 1B 32 /* Set line length 6 lines/inch */ LL8 EQU 1B 41 09 1B 32 /* Set line length 8 lines/inch */ LL0 EQU 1B 41 07 1B 32 /* Set line length 10 lines/inch */ /* actually 7/72 inch */ FRM EQU 1B 64 /* Forward Relative Movement */ VLF EQU 1B 4A /* Variable Line Feed 1/216 inch units */ END_MACROS /**********************************************************************/ /* */ /* Session Parameters */ /* */ /* These parameters determine the way in which output will be */ /* formatted for your printer. */ /**********************************************************************/ /**********************************************************************/ /* Numeric Parameters */ /* These parameters should be defined with a two digit hex number */ /* or a three digit decimal number. The range of the number is zero */ /* to 255 (decimal). */ /**********************************************************************/ MAXIMUM_PAGE_LENGTH=066 /* Printed lines per page */ MAXIMUM_PRINT_POSITION=080 /* Printed characters per line */ HORIZONTAL_PEL=120 VERTICAL_PEL=216 LINE_SPACING_RATIO=072 INTERV_REQ_TIMER=025 /* Wait time if no printer rsp */ TOP_MARGIN= LEFT_MARGIN= /**********************************************************************/ /* YES/NO Parameters */ /* These parameters should be defined with either "YES" or "NO" on the*/ /* right hand side of the '=' */ /**********************************************************************/ COMPRESS_LINE_SPACING?=NO /* Should blank or null lines */ /* be printed? */ FORM_FEED_ANY_POSITION?=YES /* Should the form feed be */ /* valid in any position? */ OVERRIDE_FORMATTED_PRINT?=YES /* Should nulls be printed as */ /* blanks? */ /**********************************************************************/ /* */ /* Control Codes */ /* */ /* These definitions tell the emulator what strings to send to */ /* your printer to issue control commands. */ /* */ /* Format */ /* The name of the control command should always be at the beginning */ /* of a line followed by a '=' and then a definition string. */ /* A Definition String is any combination of macro names, hexadecimal */ /* numbers, or characters, separated by blanks. A macro must have */ /* previously been defined in the macro definitions section above. */ /* A hexadecimal number must be two digits (0,..,F) long. A */ /* character must be preceded and followed by a blank. If a */ /* definition string will not fit on a line, it may be continued on */ /* as many lines as you wish by ending each line except the last with */ /* a comma. You may add any comments you wish by including */ /* them between a slash* and a *slash where slash is the symbol /. */ /**********************************************************************/ /* START_JOB is the control string which is sent to the printer */ /* at the beginning of each print job. */ START_JOB=SEL CDW CDL CUL CDS CP8 CS2 /* END_JOB is the string which is sent to the printer at the end */ /* of each print job. */ END_JOB=CAT CDW CDL CUL CDS CP4 /* PAGE_LENGTH_TYPE is used to determine the type of value for the */ /* value defined in the SET_PAGE_LENGTH command */ PAGE_LENGTH_TYPE?=INCH BACKSPACE=BAK BEL=BEL CARRIAGE_RETURN=CRR NEW_LINE=CRR LFF LINE_FEED=LFF FORM_FEED=FFF HORIZONTAL_TAB=TAB VERTICAL_TAB=VTB DUP=* FIELD_MARK=; /**********************************************************************/ /* The following control codes contain command strings that include */ /* one or more variable values. Place the word "value" in the */ /* position in your definition string where Host On-Demand should */ /* fill in the hexadecimal value(s) indicated. */ /* For example, on the IBM Proprinter, the SET_HORIZONTAL_TABS */ /* definition is: SET_HORIZONTAL_TABS=ESC D values NUL */ /**********************************************************************/ SET_HORIZONTAL_TABS=SHT values NUL /* "values" are the tab stops */ /* in column numbers */ SET_VERTICAL_TABS=SVT values NUL /* "values" are the tab stops */ /* in line numbers */ SET_HORIZONTAL_MARGINS= SET_PAGE_LENGTH=SFL value /* "value"=inch of the page */ SET_AUTO_PERFORATION_SKIP= /* "value"=number of lines to */ /* skip over the perforation */ /* between pages. Used to set */ /* top and bottom margins. */ SET_VARIABLE_LINE_DENSITY=ESC A value ESC 2 /* "value"=number of points. */ /* A point is */ /* 1/(LINE_SPACING_RATIO) inch.*/ /**********************************************************************/ /* The following control codes set the printer lines per inch and */ /* characters per inch to fixed amounts. If your printer does not */ /* support setting the line density in points, you may enter control */ /* strings for the following commands. Note that if you provide a */ /* command for the SET_VARIABLE_LINE_DENSITY command above, it will */ /* be used and any control strings you provide for the set lines per */ /* inch commands below will not be used. */ /* When Host On-Demand gets a command from the host to set the */ /* lines per inch, it rounds it to the closest lines per inch */ /* setting that you provide. */ /**********************************************************************/ SET_2_LINES_PER_INCH=LL2 SET_3_LINES_PER_INCH=LL3 SET_4_LINES_PER_INCH=LL4 SET_6_LINES_PER_INCH=LL6 SET_8_LINES_PER_INCH=LL8 SET_10_LINES_PER_INCH=LL0 /* 7/72 inch or 9/96 inch */ SET_10_CHARACTERS_PER_INCH=P10 SET_12_CHARACTERS_PER_INCH=P12 SET_17_CHARACTERS_PER_INCH=P17 /* Condensed mode */ START_DOUBLE_WIDTH_CHARACTERS=P05 END_DOUBLE_WIDTH_CHARACTERS=CDW /**********************************************************************/ /* These control codes move the print position (Horizontal/Vertical) */ /**********************************************************************/ FORWARD_HORIZONTAL_SKIP=FRM word-value(LH) FORWARD_VERTICAL_STEP_FEED=VLF byte-value /**********************************************************************/ /* Highlight Specifications */ /* These definitions determine how things which are sent by the */ /* host to be displayed or printed as underlined, reverse video, or */ /* blinking, will be highlighted on your printer. */ /**********************************************************************/ START_HIGHLIGHT_INTENSE=SDS /* This is double strike */ END_HIGHLIGHT_INTENSE=CDS START_HIGHLIGHT_UNDERLINE=SUL END_HIGHLIGHT_UNDERLINE=CUL START_HIGHLIGHT_REVERSE_VIDEO= END_HIGHLIGHT_REVERSE_VIDEO= START_HIGHLIGHT_BLINK= END_HIGHLIGHT_BLINK= /**********************************************************************/ /* */ /* Character Definitions */ /* */ /* The remainder of the definitions are for printable characters. */ /* See the Host Printing Reference for the actual character referred */ /* to by each character name. */ /* */ /* Format */ /* The format of a character definition is the same as for a control */ /* code. */ /**********************************************************************/ SPACE=SPA EXCLAMATION_POINT=21 QUOTATION_MARKS=22 NUMBER_SIGN=23 DOLLAR_SIGN=24 PERCENT_SIGN=25 AMPERSAND=26 APOSTROPHE=27 LEFT_PARENTHESIS=28 RIGHT_PARENTHESIS=29 ASTERISK=2A PLUS_SIGN=2B COMMA=2C HYPHEN=2D PERIOD=2E SLASH=2F ZERO=0 ONE=1 TWO=2 THREE=3 FOUR=4 FIVE=5 SIX=6 SEVEN=7 EIGHT=8 NINE=9 COLON=3A SEMICOLON=3B LESS_THAN_SIGN=3C EQUAL_SIGN=3D GREATER_THAN_SIGN=3E QUESTION_MARK=3F AT_SIGN=40 A_CAPITAL=A B_CAPITAL=B C_CAPITAL=C D_CAPITAL=D E_CAPITAL=E F_CAPITAL=F G_CAPITAL=G H_CAPITAL=H I_CAPITAL=I J_CAPITAL=J K_CAPITAL=K L_CAPITAL=L M_CAPITAL=M N_CAPITAL=N O_CAPITAL=O P_CAPITAL=P Q_CAPITAL=Q R_CAPITAL=R S_CAPITAL=S T_CAPITAL=T U_CAPITAL=U V_CAPITAL=V W_CAPITAL=W X_CAPITAL=X Y_CAPITAL=Y Z_CAPITAL=Z LEFT_BRACKET=5B BACKSLASH=5C RIGHT_BRACKET=5D CIRCUMFLEX_ACCENT=5E UNDERLINE=5F GRAVE_ACCENT=60 A_SMALL=a B_SMALL=b C_SMALL=c D_SMALL=d E_SMALL=e F_SMALL=f G_SMALL=g H_SMALL=h I_SMALL=i J_SMALL=j K_SMALL=k L_SMALL=l M_SMALL=m N_SMALL=n O_SMALL=o P_SMALL=p Q_SMALL=q R_SMALL=r S_SMALL=s T_SMALL=t U_SMALL=u V_SMALL=v W_SMALL=w X_SMALL=x Y_SMALL=y Z_SMALL=z LEFT_BRACE=7B VERTICAL_BAR=7C RIGHT_BRACE=7D TILDE_ACCENT=7E C_CEDILLA_CAPITAL=80 U_DIAERESIS_SMALL=81 E_ACUTE_SMALL=82 A_CIRCUMFLEX_SMALL=83 A_DIAERESIS_SMALL=84 A_GRAVE_SMALL=85 A_OVERCIRCLE_SMALL=86 C_CEDILLA_SMALL=87 E_CIRCUMFLEX_SMALL=88 E_DIAERESIS_SMALL=89 E_GRAVE_SMALL=8A I_DIAERESIS_SMALL=8B I_CIRCUMFLEX_SMALL=8C I_GRAVE_SMALL=8D A_DIAERESIS_CAPITAL=8E A_OVERCIRCLE_CAPITAL=8F E_ACUTE_CAPITAL=90 AE_DIPTHONG_SMALL=91 AE_DIPTHONG_CAPITAL=92 O_CIRCUMFLEX_SMALL=93 O_DIAERESIS_SMALL=94 O_GRAVE_SMALL=95 U_CIRCUMFLEX_SMALL=96 U_GRAVE_SMALL=97 Y_DIAERESIS_SMALL=98 O_DIAERESIS_CAPITAL=99 U_DIAERESIS_CAPITAL=9A O_SLASH_SMALL=9B POUND_SIGN=9C O_SLASH_CAPITAL=9D MULTIPLY_SIGN=9E A_ACUTE_SMALL=A0 I_ACUTE_SMALL=A1 O_ACUTE_SMALL=A2 U_ACUTE_SMALL=A3 N_TILDE_SMALL=A4 N_TILDE_CAPITAL=A5 ORDINAL_INDICATOR_FEMININE=A6 ORDINAL_INDICATOR_MASCULINE=A7 QUESTION_MARK_INVERTED=A8 REGISTERED_TRADEMARK_SYMBOL=A9 LOGICAL_NOT=AA ONE_HALF=AB ONE_QUARTER=AC EXCLAMATION_POINT_INVERTED=AD LEFT_ANGLE_QUOTES=AE RIGHT_ANGLE_QUOTES=AF A_ACUTE_CAPITAL=B5 A_CIRCUMFLEX_CAPITAL=B6 A_GRAVE_CAPITAL=B7 COPYRIGHT_SYMBOL=B8 CENT_SIGN=BD YEN_SIGN=BE A_TILDE_SMALL=C6 A_TILDE_CAPITAL=C7 INTERNATIONAL_CURRENCY_SYMBOL=CF ETH_ICELANDIC_SMALL=D0 ETH_ICELANDIC_CAPITAL=D1 E_CIRCUMFLEX_CAPITAL=D2 E_DIAERESIS_CAPITAL=D3 E_GRAVE_CAPITAL=D4 I_DOTLESS_SMALL=D5 I_ACUTE_CAPITAL=D6 I_CIRCUMFLEX_CAPITAL=D7 I_DIAERESIS_CAPITAL=D8 VERTICAL_LINE_BROKEN=DD I_GRAVE_CAPITAL=DE O_ACUTE_CAPITAL=E0 SHARP_S_SMALL=E1 O_CIRCUMFLEX_CAPITAL=E2 O_GRAVE_CAPITAL=E3 O_TILDE_SMALL=E4 O_TILDE_CAPITAL=E5 MICRO_SYMBOL=E6 THORN_ICELANDIC_SMALL=E7 THORN_ICELANDIC_CAPITAL=E8 U_ACUTE_CAPITAL=E9 U_CIRCUMFLEX_CAPITAL=EA U_GRAVE_CAPITAL=EB Y_ACUTE_SMALL=EC Y_ACUTE_CAPITAL=ED OVERLINE=EE ACUTE_ACCENT=EF SYLLABLE_HYPHEN=F0 PLUS_OR_MINUS_SIGN=F1 THREE_QUARTERS=F3 PARAGRAPH_SYMBOL=F4 SECTION_SYMBOL=F5 DIVIDE_SIGN=F6 CEDILLA=F7 DEGREE_SYMBOL=F8 DIAERESIS=F9 MIDDLE_DOT_ACCENT=FA ONE_SUPERSCRIPT=FB THREE_SUPERSCRIPT=FC TWO_SUPERSCRIPT=FD REQUIRED_SPACE=SPA /**********************************************************************/ /* End of Definition File */ /**********************************************************************/
This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or region or send inquiries, in writing, to:
Intellectual Property Licensing
The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.
This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.
Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:
Site Counsel
Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.
The licensed program described in this information and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement, or any equivalent agreement between us.
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.
If you are viewing this information softcopy, the photographs and color illustrations may not appear.
The following terms are trademarks of the IBM Corporation in the United States or other countries or both:
Lotus and Domino Go Webserver are trademarks of Lotus Development Corporation in the United States, or other countries, or both.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
Microsoft, Windows, Windows NT, and the Windows logo are registered trademarks of Microsoft Corporation in the United States, other countries, or both.
UNIX is a registered trademark in the United States, other countries, or both and is licensed exclusively through X/Open Company Limited.
Other company, product, and service names may be trademarks or service marks of others.