This section describes various special printer types and printing methods and covers the following topics:
Physical (and logical) printers of type XML allow XML stylesheets to be merged with XML documents at print time. The output of an XML printer is always a data set. On z/OS and compatible systems it is a disk file; on z/VSE it is a tape file; on BS2000/OSD it is a print file. An XML printer has the same attributes as its equivalent data set printer (DISKMVS, TAPEVSE or SYSPRBS2).
The stylesheet is resolved at print time as follows. If the document contains:
<?xml-stylesheet href="[file://EOM/*]">
the default stylesheet is taken from the definition of the report being printed. For example, if the report is defined with a stylesheet of
HTTP://SERVER1/MYSTYLE.XLS
the document is adjusted at print time to contain:
<?xml-stylesheet href="[HTTP://SERVER1/MYSTYLE.XLS]">
Stylesheets may also be stored as text objects in SYSNOMU. In this case the document (or report definition) may specify something like:
<?xml-stylesheet href="[file://EOM/SYSNOMU/MYSTYLE]">
This print line is suppressed and the contents of MYSTYLE from the
library SYSNOMU are inserted in its place. This implies that, for this method
of inserting a stylesheet, the <?xml-stylesheet…>
must be on
a line of its own.
The two methods can be combined, so that the document itself refers to
file://EOM/*
, which instructs the print task to take the
stylesheet URL from the report definition. The report definition then specifies
FILE://EOM/SYSNOMU/MYSTYLE
, which instructs the print task to
suppress the <?xml-stylesheet…>
and insert the contents of
MYSTYLE.
Additionally, a printer exit can specify the stylesheet by inserting a
record containing the URL of the stylesheet to be used. The printer exit must
not specify file://EOM/*
but it can specify
FILE://EOM/SYSNOMU/MYSTYLE
. The contents of any inserted
stylesheet are not passed to the printer exit. No stylesheet interpretation is
performed.
See TCP/IP Direct Printing in the Concepts and Facilities documentation.
The following prerequisite is required for using TCP/IP Direct Printing:
A print service according to RFC1179 which "speaks" the LPD/LPR protocol. This can be a printer server that processes printer queues (field 'Dest') or a printer or a conversion box that is directly attached to TCP/IP "speaking" LPR/LPD.
Note:
for z/VSE installations: You have to position the TCP/IP library in
front of the LE/VSE library in the phase search path. Otherwise, error message
EDCV001I will be generated. Sample LIBDEF statement to run TCP/IP programs:
// LIBDEF PHASE,SEARCH=(PRD1.BASE,PRD2.SCEEBASE)
Assemble the Natural batch driver with LE/370 option set to YES. This enables Entire Output Management to access POSIX functions.
Note:
Avoid slashes in your Natural parameters. The slash "/" is the
escape character which passes the complete parameter block to LE/370 and
Natural will not process any of these parameters.
Make module ESMLPR available to your ESY server. In z/OS, the data set in which it is contained (usually NOM.LOAD) must be APF-authorized and a PDSE data set.
Define a DD data set "SYSOUT" in your ESY startup job. This will be used for tracing and error messages of ESMLPR.
Start the monitor and printer tasks with profile parameter RCA=(ESMLPR) (entered in the corresponding SATPxxx member in library SYSSATU) to ensure ESMLPR will be loaded dynamically.
Define physical printers of type UNIXLP and logical printers pointing to them.
When you add a physical printer of type UNIXLP, a logical printer with the name DEFAULTx (x = A to Z) is added automatically. DEFAULT printers contains default values for UNIXLP printer parameters. If the monitor detects an empty parameter value of a logical printer pointing to a physical UNIXLP printer, the corresponding value from the appropriate DEFAULT printer is taken. When you delete a physical UNIXLP printer, the corresponding logical DEFAULT printer is also deleted. DEFAULT printers can be modified like any other logical printer, but they cannot be renamed, deleted or copied.
The following fields are available (besides the field Copies of the general print attributes):
Field | Explanation | Symbol |
---|---|---|
Destination | Name of the printer queue of the printer server. | &UXLPDEST. |
Escape-before-1, -2, -3 | Hexadecimal digits, sent as control bytes to the printer before printing. | &BEF-1. &BEF-2.
&BEF-3. |
Escape-after-1 | Hexadecimal digits, sent as control bytes to the printer after printing. | &AFT-1. |
Listname | The name of the listing (passed to the server). | &LISTNAME. |
Port | Server port to be talked to; D default: port 515. |
&PORT. |
Server |
The IP address or name of the printer server or the printer (if the printer has its own IP address). The IP address has to be in the format nnn.nnn.nnn.nnn (IPv4) or hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh (IPv6). If you enter a name, it has to be fully qualified, that is, including the DNS name. |
&SERVER. |
User | User ID that can be passed to the destination spooling system. If empty, the Entire Output Management user ID will be used. | &USER. |
Formfeed |
|
&UXLPFFEED. |
Spoolhost | Identifies the Entire Output Management source host, either by name or by IP address. | &SPHOST. |
Spoolnumber | Unique number for "dest.spool". Random if empty. | &SPNO. |
Table | Name of table in SYSNOMU for conversion. | &TBL. |
Trace | 0 or blank = no, 1 = yes. | &UXLPTR. |
Print your reports on these logical printers. Entire Output Management will convert ASA or machine-code formatted reports into ASCII (where a skip to the next page is represented by form feed and carriage return, a line feed is done using line feed and carriage return, regarding the given ASA- or machine code control characters)
Send it to the desired printer as usual. The printer task will use low-level TCP communication and create entries such like print time and spool attributes.
Entire Output Management itself performs EBCDIC-ASCII conversion using the Natural built-in conversion method, i.e the EBCDIC-ASCII table which can be altered using Natural profile parameter TABA1. This ensures that the conversion can be adapted to the country-specific code page desired.
Additionally the name of a translation table can be entered in the special attributes of a printer of type UNIXLP. This translation table is used subsequently, that is, its translation will be performed after the default translation has taken place.
The lines will be translated using Natural's internal EBCDIC-ASCII table, which can be altered with the Natural TABA1 profile parameter. However, if some more characters are to be altered depending on a printer, you can specify the name of a text object in the TABLE field; this will cause the printer task to read this text object from the library SYSNOMU. The text object has the following format:
aaxx bbyy ...
where aa and bb are the characters that are to be converted (in hexadecimal representation), and xx and yy are the characters which are to replace them.
These values will be converted after the conversion of the default table has been done. This means, aa and bb are already ASCII values that are to be altered.
Example of a text object:
4145 4246 434A
This will translate the whole document into ASCII using the Natural table, then convert the following characters:
A to E B to F C to J
Do not use any comments in such an text object.
A printer of type NATUNIX works only if Entire Output Management runs under Natural for UNIX.
Natural for UNIX provides a print method which is stored in a Natural parameter file. NATUNIX overrides these definitions and gives the opportunity to address files or subsequent UNIX programs that receive the print data.
For example, if NATUNIX calls the print utility LPR, you can reach all destinations LPR can do.
NATUNIX uses the Natural application programming interface (API)
USR1069
, which changes the printout parameters. For further
information, see the API description in the library SYSEXT
, if the
active report to be printed is a text report.
Binary reports are not printed using the print system of Natural.
Instead, a temporary file will be written to directory $EOM_WORK
and then printed using the command provided in the parameter Printer Name. If
Output-Target 2
is specified, the NATUNIX printer expects a file
name according to the rules below. The resulting temporary file is then moved
to the target file.
See also NATUNIX or DISKUNIX - Comparison of Characteristics.
Attribute | Explanation | Symbol |
---|---|---|
Formfeed |
Determines whether and where a form feed is to be inserted:
This parameter applies to the printout as a whole. It does not affect form-feed specifications within the printout. A form feed is also inserted before each separator page. For binary reports, this parameter is ignored. |
&NTUXFFEED. |
Linesize | Number of characters per line.
For binary reports, this parameter is ignored. |
&LINE-S. |
Max-Pages | Maximum number of pages to be printed.
For binary reports, this parameter is ignored. |
&MAXPAG. |
Output-Target | To define a program to get control after printing, enter
1 . To print into a file, enter 2 .
|
&NTUXTARG. |
Pagesize | Number of lines per page. | &PAGE-S. |
Printer Name | The name of the program to get control after printing, the name
of the printer or file which receives the output.
Examples:
If this field is empty and Output-Target |
&PHYS. |
Print Method | Always TTY .
|
&METH. |
Profile | A printer profile; see the description of the API
USR1069 in the Natural library SYSEXT .
|
&PROF. |
Trace | Enter 0 (or blank) to switch tracing off.
Enter 1 to start the tracing of the monitor output
(CMPRINT ).
|
&NTUXTR. |
A printer of type DISKUNIX works if Entire Output Management runs under Natural for UNIX or Natural for mainframes. This printer type is designed to write the print output to a file in a UNIX or Windows file system.
The target system can be local or remote and must run a Entire System Server for UNIX node which is defined in the Entire Output Management UNIX defaults (menu 8.1, menu item 13). If this node is not intended to serve as input node it can be deactivated. DISKUNIX printouts will reach this node regardless of the node status.
After writing the printout file, a command can be executed on the target node that controls further processing. This feature can be used for printing on real printers, routing to other computers, converting the data, etc.
If the attribute symbol &FNAM.
is not specified in any
attribute field, the command line will be concatenated in the format:
<Command><Opt1><Opt2><Path>/<Filename>.<Filetype><Parm1><Parm2><Parm3>
If &FNAM.
is specified in any attribute field, the
command line will be concatenated as follows:
<Command><Opt1><Opt2><Parm1><Parm2><Parm3>
The resulting log output of this command will be written to the file
<Logpath>/<Filename>.log
.
See also NATUNIX or DISKUNIX - Comparison of Characteristics.
Attribute | Explanation | Symbol |
---|---|---|
Command | If this field is not empty, a command or a script will be executed on the target system after the printout file has been written. The command will be executed asynchronously; Entire Output Management will not wait for a return code. | &CMD. |
Filename |
The name of the file to be written to the target system. If this field is empty, the original file name of the file will be used if available. |
&FNAM. |
Filetype |
The file type of the file to be written to the target system. This
does not contain the period character (.) between If this field is empty, the original file type of the file will be used if available. |
&FTYP. |
Opt1 and Opt2 | Command options before the file ID. | &OPT1. and
&OPT2. |
Parm1 to Parm3 | Parameters after the command and file ID. | &PARM1. to
&PARM3. |
Path |
The path on the target system to which the file will be written. If this field is empty, the path will be determined by the
contents of the environment variables |
&PATH. |
Logpath | The path of the output file which is created by
<Command> . If this field is empty, <Path>
will be used instead.
|
&LPATH. |
Server | The node name of the Entire System Server service which is active on the target system. This has to be defined in the UNIX defaults (menu 8.1, item 13). | &SERV. |
Trace | Enter 0 (or blank) to switch tracing off. Enter
1 to start the tracing of the monitor output
(CMPRINT ).
|
&DSUXTR. |
For general information on format conversion, see Converting the Report Format in the Concepts and Facilities documentation.
Field | Explanation | Symbol | |
---|---|---|---|
Output Format | The desired output format. Predefined formats are available, which correspond to the following Ghostscript devices: | &OFO. |
|
Format
|
Ghostscript device
|
||
BMP |
bmp16m | ||
EPS |
epswrite | ||
FAX |
faxg3 | ||
HTML |
html | ||
JPEG |
jpeg | ||
PCL |
pxlcolor | ||
PDF |
pdfwrite | ||
PNG |
png16m | ||
PS |
ps2write | ||
RTF |
rtf | ||
TIFF |
tiff32nc | ||
Any other value in this field will be interpreted as the name of a Ghostscript device which may be present in the specific user environment. See the Ghostscript documentation for details. If this field is empty, no file conversion will be performed. |
|||
Enscript and Uniprint Attributes
(optional)
|
|||
Formatter | The utility which is to perform
the rendering. Possible values:
|
||
Header |
The name of the Enscript "fancy-header". If this field is empty,
no header will be generated. If this field contains If Uniprint is used, this field will be ignored. |
&HDR. |
|
Header Font |
Enscript: The font name of the header and footer, including the
font size (in points); for example: Uniprint: The font size of the header (in points). |
&HDRFNT. |
|
Footer |
The Enscript footer definition. If Uniprint is used, this field will be ignored. |
&FOOT. |
|
Font |
Enscript: The font name of the text report, including the font
size (in points); for example: Uniprint: The file name of a truetype font. The font size (in
points) can be specified as a separate number after the file name. The default
is: |
&FONT. |
|
Lines |
Enscript: The number of lines per page for a text report. If Uniprint is used, this field will be ignored. |
&LPP. |
|
Landscape | If this field is empty, the pages will be created in portrait orientation. If you want landscape orientation, enter any character in this field. | &LAND. |
|
Media | The paper size to be printed. | &MED. |
|
Mask File |
The name of a PDF file which can overlay all pages of a report that is in PDF format. This file is treated as a "stamp" on each page: Only the parts of the mask file which are transparent will show the original report. In this way, logos can be integrated in a report. If the mask file contains more than one page, the corresponding pages of the report will be overlaid. The use of mask files requires that the package "pdftk" (PDF Toolkit) is installed on the conversion node. A PDF file with transparent parts cannot be created with a Windows PDF printer; instead, you have to use the "export to PDF" function of a graphic application (for example, Photoshop or Gimp). |
&MASK. |
|
Code Page | Specify the code page in which the text report is to be stored. If this field is empty, the code page "latin1" (ISO-8859-1) will be used by default. | &CODE. |
|
Additional | In this field, you can specify any additional parameters. | &DSUXADD. |
|
For details on the above Enscript and Uniprint attributes, see the Enscript and Uniprint documentation (man pages). |
On UNIX systems only the printer types NATUNIX and DISKUNIX are available. Which printer type you use depends on the intended purpose. To help you make this decision, the following table compares the characteristics of both printer types.
With this printer type, you can ... | NATUNIX | DISKUNIX |
---|---|---|
... use any printer type definable in the Natural parameter module. | Yes | No |
... pass output to a receiving external process (conversion, e-mail, external printing). | Yes, but only with "Output Target = 1", using the pipe mechanism. | Yes, with an external command which uses the created file. |
... pass output to a remote system. | No | Yes |
... execute a command with the created file on a remote system (UNIX, Windows). | No | Yes |
... avoid the use of any broker communication (to improve performance). | Yes | Yes, but only if the UNIX node is defined as "L" (local node). |
... process binary files. | Yes | Yes |
... address any printer queue in the CUPS spooling system. | Yes, it is processed directly if "lpr" is the receiving program (faster). | Yes, "lpr" can handle the created file (slower). |
... handle formfeeds before and after text document printing. | Yes | No |
... limit the pages to be printed. | Yes | No |
... handle Natural printer profiles. | Yes | No |
... build the file name to be created with variables (for example, time-stamp, process ID). | Yes, a few. | Yes, many. |