Abcs of Z Os System Programming Volume 7
Abcs of Z Os System Programming Volume 7
Infoprint Central
Paul Rogers
Juha Vainikainen
ibm.com/redbooks
International Technical Support Organization
October 2008
SG24-6987-01
Note: Before using this information and the product it supports, read the information in “Notices” on
page ix.
This edition applies to Version 1 Release 9 of z/OS (5637-A01), and Version 1, Release 8 of z/OS.e (5655-G52), and to all
subsequent releases and modifications until otherwise indicated in new editions.
© Copyright International Business Machines Corporation 2006, 2008. All rights reserved.
Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule
Contract with IBM Corp.
Contents
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .x
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
The team that wrote this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Contents v
5.16 IP PrintWay transmission-queue and message-log . . . . . . . . . . . . . . . . . . . . . . . . . 264
5.17 View IP Printway basic mode transmission-queue . . . . . . . . . . . . . . . . . . . . . . . . . . 266
5.18 IP PrintWay Transmission Queue Selection panel . . . . . . . . . . . . . . . . . . . . . . . . . . 267
5.19 IP PrintWay basic mode message log view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
5.20 VTAM APPL resource definition and LE run-time . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
5.21 Define IP PrintWay basic mode functional subsystem . . . . . . . . . . . . . . . . . . . . . . . 271
5.22 IP PrintWay basic mode default font and page definitions . . . . . . . . . . . . . . . . . . . . 273
5.23 JES FSS/FSA definitions for IP PrintWay basic mode . . . . . . . . . . . . . . . . . . . . . . . 275
5.24 Infoprint Server extended mode versus basic mode . . . . . . . . . . . . . . . . . . . . . . . . . 277
5.25 IP PrintWay extended mode enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
5.26 Enhanced functions with extended mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
5.27 IP PrintWay extended mode customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
5.28 Job selection rules - IP PrintWay extended mode . . . . . . . . . . . . . . . . . . . . . . . . . . 284
5.29 Create IP PrintWay extended mode job selection rules . . . . . . . . . . . . . . . . . . . . . . 286
5.30 Add IP PrintWay extended mode job selection rule . . . . . . . . . . . . . . . . . . . . . . . . . 287
5.31 Job selection rules in the Printer Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
5.32 Job selection rule security profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
5.33 Authorizing JES spool and SMF for Infoprint Server. . . . . . . . . . . . . . . . . . . . . . . . . 290
5.34 Customizing z/OS UNIX sendmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Contents vii
8.32 Viewing messages with aoplogu command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
8.33 Format of common message log messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
8.34 Viewing IP PrintWay basic mode messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
8.35 IP PrintWay and the JSPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
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, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785 U.S.A.
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.
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.
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.
This information contains examples of data and reports used in daily business operations. To illustrate them
as completely as possible, the examples include the names of individuals, companies, brands, and products.
All of these names are fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrate programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs in
any form without payment to IBM, for the purposes of developing, using, marketing or distributing application
programs conforming to the application programming interface for the operating platform for which the sample
programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore,
cannot guarantee or imply reliability, serviceability, or function of these programs.
The following terms are trademarks of the International Business Machines Corporation in the United States,
other countries, or both:
AIX® Language Environment® Redbooks (logo) ®
AS/400® MVS™ REXX™
CICS® MVS/ESA™ RMF™
CUA® NetSpool™ S/370™
DFSMS™ OS/390® VTAM®
GDPS® OS/400® z/Architecture®
Geographically Dispersed Parallel Parallel Sysplex® z/OS®
Sysplex™ Print Services Facility™ z/VM®
IBM® PrintWay™ zSeries®
IMS™ RACF®
IP PrintWay™ Redbooks®
Acrobat, Adobe, PostScript, and Portable Document Format (PDF) are either registered trademarks or
trademarks of Adobe Systems Incorporated in the United States, other countries, or both.
ABAP, SAP R/3, SAP, and SAP logos are trademarks or registered trademarks of SAP AG in Germany and in
several other countries.
Java, Solaris, SunOS, ZFS, and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the
United States, other countries, or both.
Internet Explorer, Microsoft, Windows NT, Windows Server, Windows, and the Windows logo are trademarks
of Microsoft Corporation in the United States, other countries, or both.
UNIX is a registered trademark of The Open Group in the United States and other countries.
Linux is a trademark of Linus Torvalds in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.
The ABCs of z/OS® System Programming is an eleven volume collection that provides an
introduction to the z/OS operating system and the hardware architecture. Whether you are a
beginner or an experienced system programmer, the ABCs collection provides the
information that you need to start your research into z/OS and related subjects. If you would
like to become more familiar with z/OS in your current environment, or if you are evaluating
platforms to consolidate your e-business applications, the ABCs collection will serve as a
powerful technical tool.
This IBM® Redbooks® publication describes the functions of the Infoprint Server. It will help
you install, tailor, configure, and use the z/OS Version 1 Release 7 version of Infoprint Server.
Topics covered in this volume are the following:
Chapter 1. Infoprint Server
Chapter 2. UNIX® System Services overview
Chapter 3. Infoprint Server customization
Chapter 4. Print Interface
Chapter 5. IP PrintWay™
Chapter 6. NetSpool™
Chapter 7. Infoprint Central
Chapter 8. User interfaces to Infoprint Server
Juha Vainikainen was a Senior I/T Specialist in IBM Finland until his recent retirement. He
has extensive experience with all aspects of OS/390 and z/OS and all related subsystems,
and he has worked with Infoprint Server since OS/390 Release 5. Juha continues to share his
vast knowledge about these topics as a consultant for various ITSO documentation projects.
Your efforts will help increase product acceptance and customer satisfaction. As a bonus,
you’ll develop a network of contacts in IBM development labs, and increase your productivity
and marketability.
Find out more about the residency program, browse the residency index, and apply online at:
ibm.com/redbooks/residencies.html
Comments welcome
Your comments are important to us!
We want our books to be as helpful as possible. Send us your comments about this or other
Redbooks publications in one of the following ways:
Use the online Contact us review book form found at:
ibm.com/redbooks
Send your comments in an email to:
[email protected]
Mail your comments to:
IBM Corporation, International Technical Support Organization
Dept. HYTD Mail Station P099
2455 South Road
Poughkeepsie, NY 12601-5400
Infoprint Server delivers improved efficiency and lower overall printing cost with the flexibility
for high-volume, high-speed printing from anywhere in the network. With Infoprint Server, you
can reduce the overall cost of printing while improving manageability, data retrievability, and
usability.
IP PrintWay
Print Interface
NetSpool
Infoprint Central z/OS
JES Spool
Transforms Infoprint Server
SNMP subagent
e-mail
TCP/IP
TCP/IP
Network
Network
Local Printers
Local Printers Host
LPD Printers
Running
VTAM Printers LPD
IP PrintWay
Direct Socket
Printing
Infoprint Server delivers improved efficiency and lower overall printing cost with the flexibility
for high-volume, high-speed printing from anywhere in the network. With Infoprint Server, you
can reduce the overall cost of printing while improving manageability, data retrievability, and
usability.
IP PrintWay IP PrintWay is the component of Infoprint Server that transmits output
data sets from the JES2 or JES3 spool to network printers, or to other
host systems in your TCP/IP network. The remote printer or host system
must support either the LPR/LPD protocol, the IPP protocol, or direct
socket printing. IP PrintWay can give you fast access to
TCP/IP-connected printers and to Virtual Telecommunications Access
Method (VTAM)-controlled printers.
Print Interface Print Interface is the component of Infoprint Server that processes print
requests received from both remote clients and local users. When the
JES Spool
PostScript, PCL, ASCII,
VTAM application data
(With transforms)
JES
PDF, PCL, PS,
SAP(OTP, GOF, and
PSF
ABAP) JES-controlled
for
Printers
z/OS
IP
TCP/IP network
PrintWay
IPDS
TCP/IP network
AFP Printers
IP Printers e-mail
Printer sharing
IP PrintWay
The IP PrintWay component of Infoprint Server transmits output data sets from the JES spool
to remote printers or print servers and to e-mail destinations. You can run either IP PrintWay
basic mode or IP PrintWay extended mode:
IP PrintWay basic mode, the original mode of operation, uses the z/OS Functional
Subsystem Interface (FSI) to obtain output data sets from the JES spool. IBM does not
plan additional enhancements to IP PrintWay basic mode.
IP PrintWay extended mode uses the z/OS Sysout Application Programming Interface
(SAPI) to obtain output data sets from the JES spool. It provides better performance,
improved usability, and more function than IP PrintWay basic mode.
IP PrintWay can, in most cases, automatically detect the input data format and transform data
into the format required by the printer or e-mail destination. It uses information in printer
definitions in the Printer Inventory to process data sets, select the transmission protocol, and
obtain printer addresses.
IP PrintWay, in many cases, automatically detects the format of the data stream in print jobs.
It can then invoke the transforms that the selected printer needs to print the data stream.
TCP/IP
LAN Web
NetSpool Transform
IPP Server
IP
Manager
Print Interface
PrintWay
Infoprint Server
Transforms
Printer
IPP Client IP PrintWay PSF for z/OS Inventory
Note: The SYSOUT Application Program Interface (SSI function code 79) allows
JES to function as a server for applications needing to process SYSOUT data sets
residing on JES spool. Use of the SAPI SSI call allows a program to access JES
SYSOUT data sets independently from the normal JES-provided functions (such as
print or network).
TCP/IP lpr
command
Print Interface also provides a line print daemon (LPD) that lets you submit print requests
from remote workstations that have TCP/IP access. In addition, Print Interface can receive
print requests from remote workstations that use the Internet Printing Protocol (IPP) or the
Server Message Block (SMB) printing protocol, which is standard on Windows systems. Print
Interface also provides an SAP R/3 Output Management System that can receive SAP R/3
print requests.
After Print Interface creates output data sets on the JES spool, the data sets are available for
printing:
JES or PSF can print the data sets.
JES can transmit the data sets to another location for printing.
IP PrintWay can transmit the data sets to a remote printer in your TCP/IP or SNA network.
Print Interface includes enhanced z/OS UNIX System Services shell printing commands,
which provide more function than the printing commands available without Infoprint Server.
Client
Originating lpr - command that requests printing
Operating System Standard lpr has required attributes:
lpr file name, IP address, queue name
lpr command sends print data to a lpd
via TCP/IP
TCP/IP
Network lpd - line print daemon is a destination
A daemon waits for the lpr command
Servers to be invoked
It is one of the protocols that Infoprint Server uses to accept print requests and to send print
data.
The Network Printing Working Group defined the line printer daemon (LPD) protocol in
RFC1179. This RFC describes the existing print server protocol, which is widely used on the
Internet for communicating between line printer daemons (both clients and servers). The
protocol describes in detail how a line printer daemon client requests and controls printing.
LPR is a TCP/IP based command. The default port on which an line printer daemon (LPD)
listens is 515. The source port must be in the range 721 to 731, inclusive. An LPD (the server
“daemon”) responds to commands sent to its port and is the part that receives and processes
the request.
Note: The Infoprint Server’s Print Interface LPD does not require that the LPR use a
source port in the range of 721 to 731. Generally, performance on the system where the
LPR runs is improved if you do not restrict the range for the source port.
9.12.2.140:8234 Host
(LPD)
The IP PrintWay basic mode is implemented as a functional subsystem (FSS) and uses the
z/OS Functional Subsystem Interface (FSI) to obtain output data sets from the JES spool.
In an IP PrintWay basic mode FSS definition you specify configuration information that
applies to an IP PrintWay FSS and to all functional subsystem applications (FSA) in that FSS.
An IP PrintWay FSS definition is required:
If any of the FSAs in the FSS will transmit output to VTAM-controlled printers. In this case,
you must specify the name of the VTAM APPL statement you defined for the FSS.
If you need to change the IP PrintWay configuration defaults. If an IP PrintWay FSS
definition does not exist when IP PrintWay starts, IP PrintWay uses default values.
IP PrintWay transmits print data sets to remote printers or to host systems in your TCP/IP
network. The remote printer or host system must support either the LPR/LPD protocol, the
IPP protocol, or direct socket printing.
The Functional Subsystem Interface (FSI) services are actually JES and FSS/FSA
supplied routines that allow interaction between JES and the FSS/FSA.
In the IP Printway basic mode printer work selection criteria is defined to JES. JES performs
the work selection for IP Printway basic mode.
IP PrintWay basic mode can also transmit output data sets from the JES spool to
VTAM-controlled printers that are defined to VTAM as LU0, LU1, or LU3 printers. The
supported output data streams are:
Data Stream Compatibility/Data Stream Extended (DSC/DSE)
SNA Character String (SCS)
Note: This support in IP PrintWay requires that you install the Coax Printer Support
feature of Infoprint Server Transforms.
To encrypt data sent from z/OS to a printer that supports IPsec, no changes are required to
Infoprint Server or to your printer definitions. However, the network administrator must
customize the IP security function that z/OS Communications Server provides, and you must
enable IPsec in your printers. Both IP PrintWay basic mode and IP PrintWay extended mode
can send encrypted data to printers that support IPsec, using any of the TCP/IP transmission
protocols that IP PrintWay supports (LPR, direct sockets, and IPP).
Many newer printers, including Hewlett Packard (HP), Lexmark, and IBM printers, support
IPsec.
Note: IPSec is a suite of protocols and standards defined by the Internet Engineering Task
Force (IETF) for secure communication over an existing IP network.
AOPWSMD Address Space (selects output data sets from JES spool)
In IP PrintWay extended mode job selection rules are defined in the Printer Inventory
AOPOUTD Address Space (sends output to remote printers)
The Printer Inventory contains information about both local and remote printers
TCP/IP
e-mail
9.12.2.140:8234
Host
(LPD)
IP PrintWay extended mode and IP PrintWay basic mode use the same printer definitions in
the Printer Inventory. However, some fields apply to either IP PrintWay basic mode or
extended mode, but not both. Fields that do not apply are ignored.
When you run IP PrintWay extended mode, the administrator defines job selection rules in
the Printer Inventory to specify which print jobs to select. The operator can use Infoprint
Central to start and stop these job selection rules, or the administrator can automate the
starting and stopping of job selection rules.
When Infoprint Server is started and the Infoprint Server configuration file (aopd.conf)
start-daemons specification includes outd, address spaces for the aopoutd and aopwsmd
daemons are created. These IP PrintWay extended mode daemons select output data sets
from the JES spool and send them to remote printers in a TCP/IP network or to e-mail
destinations.
Printer Inventory
The Printer Inventory, a set of HFS files maintained by the system administrator, contains
information about the z/OS printers, including both local and remote printers.
The Printer Inventory is common to the Print Interface, IP PrintWay, and NetSpool
components of Infoprint Server. This means that the system administrator can define a printer
once for all components of Infoprint Server. The Printer Inventory, however, cannot be shared
by Infoprint Server components running on other z/OS systems.
The Printer Inventory in one central location contains all the information needed to:
Validate print requests
Transform data to a format supported by a printer
Assign processing attributes to the data sets allocated on the JES spool
Direct data sets to printers
IP PrintWay extended mode’s job selection rules are stored in the Printer Inventory and
determine which print jobs IP PrintWay selects from the JES spool.
The selection Work with NetSpool logical units allows you to work with any NetSpool
logical units (LUs) that are defined to NetSpool in the Printer Inventory and also defined to
VTAM.
The migration program can also help the administrator migrate from the IP PrintWay and
NetSpool features of PSF V3R2 and earlier releases.
Security - You can use RACF to restrict access to the Printer Inventory, the common
message log, and operator commands that start and stop Infoprint Server daemons.
LPR
MVS jobs create
IIPP
TCP/IP SYSOUT
In Figure 1-9 an LPR print request of a client data set from the workstation comes through the
Infoprint Server’s Print Interface (aoplpd) to JES spool. The Printer Inventory entry for the
target AFP printer is specified such that the client data set will be transformed to AFP format
for printing on the AFP printer.
IP PrintWay extended mode calls transforms directly, while IP PrintWay basic mode
transforms data by resubmitting it to Print Interface. Calling transforms directly is more
efficient because data is not written to the JES spool a second time.
The Print Interface subsystem (also shown in Figure 1-9) can transform and print output from
z/OS applications. The subsystem processes the application’s output, transforms it to the
format required by the printer or e-mail destination, and writes it to the JES spool. From the
JES spool, the transformed data can be printed on any printer or be sent to e-mail
destinations.
Infoprint Server Transforms also provide support for printing Japanese DBCS data streams
on IBM AFP printers and for printing line data on coaxially-attached VTAM-controlled printers.
Other VTAM
IMS CICS
Applications
JES Spool
NetSpool component
NetSpool intercepts print data from VTAM applications, such as CICS and IMS; transforms
the data streams to EBCDIC line data, PCL, PDF, or other formats that the printer accepts;
and allocates output data sets on the JES spool. JES or PSF can print the output data sets or
JES can transmit them to other locations for printing. IP PrintWay can transmit the output data
sets to remote printers in your TCP/IP network.
You can configure NetSpool so that you do not need to change existing VTAM applications.
That is, existing VTAM applications can send print requests to NetSpool in the same manner
as they currently send print requests to SNA network printers.
By placing VTAM application output on the JES spool, NetSpool lets you take advantage of
the security, checkpoint and restart, and reprint capabilities that JES and IP PrintWay
provides.
VTAM applications, such as CICS or IMS, establish communication sessions with NetSpool
printer logical units (LUs) instead of with SNA-network printers. Each NetSpool printer LU
must be defined to VTAM as an application logical-unit (LU).
NetSpool can transform SCS and 3270 data streams to EBCDIC line data or ASCII PCL data
streams. It can also use other Infoprint transform products to convert line data to other
formats for printing or e-mailing.
NetSpool dynamically allocates output data sets on the JES spool using JES allocation
parameters specified in the printer definition, including:
JES work-selection parameters, such as class, forms name, and destination. These
parameters cause JES to direct the output data sets to the correct program, such as IP
PrintWay or PSF.
Advanced Function Presentation (AFP) parameters, such as the name of a form definition
and page definition. PSF can use these parameters when printing data on IBM AFP
printers.
Distribution information, such as name and address, which can be printed on output
header pages.
Web browser
Local printers
Lan printers
SNMP subagent
Simple Network Management Protocol (SNMP) is a set of protocols that describes
management data and the protocols for exchanging that data between heterogeneous
systems. The protocols include both the description of the management data, defined in the
Management Information Base (MIB), and the operations for exchanging or changing that
information. By implementing common protocols, management data can be exchanged
between different platforms with relative ease.
The Infoprint Server SNMP subagent reports the status of printers that do not have their own
SNMP subagent to a printer management program, for example, the IBM Network Printer
Manager (NPM) for the Web, which you can download at no charge from the Printing
Systems Division Web site at http://www.ibm.com/printers/download.html
Note: The IBM Network Printer Manager for the Web (NPM), which works with the SNMP
subagent, is no longer in service. However, you can still use the SNMP subagent.
z/OS users
Users can submit print requests from a z/OS system using one of these methods:
To print from a z/OS system, use the LPR command from a TSO session:
LPR 'filename' (P printername AT hostaddress TITLE title
With the AOPPRINT JCL procedure, provided in SYS1.PROCLIB, you can print MVS data
sets and UNIX files and specify job attributes.
– If Infoprint Server transforms or another optional transform product is installed, you can
automatically transform jobs from one data format to another.
– Infoprint Server validates that data can print on the selected printer.
The lp command prints one or more files, or sends the files to an e-mail destination. The
address of the printer is specified in the printer definition in the Infoprint Server Printer
Inventory. The e-mail addresses are specified in the printer definition or in job attributes. The
files can be:
MVS data sets, such as partitioned data sets or sequential data sets
UNIX files, such as files in a Hierarchical File System (HFS), a z/Series File System (zFS),
a Network File System (NFS), or a temporary file system (TFS)
Lists of printable files
The lpstat command shows printer names and locations and status of print jobs, as
follows:
lpstat [-dt] [-a [printername ...]] ... [-o [printername ...]] ...
[-p [printername ...]] ...[-u [ userid ...]] ... [jobid ...]
lpstat returns printer definition names, location information specified in the printer
definitions, and the status of jobs to standard output.
For jobs that Infoprint Server has processed (including jobs submitted in any of these ways:
from a VTAM application through NetSpool; from a remote system or with the lp command
through Print Interface; from batch JCL printed by IP PrintWay extended mode; using the
Print Interface subsystem), the lpstat command returns status information.
The cancel command cancels one or more print jobs that you submitted, with these
restrictions:
You can only cancel your own jobs.
To print data sets created by batch jobs or TSO/E sessions using IP PrintWay or the Print
Interface subsystem you can use JCL parameters that have special considerations.
You can direct print output data sets using IP PrintWay to a printer or print server in your
TCP/IP network or to a VTAM-controlled printer. IP PrintWay can also send an output data
set to an e-mail destination.
You can transform data from one data format to another format and print it on any printer.
IP PrintWay transmits output data sets from the JES spool to remote printers or print servers
and to e-mail destinations. You define work-selection criteria for each IP PrintWay basic
mode through JES initialization statements for the FSA. IP PrintWay job selection rules
determine which print jobs IP PrintWay extended mode selects from the JES spool. The job
selection rules are defined in the Printer Inventory.
The Print Interface subsystem transforms and prints output from z/OS applications with
minimal changes to the applications’ job control language (JCL). The subsystem processes
the application’s output, transforms it to the format required by the printer or e-mail
destination, and writes it to the JES spool. From the JES spool, the transformed data can be
printed on any printer or be sent to e-mail destinations.
NetSpool users
The NetSpool component of Infoprint Server is configured such that it intercepts print data
from VTAM applications, such as CICS and IMS; transforms the data streams to EBCDIC line
data, PCL, PDF, or other formats that the printer accepts; and creates output data sets on the
JES spool.
VTAM applications establish communication sessions with NetSpool printer logical units
(LUs) instead of with SNA-network printers. Each NetSpool printer LU must be defined to
VTAM as an application logical-unit (LU). NetSpool accepts the following VTAM data
streams:
SNA character string (SCS) data over an LU type 1 session
3270 data over an LU type 3 or LU type 0 session
A binary data stream over an LU type 0, type 1, or type 3 session
zVM Clients
Windows XP Windows 2000
lpr command lpr command
LPR lpr command
TCP/IP
AIX
TCP/IP
JES Spool
z/OS Print
UNIX JES PSF for z/OS
UNIX System Services Interface Spool
UNIX
IP
PrintWay
TCP/IP
LAN
Note: These enhanced commands adhere to the XPG4.2 standard, which makes it
possible to port UNIX applications to z/OS UNIX.
The z/OS UNIX shell commands available for processing of files to be printed are:
lp The lp command sends files for printing to Print Interface running on the local z/OS
system. The files that a UNIX user can print are:
HFS files that include PDF, PCL, SAP, and PS
MVS data sets
Sequential data sets
Partitioned data set members
lpstat The lpstat command queries the status of print jobs. It also queries the names,
locations, and descriptions of printers that the administrator has defined in the
Printer Inventory.
cancel The cancel command cancels print requests, provided that the data set allocated
on the JES spool has not yet been selected.
For example, you could create an attributes file called myatts to request 5 copies of a job,
simple duplex printing, and a specific output bin. Your file contains these lines:
# These are myatts
copies = 5
duplex = yes
output-bin = collator # Collate the job
Use the -o flag to read an attributes file into the lp command. Use the -j flag to read at
attributes file into the afp2pcl, afp2pdf, and afp2ps commands.
For example, to print a file called myfile, using the attributes in the myatts file, enter:
lp -o "attributes=myatts" myfile
TCP/IP network
9.12.14.164
Client workstations
Infoprint Server Print Interface provides an Internet Printing Protocol Server, which accepts
print requests from any client that uses the IPP protocol. The Print Interface IPP Server
supports the IPP job attributes sent with the print requests. The IPP Server does not,
however, support canceling a print request.
From a Windows workstation, a user submits a document for printing using the standard
print-submission methods once an Internet printer has been added. You use the standard
Windows procedure to add an Internet printer:
When the Add Printer Wizard asks you whether to install the printer as a local printer or a
network printer, select either Network printer or A network printer, or a printer
attached to another computer.
When the Add Printer Wizard asks you how to connect, select Connect to a printer on
the Internet. Enter the URI of the printer in the URL field.
When the Add Printer Wizard asks you whether to install the printer driver, select OK.
The Uniform Resource Identifier (URI) of a printer defined in the Printer Inventory has the
format:
http://host:port/servlet/IPPServlet/printername
AFP
Printer Driver
WIN
2000/XP Create document in AFP format PSF for
z/OS
Note: Infoprint Server also supports printing from a Windows system with the SMB
protocol and the IPP protocol. To use these protocols, Windows users do not need to install
the Infoprint Port Monitor for Windows.
Infoprint Server supports three client programs for Windows systems that allows Windows
users to print documents on AFP printers and other z/OS printers. The three client programs
for Windows workstations are:
1. Infoprint Port Monitor
The Infoprint Port Monitor for Windows 95/98 and Windows NT® sends files submitted for
printing from Windows applications to the Print Interface component of Infoprint Server.
The Infoprint Port Monitor lets users print from Windows applications that support printing
to any printer that the administrator has defined in the Printer Inventory.
The other two related programs for Windows are not part of Infoprint Server, but can be made
available at no charge from the Web site.
Note: The Infoprint Port Monitor for Windows is shipped with Infoprint Server. You can also
download it, the AFP Printer Driver for Windows, or the AFP Viewer Plug-in for Windows
directly to your Windows system from the IBM Printing Systems Web site:
http://www.ibm.com/printers/download.html
LPRAFP command
You can use the lprafp command to submit print requests from a Windows, HP-UX, or
SunOS™ system and specify Infoprint Server job attributes. IBM provides the lprafp
command on an “as is” basis. You can download the lprafp command at:
www.ibm.com/printers/downloads.html
Windows,
UNIX, AIX,
z/OS
Solaris,...
print, cancel, query
status SAP
SAP GUI Application
notification of job events
Server
JES Spool
Print
Server
Note: Except for JCL print submissions, the target printer is selected by specifying the
printer definition name on the request. The printer definition specifies the work selection
attributes that will be assigned to the spooled print data set and subsequently will be used
by the IP PrintWay component.
The JCL print submission requires that all IP Printway work selection attributes must be
defined correctly through JCL keyword parameters in order to get the print data selected by
the IP PrintWay.
Infoprint Central
Infoprint Central is a Web-based print management system primarily for help desk operators
that is available beginning with z/OS V1R5. However, other authorized users or job
submitters can also use it. Infoprint Central works with IP PrintWay extended mode. With
Infoprint Central, you can:
Work with print jobs
Work with printers
Work with NetSpool logical units (LUs)
Display printer definitions
Check system status
If you run PSF for z/OS, Infoprint Central lets operators see detailed information about print
jobs submitted through Infoprint Server. For example, you can see information about print
jobs that are no longer on the JES spool and all messages in the common message log for
print jobs. If you customize PSF to use the Printer Inventory, you can also use Infoprint
Central to work with PSF printers.
You must customize and start the z/OS HTTP Server to display Infoprint Central Web pages.
UNIX is a highly portable operating system originally developed by Bell Laboratories that
features multiprogramming in a multiuser environment. UNIX is implemented in the C
language. UNIX was originally developed for use on minicomputers but has been adapted on
mainframes and microcomputers. It is especially suitable for multiprocessor, graphics, and
vector-processing systems. Many of the commands in the z/OS shell are based on similar
commands available with UNIX System V.
z/OS UNIX System Services (z/OS UNIX) support an environment within which operating
systems, servers, distributed systems, and workstations share common interfaces. z/OS
UNIX supports standard application development across multivendor systems. It is required if
you want to create and use applications that conform to the POSIX standard. z/OS UNIX
combines the personal power of the workstation, the flexibility of open systems, and the
strength of MVS. It supports and fosters a super environment of larger operating systems or
servers and of distributed systems and workstations that share common interfaces. Users
can switch back and forth between the traditional TSO/E interface and the shell interface.
UNIX-skilled users can interact with the system, using a familiar set of standard commands
and utilities. MVS-skilled users can interact with the system, using familiar TSO/E commands
and interactive menus to create and manage hierarchical file system files and to copy data
back and forth between MVS data sets and files. Application programmers and users have
both sets of interfaces to choose from and, by making appropriate trade-offs, can choose to
mix these interfaces.
z/OS UNIX interacts with the following elements and features of z/OS:
User profile
Default
Userid Group
Connect Groups TSO DFP OMVS
UID Home Program
SMITH PROG1 PROG1 PROG2 ... ...
15 /u/smith /bin/sh
Group profile
Superior
Groupid Group Connected Users OMVS
GID
PROG1 PROGR SMITH BROWN ... ...
25
OMVS segment = The portion of a RACF profile that contains OMVS logon
information.
The RACF component of the Security Server authenticates users and verifies whether they
are allowed to access certain resources. An OMVS user is identified by a UID, which is kept
in the RACF user profile, and a GID, which is kept in the RACF group profile. OMVS users
should belong to RACF groups that have GID defined.
The RACF user profile and group profile definitions for z/OS UNIX are called OMVS
segments. All users and programs that need access to z/OS UNIX must have a RACF user
profile defined with an OMVS segment which has, as a minimum, a UID specified. A user
without a UID cannot access z/OS UNIX.
In addition, the user OMVS segment can contain user limit specifications for address space
size, files per process, processes per UID, threads per process, memory map area size,
non-shared memory size, and shared memory size.
Segment example
The example in Figure 2-1 on page 39 shows a user profile for TSO/E user ID SMITH, which
is connected to two groups, PROG1 and PROG2. SMITH is defined as a z/OS UNIX user and
has a UID. His home directory is /u/smith and he will get into the shell when he issues the
OMVS command because the name of the shell, /bin/sh is specified as the program name.
A program that will access z/OS UNIX and run as a started task (for example, RMFGAT) or a
daemon (for example, the inetd daemon, which is used for remote login (rlogin) to the shell
via TCP/IP) must also be defined to RACF with a user profile and a UID specified. This type
of user does not require a home directory or a program specified in the OMVS segment. The
home directory and program are important for people’s user IDs.
The RACF profile for a group is also extended with an OMVS segment. A z/OS UNIX group is
a RACF group with a GID specified in the OMVS segment. The figure shows that group
PROG1 is also a z/OS UNIX group with a GID value of 25. The group PROG2 does not have
an OMVS segment and therefore is not a z/OS UNIX group.
Group profile
Superior
Groupid Connected Users OMVS
Group
GID
AOPADMIN ... ...
101
Figure 2-2 RACF user and group profiles with OMVS segments
Create a user ID with an OMVS segment, a home directory, and a default group that has an
OMVS segment with a group identifier (GID). You can select any name for the user ID. Use
the RACF ADDUSER command to create a new user ID. Use the RACF ALTUSER command
to alter an existing user ID to give it access to z/OS UNIX. For the default group, you can
select any group that has an OMVS segment and a GID. The user ID must be connected to
the default group.
An Infoprint Server administrator can view and update the Printer Inventory and can view all
messages in the common message log. The suggested group name for administrators is
AOPADMIN. However, you can use any name. The group profile must have an OMVS
segment and an OMVS group identifier (GID), as shown in Figure 2-2.
For example, this RACF command defines user ID AOPSTC with a default group of
AOPADMIN. For user-identifier, specify an integer that is different from other UIDs in your
installation. The NOPASSWORD operand defines the user ID as a protected user ID.
Protected user IDs cannot log on to the z/OS system, and they cannot be revoked due to
incorrect password attempts.
ADDUSER AOPSTC OMVS(UID(user-identifier) HOME('/u/aopstc')
PROGRAM('/bin/sh')) DFLTGRP(AOPADMIN) NOPASSWORD
Superusers
Similar to users in a UNIX system, z/OS UNIX users are identified by a UID (user
identification). The UID has a numerical value.
z/OS UNIX users belong to one or more groups in the same way as TSO/E users belong to
groups. An z/OS UNIX group is a RACF group with a GID (group ID) defined. The GID has a
numerical value.
Note: You can choose any names for these groups. If you do not want to distinguish
between administrators and operators, you need to define only one group.
You must run the aopsetup shell script to set up the correct z/OS UNIX permissions for
Infoprint Server directories and executable files before you start Infoprint Server daemons for
the first time. Also, you must rerun aopsetup whenever you move to a new z/OS release.
operator-group is the name of the RACF group you created for Infoprint Server operators.
The suggested RACF group name is AOPOPER. However, you might have used a different
name for this group. This argument is required.
administrator-group is the name of the RACF group you created for Infoprint Server
administrators. The suggested RACF group name is AOPADMIN. However, you might have
used a different name for this group. This argument is required.
OMVS INFORMATION
----------------
GID= 0000000101
A z/OS UNIX group is a RACF group with an OMVS segment and a GID defined. Figure 2-4
shows examples of how to use the RACF commands to add and change the OMVS segment
for a group.
ALTGROUP NOOMVS requests RACF to delete the OMVS segment from the specified
group’s profile.
A user can belong to (or be connected to) multiple groups. A z/OS UNIX user must belong to
at least one z/OS UNIX group. It is not necessary that all the groups a z/OS UNIX user
belongs to are defined as z/OS UNIX groups. Only the groups that are defined as z/OS UNIX
groups will be used for authorization checking in z/OS UNIX.
DFLTGRP parameter
The DFLTGRP parameter on the ALU and AU command specifies the name of a
RACF-defined group to be used as the default group for the user. If you do not specify a
group, RACF uses your current connect group as the default.
OMVS keyword
The OMVS keyword must be used on the LISTUSER command if you want the OMVS segment
definitions to be displayed.
ISHELL command
The z/OS UNIX ISPF shell (ISHELL) provides some menus for administering user IDs.
However, before a user can use the ISHELL command, he must have a user ID with a UID
defined (and a group with a GID defined). This must be done using the RACF commands or
the ISPF RACF dialog.
UID of 0
While some functions require a UID of 0, in most cases you can choose among the three
ways. When choosing among them, try to minimize the number of user IDs (as opposed to
started procedures) with a UID(0) superuser authority.
To summarize the choices, UID(0) gives you access to all UNIX functions and resources, as
is true for all UNIX systems. However, in z/OS, RACF allows certain users to perform specific
privileged functions without being defined as UID(0).
BPX.SUPERUSER
BPX.SUPERUSER allows you give each user a unique UID and have them use the su
command to obtain the authority they need. You can give them the ability to use the su
command by giving them READ authority to the BPX.SUPERUSER resource in the
FACILITY class.
If you do not specify a user ID, su changes your authorization to that of the superuser. If you
specify a user ID, su changes your authorization to that of the specified user ID. The new
environment is built and then a new session is initiated. The new session is run as a child
shell of the shell issuing the su command.
UNIXPRIV class
You can define profiles in the UNIXPRIV class to grant RACF authorization for certain z/OS
UNIX privileges. These privileges are automatically granted to all users with z/OS UNIX
superuser authority. By defining profiles in the UNIXPRIV class, you may specifically grant
certain superuser privileges with a high degree of granularity to users who do not have
superuser authority. This allows you to minimize the number of assignments of superuser
authority at your installation and reduces your security risk.
Resource names in the UNIXPRIV class are associated with z/OS UNIX privileges. You must
define profiles in the UNIXPRIV class protecting these resources in order to use RACF
authorization to grant z/OS UNIX privileges. The UNIXPRIV class must be active and
SETROPTS RACLIST must be in effect for the UNIXPRIV class. Global access checking is
not used for authorization checking to UNIXPRIV resources.
See z/OS UNIX System Services Planning, GA22-7800 for the details of the resource names
available in the UNIXPRIV class, the z/OS UNIX privilege associated with each resource, and
the level of access required to grant the privilege.
SYSADM
GID=10 RACF FACILITY Class
BPX.SUPERUSER
BLACK
JANE
BLACK JANE BROWN
BROWN
UID=5 UID=6 UID=7
$ #
Regular Superuser
User
==>su ==>chown ...
BPX.SUPERUSER authority
A user with a non-zero UID can be granted superuser authority through the RACF FACILITY
class BPX.SUPERUSER profile. Users with this authority are able to temporarily switch to
become superuser when this authority is required for administrative tasks. These users can
use any of the following methods to switch to superuser:
In the z/OS UNIX shell, use the command su (switch user). This command will create a
subshell where the user will have superuser authority and authorized commands can be
executed. When the subshell session is ended, the user will return to the first shell session
as a regular user.
Use the ISHELL command to enter the z/OS UNIX ISPF Shell. Select the option (from
action bar Setup option 7 Enable superuser mode(SU)) to switch to superuser state.
The user will have superuser authority until he or she exits the ISHELL.
After gaining superuser authority in the ISHELL, the user can do a split screen in ISPF and
enter the OMVS command. The z/OS UNIX shell that is started will inherit the superuser
authority set up in the ISHELL.
You can also define a user called BPXROOT with an OMVS segment. Specify UID=0, a
home directory of / (root), and the program /bin/sh. BPXROOT should not have any special
permission to MVS resources. This user ID will be used in rare cases where a daemon
process tries to change the identity of a process to superuser but does not know the MVS
identity of the process. BPXROOT is the default name. A different name can be used, but
then the installation has to change the specification in the BPXPRMxx parmlib member:
SUPERUSER(userid).
SUPERUSER.FILESYS - ACC(.....)
Figure 2-8 Granting superuser authority for file system access with UNIXPRIV
Instead of giving a user or group access to all functions as a superuser, the UNIXPRIV class
provides profiles that allows access to a specific superuser function.
The SUPERUSER.FILESYS profile in the UNIXPRIV class has three access levels that
allows access to z/OS UNIX files:
READ Allows a user to read any local file, and to read or search any local
directory.
UPDATE Allows a user to write to any local file, and includes privileges of READ
access.
CONTROL/ALTER Allows a user to write to any local directory, and includes privileges of
UPDATE access.
The unquiesce service unquiesces a file system, making the files in it available for use again.
Assigning UIDs
z/OS UNIX allows multiple users to have the same UID. Assigning the same UID to multiple
user IDs allows each user to access all of the resources associated with the other users of
that shared user ID. The shared access includes not only z/OS UNIX resources such as files,
but also includes the possibility that one user could access z/OS resources of the other user
that are normally considered to be outside the scope of z/OS UNIX.
However, you may want to assign the same UID to multiple user IDs if these user IDs are
used by the same person or persons. It may also be necessary to assign multiple users a UID
of 0 (superuser authority). When doing this, it is important to remember that a superuser is
implicitly a trusted user who has the potential of using UID(0) to access all z/OS resources.
Note: If the SHARED.IDS profile is defined in the UNIXPRIV class, in order to assign a UID
that is already in use to another user ID you must specify the SHARED keyword with the
UID keyword on the RACF ADDUSER or ALTUSER command.
If the SHARED.IDS profile is defined in the UNIXPRIV class, you may need to use the
SHARED keyword because UID(0) is likely to be used by several IDs. For example:
ALTUSER SMORG OMVS(UID(0) SHARED HOME('/') PROGRAM('/bin/sh'))
SHARED.IDS examples
Once the SHARED.IDS profile has been defined and the UNIXPRIV class refreshed, it will
not allow a UID to be assigned if the UID is already in use.
As shown in Figure 2-9 on page 52, UID 12 is not assigned to user MARCY because in the
RACF database this UID is assigned to user BRADY. Also, users HARRY and MARY cannot
be assigned the same UID 14.
The same is true for GIDs; it will not allow a GID to be shared between different groups.
Note: The use of this functionality does not affect pre-existing shared UIDs. They remain
as shared once you install the new support. If you want to eliminate sharing of the same
UID, you must clean them up separately. RACF provides an IRRICE report to find the
shared UIDs.
SHARED keyword
OMVS segment of the ADDUSER, ALTUSER, ADDGROUP,
and ALTGROUP commands
Example:
PERMIT SHARED.IDS CLASS(UNIXPRIV) ID(UNIXGUY) ACC(READ)
SETROPTS RACLIST(UNIXPRIV) REFRESH
RACF DB
AU OMVSKERN OMVS(UID(0) SHARED)
BPXOINIT
AG (G1 G2 G3) OMVS(GID(9) SHARED)
UNIXGUY OMVS
UID=0
Figure 2-10 Using the SHARED keyword to allow duplicate UID assignment
Even if the SHARED.IDS profile is defined, you may still require some UIDs to be shared and
others not to be shared. For example, you may require multiple superusers with a UID(0). It is
possible to do this using the new SHARED keyword in the OMVS segment of the ADDUSER,
ALTUSER, ADDGROUP, and ALTGROUP commands.
To allow an administrator to assign a non-unique UID or GID using the SHARED keyword,
you must grant that administrator at least READ access to the SHARED.IDS profile and be at
the z/OS V1R4 level or above, as follows:
PERMIT SHARED.IDS CLASS(UNIXPRIV) ID(UNIXGUY) ACCESS(READ)
SETROPTS RACLIST(UNIXPRIV) REFRESH
Once user ID UNIXGUY has at least READ access to the SHARED.IDS profile, UNIXGUY
will be able to assign the same UID or GID to multiple users, using the SHARED KEYWORD,
as follows: ADDUSER OMVSKERN OMVS(UID(0) SHARED)
Note: To specify the SHARED operand, you must have the SPECIAL attribute or at least
READ authority to the SHARED.IDS profile in the UNIXPRIV class.
SYS1.PROCLIB Copy:
/samples/init.options
IPL /samples/rc
OMVS
to
BPXOINIT
Start system /etc/init.options
address spaces /etc/rc
OMVS BPXOINIT
PID=1
ROOT HFS
Start init task
Start shell /bin/sh
and run "init"
/etc/init
Initialize kernel or
init /usr/sbin/init
Initialize all Set
filesystems init.options: /etc/init.options
z/OS UNIX attempts to run the program /etc/init. If no such program is found, z/OS UNIX
attempts to run /usr/sbin/init. This file contains the default initialization program shipped with
the z/OS UNIX Shell and Utilities.
The /etc/init program invokes a shell to execute an initialization shell script that customizes
the environment for shell users. When this shell script finishes or a time interval established
by /etc/init expires, z/OS UNIX becomes available for general batch and interactive use.
An option to use a REXX™ exec in an MVS data set is provided as an alternative to writing a
customized /etc/init initialization program. To activate the REXX exec for initialization, you
must specify its name on the STARTUP_EXEC statement in the BPXPRMxx parmlib
member.
The /usr/sbin/init program invokes a shell to execute an initialization shell script that
customizes the environment for shell users. When this shell script finishes or when a time
interval established by /usr/sbin/init expires, kernel services become available for general
batch and interactive use.
Kernel is the part of z/OS UNIX that contains programs for such tasks as I/O, management,
and control of hardware and the scheduling of user tasks.
Figure 2-12 File Security Packet (FSP) used by RACF for authorization
File Mode
The file mode consists of.
SetUID This bit only relates to executable files. If on, it causes the UID of the user
executing the file to be set to the file’s UID.
SetGID This bit only relates to executable files. If on, it causes the GID of the user
executing the file to be set to the file’s GID.
Sticky Bit This bit only relates to executable files. If on, it causes the file to be retained in
memory for performance reasons. The implementation of this varies between
platforms. In z/OS UNIX, it means programs are loaded from LPA (or LNKLST as
per normal MVS program search) instead of a HFS file. For a directory, the sticky
Where:
r Read (r) access to both files and directories
w Write (w) access to both files and directories
x Execute (x) has a different meaning for files and directories, as follows:
For an executable file, an access of x means that the user can execute the file.
For a directory, an access of x means the user can search the directory.
Both read (r) and execute (x) are required in order to execute a shell script. In order to access
HFS files, a user needs the following:
Search (x) permission to all the directories in the pathname of files the user wants to
access.
Write permission to directories where the user will be creating new files and directories.
Read and/or write permission, as appropriate, to files for access.
Execute (x) permission for an executable file.
Note: In z/OS UNIX, these three permissions are not hierarchical. For example, a user with
write permission who does not have read permission, can only write over existing data or
add data to a file, and cannot look at the contents of the file or print the file. Similarly, write
and read permission does not allow a user to execute a file or search a directory.
Extended attributes
Another section of the FSP, which is specific to the z/OS UNIX implementation, is called
Extended Attributes (extattr), which contains flags to mark HFS program files as
APF-authorized and program controlled. A shell command called extattr is used to
manipulate these bits.
The HFS, zFS, and TFS file systems support ACLs. The ACLs are created and checked by
RACF, not by the kernel or file system. If a different security product is being used, you must
check their documentation to see if ACLs are supported and what rules are used when
determining file access.
type filename
# ls -l
dir bin
dir etc
The z/OS UNIX shell is based on the UNIX System V shell and has some of the features from
the UNIX Korn shell. The POSIX standard distinguishes between a command which is a
directive to the shell to perform a specific task, and a utility which is the name of a program
callable by name from the shell. To the user, there is no difference between a command and
a utility.
Interactive users of z/OS UNIX have a choice between using a UNIX-like interface (the shell),
a TSO interface (TSO commands), and an ISPF interface (ISPF CUA® dialog). With these
choices, users can choose the interface which they are most familiar with and get a quicker
start on z/OS UNIX.
The z/OS UNIX shell provides the environment that has the most functions and capabilities.
Shell commands can easily be combined in pipes or shell scripts and thereby become
powerful new functions. A sequence of shell commands can be stored in a text file which can
be executed. This is called a shell script. The shell supports many of the features of a regular
programming language.
The ISPF ISHELL command invokes the ISPF shell. The ISHELL is the easy to use starting
point for users familiar with TSO and ISPF. The ISPF type dialog provides a panel-driven
interface to z/OS UNIX services.
ISHELL command
The ISHELL provides CUA panels where users can work with the hierarchical file system.
There are also panels for mounting/unmounting file systems and for doing some z/OS UNIX
administration.
Programmers whose primary interactive computing environment is TSO/E and ISPF prefer to
work with the ISHELL environment.
OMVS command
An interactive TSO/E user who uses the OMVS command to access the shell can switch back
and forth between the shell and TSO/E environments.
Programmers whose primary interactive computing environment is UNIX or AIX find the z/OS
shell programming environment familiar.
===> ISHELL______________________________________________________________________
____________________________________________________________________________
____________________________________________________________________________
=> ishell
=> omvs
=> netstat
=>
=>
=>
=>
=>
=>
=>
If you are a user with an MVS background, you may prefer to use the ISPF shell panel
interface instead of shell commands or TSO/E commands to work with the file system. The
ISPF shell also provides the administrator with a panel interface for setting up users for z/OS
UNIX access, for setting up the root file system, and for mounting and unmounting a file
system.
You can also run shell commands, REXX programs, and C programs from the ISPF shell.
The ISPF shell can direct stdout and stderr only to an HFS file, not to your terminal. If it has
any contents, the file is displayed when the command or program completes.
Figure 2-15 Using the ISHELL to display files and directories for /var/Printsrv
You can also run shell commands, REXX programs, and C programs from the ISPF shell.
The ISPF shell can direct stdout and stderr only to an HFS file, not to your terminal. If it has
any contents, the file is displayed when the command or program completes. The ISHELL
can also be invoked from TSO/E READY mode (provided that SYS1.SBPXEXEC data set is
part of the SYSPROC or SYSEXEC DD concatenation and the ISPF libraries are allocated).
Figure 2-15 shows the ISHELL or ISPF Shell panel as a result of the ISHELL command. At the
top of the panel is the action bar, with seven choices:
File - Directory - Special file - Tools - File systems - Options - Setup - Help
When you select one of these choices, a pull-down panel with a list of actions is displayed.
Note: The effective UID is displayed on the panel as EUID=0. Many Infoprint Server
customization functions require the administrator or operator to have an effective UID of 0.
Select one or more files with / or action codes. If / is used also select an
action from the action bar otherwise your default action will be used. Select
with S to use your default action. Cursor select can also be used for quick
navigation. See help for details.
EUID=0 /var/Printsrv/
Type Perm Changed-EST5EDT Owner ------Size Filename Row 1 of 44
_ File 664 2003-05-07 08:46 HAIMO 23 ipp.out
_ File 666 2003-05-07 08:45 HAIMO 0 JVM.log
_ Dir 771 2003-05-07 08:45 HAIMO 8192 xf_sockets
_ File 660 2003-05-07 08:45 HAIMO 11 aopippd.pid
_ Dir 771 2003-05-07 08:45 HAIMO 8192 .
_ Dir 770 2003-05-07 08:45 HAIMO 8192 xfd
_ Char 666 2003-05-07 08:45 HAIMO 0 aopxfd.skt
_ File 660 2003-05-07 08:45 HAIMO 11 aopxfd.pid
_ File 660 2003-05-07 08:45 HAIMO 11 aoplpd.pid
_ File 660 2003-05-07 08:45 HAIMO 11 aopd.pid
_ File 660 2003-05-07 08:30 HAIMO 49152 master.db
_ File 660 2003-05-07 08:30 HAIMO 24576 jestoken.db
_ File 660 2003-05-06 03:14 HAIMO 4 aop.id
Figure 2-16 Users files and directories displayed from the ISHELL
Figure 2-17 Displaying files and directories from the OMVS shell
OMVS command
Use the OMVS command to invoke the z/OS shell. After you are working in a shell session,
you can switch to subcommand mode, return temporarily to TSO/E command mode, or end
the session by exiting the shell.
Shell commands often have options (also known as flags) that you can specify, and they
usually take an argument--such as the name of a file or directory. The format for specifying
the command begins with the command name, then the option or options, and finally the
argument, if any.
Environment variables
When a program begins, an environment is made available to it. The environment consists of
strings of the form, name=value, where name is the name associated with the environment
variable, and its value is represented by the characters in value. UNIX systems traditionally
pass information to programs through the environment variable mechanism.
There are global variables for all shell users and each user can override these variables with
an individual set of variables. You can also change any of the values for the duration of your
session (or until you change them again). You enter the name of the environment variable
and equate it to a new value.
For Infoprint Server processing, some environment variables are required and some are
optional. The required variables are shown in Figure 2-18. They should be set in /etc/profile.
The set command can be used to display the current variables that are set. This command is
issued from the OMVS command line.
You must customize the Printer Inventory Manager to use any functions provided by Infoprint
Server and Infoprint Server Transforms.
The Printer Inventory Manager maintains the Printer Inventory and provides Infoprint Server
ISPF panels and the Printer Inventory Definition Utility program (pidu) for the administration of
entries in the Printer Inventory.
You can customize other components later as your installation decides to use additional
functions. If you plan to use more than one Infoprint Server function, customize all related
components. For example, to print from VTAM applications to TCP/IP-attached printers,
customize the Printer Inventory Manager, NetSpool, and IP PrintWay.
The D PROD operator command to displays information about products that have been
registered or displays the product enablement policy. You can also use the command to
determine the state (enabled, disabled, not defined, or not found) that, according to the
current policy, exists for a specific product or set of products.
The SET PROD= operator command activates the selected IFAPRDxx members of the
logical parmlib that contain the desired product enablement policy. If a policy already exists,
the system performs the actions defined in the specified member(s) to modify the existing
policy.
LE run-time library
Infoprint Server requires that the Language Environment (LE) run-time library
(CEE.SCEERUN and CEE.SCEERUN2) and the C++ run-time library (CBC.SCLBDLL)
reside in an APF-authorized library and be available to Infoprint Server and Infoprint
transforms.
Some installations choose not to add the SCEERUN and SCLBDLL libraries to LNKLST
because these libraries contain module names that might intersect with names in other
libraries. However, the module names in SCEERUN2 do not intersect with module names in
other libraries, so you can add SCEERUN2 to LNKLST with no adverse effects. If you do not
add SCEERUN2 to LNKLST, specify SCEERUN2 in the same places you specify SCEERUN
in the next step.
However, if you do not add the SCEERUN and SCLBDLL data sets to LNKLST, you can take
these steps:
Add the SCEERUN and SCLBDLL data sets to the STEPLIBLIST facility of the
BPXPRMxx PARMLIB member.
Add this statement to the /etc/rc file:
export STEPLIB=hlq.SCEERUN:hlq.SCLBDLL
OMVS.ROOT.ZFS /
symlinks
$SYSNAME/etc
$SYSNAME/dev
SYSTEM/
$SYSNAME/tmp
$SYSNAME/var
symlinks
/samples
/bin
/lib OMVS.TMP.ZFS OMVS.ETC.ZFS
/usr
/opt OMVS.DEV.ZFS OMVS.VAR.HFS
Figure 3-2 Structure of the root file system in a single system environment
The root HFS data set contains system code and binaries, including the /bin, /usr, /lib, /opt,
and /samples directories. These directories contain files that are installed and serviced by
SMP/E.
You must maintain a separate HFS data set for each of the following directories:
/etc /etc contains customization data. Keeping the /etc file system in an HFS data set
separate from other file systems allows you to separate your customization data
from IBM’s service updates.
/dev /dev contains character-special files that are used when logging into the OMVS
shell environment and also during c89 processing.
/tmp /tmp contains temporary data that are used by products and applications. /tmp, is
created empty, and temporary files are created dynamically by different elements
and products. You have the option of mounting a temporary file system (TFS) on
/tmp.
For users, you should logically mount other HFS data sets on the root file system. You should
also have your users place their directories and files in the mounted file systems. Separate
user file systems offer several advantages:
They improve storage management because the system administrator only needs to
allocate data sets that are large enough to accommodate the needs of individual users.
They enable failure isolation because the system administrator can unmount the user file
system that caused an error without affecting other users’ data or causing z/OS UNIX to
fail.
They relieve the contention for system resources that could occur by having multiple users
in a single file system.
Name each user’s home directory /u/userid where userid is the user ID in lowercase.
In z/OS the root file system contains an additional directory, /SYSTEM; existing directories,
/etc, /dev, /tmp and /var are converted into symbolic links. These changes, however, are
transparent to the user who brings up a single system environment.
If the content of the symbolic link begins with $SYSNAME and SYSPLEX is specified NO,
then $SYSNAME is replaced with /SYSTEM when the symbolic link is resolved.
The example below shows what BPXPRMxx file system parameters would look like in an
z/OS single system environment, and Figure 3-2 on page 69 shows the corresponding single
system image. SYSPLEX(NO) is specified (or the default taken), and the mount mode is
read-write.
Root /
files files
Printsrv
aopd.conf
samples aopmsg.conf bin
aoprform.conf
aoprxf.conf aopsetup
aopsapd.conf
files aopxfd.conf files
Figure 3-4 HFS directories and files used by Printer Inventory Manager
The /var/Printsrv directory is the default location for the Printer Inventory files.
The aopsetup shell script defines permissions for the /var/Printsrv directory.
All Infoprint Server operator commands to be issued from the OMVS shell are accessed
through /usr/lpp/Printsrv/bin. Use environment variables to give z/OS UNIX users and
Infoprint Server administrators and operators access to the commands.
The default location of this configuration file is /etc/Printsrv/aopd.conf. The attributes in the
aopd.conf default configuration file are sufficient to allow the Printer Inventory Manager to be
started.
The aopd.conf file contains attributes that customize Infoprint Server. An aopd.conf file
containing the base-directory attribute is required. If other attributes are missing, Infoprint
Server uses the default.
ascii-codepage = codepage
The name of an IBM-supplied or custom ASCII code page supported by the z/OS iconv
utility. For the names of IBM-supplied code page names, see z/OS XL C/C++
Programming Guide, SC09-4765.
Note: Do not change this attribute while any Infoprint Server daemons are running.
z/OS Infoprint Customization, S544-5744 lists the steps for creating and editing the aopd.conf
file.
If you do not create the Infoprint Server configuration file in /etc/Printsrv/aopd.conf, you must
set the AOPCONF environment variable to the full path name of the configuration file. The
Printer Inventory Manager, as well as other Infoprint Server daemons, use environment
variables specified in the aopstart EXEC in /usr/lpp/Printsrv/bin/ directory. If you created the
configuration file in /etc/Printsrv/aopd.conf, you do not need to set this environment variable.
Note: The Printer Inventory cannot be shared by Infoprint Server running at the same or
different levels on other systems.
The Printer Inventory Manager provides Infoprint Server ISPF dialogs and the Printer
Inventory Definition Utility program (pidu) for the administrator to create and manage entries
in the Printer Inventory. The Printer Inventory Manager also maintains the common message
log and the Historical Inventory.
Customization tasks:
Create Infoprint Server directories: The Printer Inventory Manager uses these
directories, which can be in hierarchical file systems (HFS) or z/OS Distributed File
Service file systems (zFS):
– The /etc/Printsrv directory, which is the default location for Infoprint Server
configuration files.
– The /var/Printsrv directory, which is the default location for other Infoprint Server files,
including the Printer Inventory files.
Print Inventory
The Printer Inventory is common to the Print Interface, IP PrintWay, and NetSpool
components of Infoprint Server.
The administrators use Infoprint Server ISPF panels and the Printer Inventory Definition
Utility (pidu) to create and maintain the Printer Inventory. The pidu program is useful for
creating many printer definitions at the same time and for backing up the Printer Inventory.
The information in the Printer Inventory is used by several Infoprint Server components:
NetSpool uses information in printer definitions and in printer pool definitions.
Print Interface uses information in printer definitions.
IP PrintWay uses information in printer definitions. Also, IP PrintWay basic mode uses
configuration information in FSS and FSA definitions, and IP PrintWay extended mode
uses job selection rules.
The SNMP subagent uses printer information that PSF stores in the Printer Inventory
about PSF printers.
Infoprint Central displays Printer Inventory information.
To customizing PSF to use the Printer Inventory you can use a migration program in Infoprint
Server to copy parameters from the PRINTDEV statement and EXEC PARM statement into
the Printer Inventory. You must manually migrate parameters from Exit 7.
The PSF printer startup procedure has to be changed to specify INV=inventory as the first
parameter in the PARM field of the EXEC statement:
// EXEC PGM=APSPPIEP,PARM=('INV=inventory')
The INV=piname parameter indicates that PSF uses the Printer Inventory and obtains
parameters from the specified Printer Inventory for each printer in the startup procedure. No
other parameters in the PARM field are used when PSF uses the Printer Inventory.
Important: The Printer Inventory cannot be shared by any Infoprint Server components
running at the same or different levels on other systems.
The /var/Printsrv directory, which is the default location for other Infoprint Server files,
including the Printer Inventory files.
The /var/Printsrv directory contains the Printer Inventory and other Infoprint Server files.
The /var/Printsrv directory is created automatically when you install Infoprint Server. The
aopsetup shell script defines the appropriate permissions for the /var/Printsrv directory.
Recommendation: Mount a separate file system at the /var mount point and create
the /var/Printsrv directory in that file system.
Sysplex support
If your system is part of a sysplex, the /var filesystem must be system-specific and
designated NOAUTOMOVE in the BPXPRMxx parmlib member. If you specify a different
base directory in the base-directory attribute in the Infoprint Server configuration file, the
filesystem that contains this directory must be system-specific and designated
NOAUTOMOVE.
The master.db, jestoken.db, and pwjestoken.db files are data base files optimized for rapid
direct access to objects. As you add objects to the Printer Inventory, these files increase in
size. When you remove objects, the files do not decrease in size because the Printer
Inventory Manager simply designates as available the space within the file that had been
occupied by the removed objects. When you add objects in the future, the Printer Inventory
Manager uses available space within the files. The files increase in size only when they do
not contain sufficient available storage. So, the size of each file can be characterized as a
high-water mark.
Note: Make sure that the file system that contains the /var/Printsrv directory has enough
space.
The /var/Printsrv directory and its subdirectories contain these types of files:
/var/Printsrv: This directory contains:
– Printer Inventory files master.db, jestoken.db, and pwjestoken.db
– Temporary files that the Print Interface LPD creates as it receives data from clients that
send the control file after sending data files
– Language Environment dumps (CEEDUMPs)
/var/Printsrv/printway: This directory contains temporary files that IP PrintWay extended
mode writes before transmitting data to printers.
IP PrintWay basic mode never writes temporary files in this directory. Instead, IP PrintWay
basic mode writes temporary files in hiperspace.
Important: Allocate at least 750 MB of DASD space for the file system mounted at the
/var/Printsrv mount point. If you do not run IP PrintWay extended mode or use data stream
transforms, you might need less space. If you print extremely large files or if you want to
keep many days worth of messages and historical information, you might need more
space.
To protect access to the Printer Inventory, the common message log, and daemons, you
must define the AOPADMIN and AOPOPER groups to RACF for Infoprint Server
administrators and operators.
The AOPADMIN and AOPOPER groups must have an OMVS segment and an OMVS group
identifier (GID).
Note: You can define as many administrator user IDs and group IDs as required in the
AOPRACF CLIST by adding them to the existing commands.
The sample AOPRACF TSO CLIST provides all the RACF commands needed for the setup
of Infoprint Server. This CLIST is structured into separate sections (blocks), each with a set of
block comments, describing the RACF function that will be set up and what needs to be
changed by the customer. The AOPRACF CLIST must be executed by a RACF special user
ID.
Note: You could permit each user separately instead of permitting the AOPADMIN
group.
OMVS Segment
The user IDs for Infoprint Server administrators and operators must have an OMVS segment
with a user identifier (UID) and be connected to a default group that has a group identifier
(GID). The prototype RACF ALTUSER command in AOPRACF is:
ALTUSER (aaaaaaaa) OMVS(UID(uu) HOME('/u/aaaaaaaa')
PROGRAM('/bin/sh'))DFLTGRP(gggggggg)
– Change ALTUSER to ADDUSER if this user ID is new to the database.
– aaaaaaaa and oooooooo- refers to the user ID.
– uu - refers to a unique UID number between 1 - 16,777,215
– gggggggg - refers to the default group name. This could be AOPADMIN, AOPOPER,
or any other previously defined group that has an OMVS GID.
Note: If you do not use the AOPRACF CLIST, you must then define a user ID for starting
and stopping Infoprint Server, just as shown in the CLIST in Figure 3-13 on page 91.
If you use the AOPSTART and AOPSTOP procedures, you must define profiles for them in
the RACF STARTED class. The following commands assume that the user ID you defined for
use with these procedures is AOPSTC and that AOPSTC is connected to group AOPOPER:
CONNECT (AOPSTC) GROUP(AOPOPER)
RDEFINE STARTED AOPSTART.* STDATA(USER(AOPSTC) GROUP(AOPOPER))
RDEFINE STARTED AOPSTOP.* STDATA(USER(AOPSTC) GROUP(AOPOPER))
SETROPTS RACLIST(STARTED) REFRESH
A user file system is allocated in exactly the same way that you created the root file system.
Choose a data set name that has the user name as one of the qualifiers and a size that
provides sufficient space for the user’s requirements.
You can allocate a zFS file system using Option 4 from the File_systems pull-down list in an
ISHELL.
After the user’s file system is allocated, you need to mount it at a mount point off the root
directory to make it available. The preferred place to mount all user file systems is a user
directory under the /u user directory. z/OS TSO/E MOUNT command to accomplish this:
MOUNT FILESYSTEM('OMVS.AOPSTC.ZFS') TYPE(ZFS) MOUNTPOINT('/u/aopstc')
Automount facility
You can allocate the user’s home directory to a user HFS data set and use the automount
facility to manage the user HFS data set. The automount facility lets you designate directories
as containing only mount points. As each mount point is accessed, an appropriate file system
is mounted.
If you want to make the mounting of the OMVS.AOPSTC.ZFS file system permanent, you
have to add an entry in the BPXPRMxx member in SYS1.PARMLIB. The mount statement
should follow the ROOT statement for the root file system:
MOUNT FILESYSTEM('OMVS.AOPSTC.ZFS')
TYPE(ZFS)
MOUNTPOINT('/u')
MODE(RDWR)
Example: If you defined one group to RACF named AOPOPER for operators and another
group named AOPADMIN for administrators, enter:
/usr/lpp/Printsrv/bin/aopsetup AOPOPER AOPADMIN
If you did not define a separate group for Infoprint operators, specify the group name for
Infoprint Server administrators (for example, AOPADMIN) in both arguments.
Rule: Run aopsetup from a user ID with a UID of 0. To switch to an effective UID of 0, you
can use the z/OS UNIX su command if you are permitted to the BPX.SUPERUSER profile
in the FACILITY class in RACF.
While it is not very probable that an operator would enter the OMVS shell and enter the
aopstart command, this command can be used to start the Infoprint Server. The two
conditions needed by an operator to be able to do this are:
The operator’s user ID must have an OMVS segment in the RACF user profile.
The operator must enter the OMVS shell by using Telnet.
Command security
To use the aopstart command, you must either be a member of the RACF AOPOPER group
or have a UID of 0. You can use the z/OS UNIX su command to switch to an effective UID of
0 if the user ID has access to the BPX.SUPERUSER profile in the RACF FACILITY class.
You must edit the AOPSTART procedure if any of these conditions apply to your installation:
The default region size set by your installation is not sufficient. Specify the region size in
the REGION parameter on the EXEC statement:
– If you start the IPP server, specify at least 200 MB.
– If you start the Transform Manager, specify at least 10K more than the value specified
in the -M option in the transform configuration file. If you specify too low a region size,
you might experience transform failures when Infoprint Server processes large or
complicated data streams. IBM recommends at least 256 MB.
The aopstart command is not in the default directory /usr/lpp/Printsrv/bin. Specify the
directory in the PARM parameter on the EXEC statement.
You can specify any of these environment variables in a data set referred to by the STDENV
DD statement:
AOPTRACEON=1: To trace Infoprint Server daemons. By default, tracing is off.
AOPTRACEON_DATA=1, AOPTRACEON_FILTER=1, AOPTRACEON_MSGLOG=1: To
obtain additional trace data.
You must specify all other environment variables in the aopstart EXEC.
(The MVS data set referred to by the STDENV DD statement must have these B attributes:
RECFM=VB and LRECL=255. For more information about how define an environment file,
see the comments in the AOPSTART procedure.)
Environment variables
Infoprint Server uses environment variables to define its environment in the z/OS system. The
Printer Inventory Manager, as well as other Infoprint Server daemons, use environment
variables specified in the aopstart EXEC. In addition, the daemons accept certain variables
from the run-time environment, such as environment variables that control tracing, locale, and
the language for messages. The aopstart EXEC lists the variables that Infoprint Server
accepts from the run-time environment. If you use the AOPSTART JCL procedure to start
Infoprint Server daemons, you must specify these run-time variables in the STDENV data set
of the AOPSTART JCL procedure. However, if you use the aopstart command in a UNIX
System Services shell to start Infoprint Server daemons, the daemons accept certain
environment variables from the shell. The /etc/profile file contains environment variables that
apply to most shells.
Infoprint Server and Infoprint Server Transforms commands, such as aoplogu, pidu, and
ps2afp, accept environment variables from the /etc/profile file. In general, all shell users will
get the environment variables set by /etc/profile. Users can override some of the variables by
setting the variables in their private profiles, or in their shell sessions.
/etc/profile customization
To edit the /etc/profile file, use either the TSO/E OEDIT command or the z/OS UNIX oedit
command. To set and export an environment variable, use the z/OS UNIX export command.
Default: /usr/lpp/Printsrv/%L/%N:/usr/lpp/Printsrv/En_US/%N:
/usr/lib/nls/msg/%L/%N
(This default applies only to the aopstart EXEC.)
MANPATH The path of directories that contain the man pages. This environment variable is
required. If the LANG environment variable identifies the language in which you
want to view Infoprint Server man pages, add /usr/lpp/Printsrv/man/%L to the
values in this variable; otherwise, add one of the following values to any
existing values:
English: /usr/lpp/Printsrv/man/En_US
Japanese: /usr/lpp/Printsrv/man/Ja_JP
Spanish: /usr/lpp/Printsrv/man/Es_ES
Note: Add the new directory path before /usr/man/%L in the MANPATH environment
variable, to display the Infoprint Server versions of the lp, lpstat, and cancel man pages.
Environment variables
Following is a summary of the variables that affect the Printer Inventory Manager, including
the common message log and the pidu command. Required variables must be set. Optional
variables must be set only if the default value is not suitable for your installation.
AOPCONF The full path name of the Infoprint Server configuration file. This
environment variable is optional. If you created the configuration file in
/etc/Printsrv/aopd.conf, you do not need to set this environment
variable.
Default: /etc/Printsrv/aopd.conf
AOPMSG_CONF The full path name of the Infoprint Server message configuration file,
aopmsg.conf. This environment variable is optional. If you did not
create the configuration file or if you created the configuration file in
/etc/Printsrv/aopmsg.conf, you do not need to set this environment
variable.
Default: /etc/Printsrv/aopmsg.conf
AOPVALIDATEDB When set to any value, Infoprint Server checks internal databases for
validity when it starts daemons. Infoprint Server starts daemons when
you run the aopstart command or AOPSTART JCL procedure. This
environment variable is optional. Specify it only if an Infoprint Server
message indicates that the databases might be corrupted or if
instructed to do so by IBM service personnel.
Default: None
/* rexx
*/
/* aopstart is a REXX exec used to establish a secure environment in which */
/* to start the Infoprint Server daemons. */
/*
*/
/* This exec assumes a default installation environment. If this exec is */
/* to be used in a non-default environment, then it should be copied to */
/* another directory (for example /usr/sbin), and edited to accommodate the */
/* environment changes. */
/* */
/* Items that may need to be changed include: */
/* */
/* REXX EXEC VARIABLES: */
/* install_path <-- edit this variable's value if Infoprint Server */
/* was installed in a non-default directory. */
/* SECURE ENVIRONMENT VARIABLES: */
/* PATH AOPCONF */
/* LIBPATH AOPXFD_CONF */
/* CLASSPATH AOPTRACEDIR */
/* NLSPATH BPX_SHAREAS */
/* JAVA_HOME _BPX_UNLIMITED_OUTPUT */
/* OTHER VARIABLES THAT MAY NEED TO BE DEFINED: */
/* STEPLIB AOPSAPD_CONF */
/* _BPXK_SETIBMOPT_TRANSPORT AOP_APPLID */
/* AOP_SAP2AFP_RESOURCES */
/* It is recommended that nothing else be changed in this exec. */
The aopstart EXEC provided with Infoprint Server is suitable for most installations. However,
you can edit the EXEC to change the environment variables for your installation.
To stop the Printer Inventory Manager daemon, as well as all other Infoprint Server daemons,
enter the aopstop command in a UNIX shell without specifying any daemon names. The Print
Interface component of Infoprint Server stops accepting new print requests and completes all
work in progress before shutting down.
Note: Before you stop the Printer Inventory Manager daemon, stop other programs that
are using the Printer Inventory, such as NetSpool, IP PrintWay, and PSF for z/OS.
To stop all active daemons (including the Printer Inventory Manager daemon) after current
activity ends, use this command from the OMVS shell:
aopstop
To stop the Transform Manager and line printer daemons, use this command from the shell:
aopstop -d xfd -d lpd
To stop all daemons immediately, use this command. Documents that are being processed
may be lost.
aopstop now
You need to edit the AOPSTOP procedure if any of these conditions apply to your installation:
The aopstop command is not in the default directory /usr/lpp/Printsrv/bin. Specify the
directory in the PARM parameter on the EXEC statement.
If the Infoprint Server configuration file is not in the default location /etc/Printsrv/aopd.conf.
Specify the location of the file in the AOPCONF environment variable in a data set referred
to by the STDENV DD statement.
The AOPSTOP procedure does not use environment variables that are set elsewhere, for
example in the /etc/profile file.
When the operator invokes this procedure without any options, all active daemons stop when
current activity ends. The operator can specify aopstop command options to stop daemons
immediately and to stop selected daemons. For example, to stop the Transform Manager and
line printer daemons immediately, specify this MVS START command:
S AOPSTOP OPTIONS='-d xfd -d lpd now'
Command messages
After you enter the aopstop command, you see one or more messages. The messages for
each daemon can include any of the following messages:
AOP078W Daemon name is not running.
AOP079I A shutdown of daemon name has been initiated.
AOP134E The stop of daemon name failed.
AOP135I An abrupt shutdown of daemon name has been initiated.
AOP136I A destructive shutdown of daemon name has been initiated.
Figure 3-23 Infoprint Server address spaces after start command is issued
The aopstart command always starts daemons aopd, aopsdbd, aophinvd, and aoplogd. The
aopstart command also starts the optional daemons specified in the start-daemons attribute
in the Infoprint Server configuration file.
Start the Printer Inventory Manager daemons before you start IP PrintWay basic mode or a
NetSpool task. Also, start the Printer Inventory Manager daemons before you start PSF if
PSF uses the Printer Inventory.
Panels: HFS
- English
Printer
- Japanese
Inventory
The Printer Inventory Manager is a key component because in order to use the functions
provided by Infoprint Server, you must define the printer environment in the Printer Inventory.
Infoprint Server provides the following tools to manage the Printer Inventory:
ISPF application to create the printer definitions.
The Printer Inventory Definition Utility (pidu) to create and maintain the Printer Inventory.
The pidu is useful for creating many printer definitions at the same time and for backing up
the Printer Inventory.
Printer definitions are used by all the following Infoprint Server components:
IP PrintWay
NetSpool
Infoprint Central
SNMP subagent
PSF for z/OS
You must customize the Printer Inventory Manager component to use any function that
Infoprint Server provides. You can customize other components later as your installation
decides to use additional functions.
ISPF panels
The Infoprint Server administrator can use Infoprint Server ISPF panels to add, browse, copy,
edit, and delete printer definitions and other objects in the Printer Inventory.
Before using the Infoprint Server Printer Inventory Manager ISPF dialog, review the AOPINIT
EXEC provided in AOP.SAOPEXEC(AOPINIT) and modify it, if necessary, for your
installation.
Normally, using the instructions in the ISPF Setup sections in the z/OS Program Directory,
you need to concatenate the following libraries into the TSO logon procedure:
AOP.SAOPPENU panel libraries to DD statement ISPPLIB
AOP.SAOPMENU message libraries to DD statement ISPMLIB
The ISPF z/OS System Programmer Primary Option Menu (member ISR@390S in the
ISP.SISPPENU library - Option 8) provides a sample of how to invoke the Printer Inventory
Manager ISPF application. You can update your ISPF primary option menu to include a
selection option for the Printer Inventory Manager.
Attention: As shipped, the AOPINIT EXEC fails if you change the DOLIBS='N' assignment
statement to DOLIBS='Y'. The reason for the failure is the ISPEXEC LIBDEF statements
use of wrong library names: AOP.SAOPPLIB and AOP.SAOPMLIB. The correct names are
AOP.SAOPPENU and AOP.SAOPMENU.
AOPINIT EXEC
Before using the ISPF panels, review the AOPINIT EXEC provided in
AOP.SAOPEXEC(AOPINIT) and modify it, if necessary, for your installation. The AOPINIT
EXEC sets default values for fields that display on the Infoprint Server Configuration panel.
You can change any of these values in the AOPINIT EXEC. ISPF users can also change the
values for their ISPF sessions on the Configuration panel.
Before using the Infoprint Server ISPF dialog, Infoprint Server must
be started.
The Printer Inventory Manger daemon, aopd, must be active.
Access to the AOP.ADMINISTRATOR resource profile in the
PRINTSRV class
To use the Infoprint Server panels, you must have READ access to view, and UPDATE
access to view and update, to the AOP.ADMINISTRATOR resource profile in the PRINTSRV
class, or be a member of the AOPADMIN group.
Before you use the panels for the first time, check the panel configuration. On the Infoprint
Server: Printer Inventory Manager panel, select 7 (Configure) and press Enter.
Note: Individual ISPF users can also change the values for their ISPF sessions on the
Configuration panel itself.
On the Configuration panel, fill in the fields to configure your panels. Your system
programmer can change the default values that appear on this panel in file AOPINIT, as
described above. Use the ISPF online help for information about each field. To save the new
settings and exit the panel, press the END function key.
Recommendation: Create one printer definition for each printer so that all job submission
methods can be used to print on a printer, including those job submission methods that do
not permit the specification of the JES output class, destination name, or IP address. For
example, the lp command does not let you specify the JES output class or destination
name. And, when the IP PrintWay basic mode resubmit for filtering option is used, the
printer’s IP address cannot be specified on the OUTPUT JCL statement.
This panel lets you select the type of printer definition. If the type is IP PrintWay, you must
also select the protocol that you want IP PrintWay to use to transmit data to the remote
system. To select a type and protocol, type a selection number in the Option field and press
Enter. A description of the AOPIPDAP panel, Choose a Definition Type and Protocol follows.
To leave this panel and return to the previous panel, type END or CANCEL on the Option line
or press the END or CANCEL function key.
Component name
Creating components is optional. To fill in the fields for each section of the printer definition
(for example, the Allocation section), you can do one of these:
Select a component that contains the attributes you want. To do this, place the cursor on
the Component Name field for the section and press Enter. On the Component List panel,
select the component name from the list and press Enter. If a component doesn’t exist,
create the component on the Component List panel. See “Component name list” on
page 122.
From this panel, you can also create and manage all of the components for the different
sections of the printer definition. To do this, place the cursor on the Component Name field
for the section and press Enter.
Custom values
Fill in the fields in each section that is required directly in this printer definition. To do this,
place the cursor on the Custom Values field for the section and press Enter. On the next
panel, fill in the fields and press the END function key to return to the Printer Definition panel.
The fields you fill in are not saved in the inventory until you press the END function key from
the Printer Definition panel.
Note: An asterisk (*) is displayed in this field when one or more custom values have been
specified in the Processing section.
If you want to validate the fields before you save the printer definition, press Enter.
To save the new definition but keep the panel on the screen, type SAVE on the command
line and press Enter.
Tip: Type SAVE on the command line to easily add more than one printer definition of the
same type.
To save the new definition and exit the panel, press the END function key.
Component names
Components are named and contain attributes (such as Data format) that Print Interface,
NetSpool, and IP PrintWay use to process data and validate that a job can print on this
printer. Component definitions are not required; you can also use the Custom values field to
specify these attributes. If you do not specify a component or custom values, default values
are used.
Creating components
With the cursor on this field, press Enter to do one of the following:
Create custom value fields for the new component
View custom values and values specified in the named component.
Specify attributes that are not specified in the named component.
Override attributes that are specified in the named component.
When you include components in a printer definition, you can override some of the
attributes specified in the components by specifying a different value in the printer
definition itself.
Note: IP PrintWay creates automatically a default printer definition DFLTNTRY. You can
modify the default printer definition for your installation. However, you must not delete it.
Defining components
The panel shown in Figure 3-32 is the allocation component definition panel. You can also
create other types of component definitions (one type for each section of a printer definition):
Processing, NetSpool Options, NetSpool End-of-File, IP PrintWay Options, and Protocol.
Notice that the panel is the same as the custom value allocation selection panel except that
you are creating a component.
In this allocation component definition, you could specify the work-selection criteria that the
system programmer has defined to JES for the IP PrintWay FSA. For example, if the IP
PrintWay FSA selects jobs in output class P, specify class P in this component.
You might need to specify some allocation attributes in the printer definitions themselves. For
example, if job submitters need to select these printer definitions using the CLASS, DEST, or
FORMS parameters on an OUTPUT JCL statement, the value for the DEST or FORMS
attribute must be unique for each printer definition. Because this value is unique, do not
specify it in the component. Instead, specify the DEST or FORMS value in the printer
definition itself.
Using components
You can include the same components in different types of printer definitions. For example,
IP PrintWay and PSF printer definitions can share the NetSpool End-of-File components, if
the same NetSpool end-of-file rule is appropriate.
Printer attributes
Some attributes are used by all components of Infoprint Server. However, other attributes are
used only by one component of Infoprint Server. Therefore, depending on which components
of Infoprint Server you plan to use in your installation, you might not need to specify all of the
attributes. For example, if you do not plan to use NetSpool to print VTAM application data,
you do not need to specify attributes that only NetSpool uses. The online help for each panel
field describes which components use the field.
Most of the attributes that you can specify in a printer definition are divided into logical groups
called sections. The sections of a printer definition are:
Allocation, Processing, NetSpool Options, NetSpool End-of-File, IP PrintWay Options, and
Protocol.
Figure 3-33 shows the different types of printer definitions and the sections that each type
contains.
Each attribute in the Allocation section corresponds to a parameter that you can specify on an
OUTPUT JCL statement.
Some print-submission methods let the user specify the same attributes that you can specify
in the Allocation section. In this case, the attribute specified during job submission overrides
the attribute in the printer definition. For example, if the lp command contains the
form-definition attribute, Print Interface allocates the job on the JES spool with the form
definition name on the lp command.
Processing section
The Processing section contains attributes that tell NetSpool, Print Interface, and IP PrintWay
how to process data. For example, in this section you can specify attributes that control the
page-formatting done by NetSpool and IP PrintWay and attributes that control data
transforms done by Print Interface.
The Processing section also contains attributes that Print Interface and IP PrintWay use to
determine whether the document can print on the printer. These are called validation
attributes. If the document cannot print on the printer, Print Interface rejects the print request,
and IP PrintWay places the job on the system hold queue. For example, you can specify the
types of data formats that the printer supports or the maximum size job that can print.
Protocol section
The Protocol section contains attributes that tell IP PrintWay which transmission protocol to
use to transmit data sets to the remote system: line printer requester (LPR), direct-sockets
printing, Internet Printing Protocol (IPP), VTAM, or e-mail. This section also contains
attributes that are specific to the type of transmission protocol you select. For example, in this
section you can specify LPR options such as whether you want the LPD on the remote
system to print a banner page.
The Protocol section also contains the name of the RACF profile that controls who can work
with a printer using Infoprint Central for the Web. The RACF profile applies only if you run IP
PrintWay extended mode.
When you change the attributes in a component, all printer definitions that include that
component pick up the new attributes.
Creating components is optional. Some printer definitions in the Printer Inventory might
include components, while other printer definitions might not. Whether or not you use
components, you can use the Printer Inventory Definition Utility (pidu) to make changes to
many printer definitions at one time.
When you create components, you do not need to specify every attribute in that component.
Instead, you might want to specify some attributes in the printer definitions. For example, the
Protocol component contains an attribute that defines the IP address of the remote printer.
Because the IP address is usually unique for each remote printer, you could omit the IP
address from the component and instead specify it in the printer definition.
You can create these types of components (one type for each section of a printer definition):
Allocation, Processing, NetSpool Options, NetSpool End-of-File, IP PrintWay Options, and
Protocol.
With the cursor on a component field, you can do one of the following:
Press Enter to see a list of components. From this list you can create, edit, and select a
component; then when you return to this panel, the component name is automatically
displayed in this field.
In Browse Mode, press Enter to view the named component.
Custom values
The custom value fields lets you view the section so that you can specify custom values for
this printer definition. This section contains attributes (such as Document format and
Maximum document size) that Print Interface, NetSpool, and IP PrintWay use to process data
and validate that a job can print on this printer.
Specifying custom values is optional; if you do not specify custom values, specify a
Processing component. If you do not specify custom values or a component, default values
are used.
You see this panel when you press Enter from the Custom values field on the Printer
Definition panel. The fields on this panel include the printer definition name, JCL keywords
and other attributes that specify how a job is sent to the printer, separator page attributes
(such as address, title, and name), resource-related attributes, and error-reporting attributes.
The allocation values you specify on this panel apply only to this printer definition; they do not
change the attributes specified in the component.
You can customize your ISPF CUA settings so that values that are specified in components
are displayed differently from other values. To customize ISPF:
To display help for a field on this panel, place the cursor on the field and press the HELP
function key, as shown in the following example.
To save your changes and return to the Printer Definition panel, type END on the Command
line or press the END function key. Otherwise, type CANCEL on the Command line or press
the CANCEL function key to return to the Printer Inventory Manager panel without saving
your changes.
Title: The value in this field is also used as (1) the subject line of the e-mail when you select
the e-mail protocol and (2) the title passed to the LPD when you select the LPR protocol. You
can specify up to 60 characters, including blanks and any other printable characters. A title
specified by the job submitter overrides this value.
For the LPD’s separator page: The default value is the title your administrator specified in the
Allocation section of the printer definition. If none is specified, the default value is the title or
filename your administrator specified in the Protocol section of the printer definition. If none is
specified, the default value is the data set name.
For the subject of an e-mail: The default value is the title specified in the Allocation section of
the printer definition. If none is specified, the default value is the job name. Depending on how
the print request was submitted, the job name might be the ID of the user who submitted the
print request.
Other values
Notify (basic mode): You can specify up to four user IDs that IP PrintWay basic mode
notifies when a data set has been successfully or unsuccessfully transmitted, or when IP
PrintWay deletes the data set from the JES spool. IP PrintWay extended mode cannot
notify users.
Copies: Specify the number of copies to be printed. Allowed values are 1 to 32640. The
default value is 1.
The Processing section also contains attributes that Print Interface and IP PrintWay use to
determine whether the document can print on the printer. These are called validation
attributes. If the document cannot print on the printer, Print Interface rejects the print request,
and IP PrintWay places the job on the system hold queue. For example, you can specify the
types of data formats that the printer supports or the maximum size job that can print.
The Processing Panel lets you view and customize processing and validation attributes for a
printer definition. Print Interface, NetSpool, and IP PrintWay use these attributes to process
data and validate that a print job can print on this printer. You see this panel when you press
Enter from the Custom Values field on the Printer Definition panel.
To display help for a field on this panel, place the cursor on the field and press the HELP
function key, as shown in the following example.
To save your changes and return to the Printer Definition panel, type END on the Command
line or press the END function key. Otherwise, type C CEL on the Command line or press the
CANCEL function key to return to the Printer Inventory Manager panel without saving your
changes.
Data formats:
Line data Character data; can have carriage controls and TRCs
MO:DCA-P IBM Mixed Object Document Content Architecture Presentation
PostScript Adobe PostScript
Text Character data; can have LF, CR, HT, VT, FF controls
PCL Hewlett Packard Printer Control Language
PDF Adobe Portable Document Format
SAP SAP output text format (OTF) or ABAP format
XML Extensible Markup Language format
Other All data formats that are not one of the types above, including the Xerox data
format
Note: The job is rejected if the data format is not selected. With transforms configured,
PSF can support all data formats. Without transforms configured, PSF can support Line
data, MO:DCA-P, Text, and XML.
Filter Field
The filter DLL or UNIX filter used for documents that contain line data. A filter can transform
data from one format to another. If this field is blank, no filter is used. Infoprint Server
Transforms provides filters for printing line data formatted with an AFP page definition on an
ASCII printer.
SCS conversion
Specifies the default page-formatting values, which NetSpool uses for input SCS data
streams only.
If the SCS data stream does not contain SHF and SVF controls, NetSpool uses default
values. In each printer definition, you can specify the default values that NetSpool is to use for
the line length, page length, margins, and tabs.
3270 data streams: NetSpool uses page-formatting values in the 3270 Write Control
Characters (WCCs) in the 3270 data stream to format data into lines and pages. To change
page-formatting values for 3270 data, the application programmer must change the WCCs
generated by the VTAM application that creates the 3270 data. For 3270 data streams,
NetSpool does not use any of the default page-formatting values for line length, page length,
margins, and tabs that you specify in the printer definition.
The name of the TCP/IP translation table that IP PrintWay basic mode uses to convert
single-byte character set (SBCS) data between EBCDIC and ASCII. This translation table
name is used with both single-byte data and double-byte data.
The name of the translation table IP PrintWay basic mode uses to convert double-byte
character set (DBCS) data from EBCDIC to ASCII.
Values that you specify on this panel apply only to this printer definition; they do not change
the values specified in the component.
To display help for a field on this panel, place the cursor on the field and press the HELP
function key.
To save your changes and return to the Printer Definition panel, type END on the Command
line or press the END function key. Otherwise, type CANCEL on the Command line or press
the CANCEL function key to return to the Printer Inventory Manager panel without saving
your changes.
If IP PrintWay retains a data set on the JES spool, you can either (1) correct the problem that
caused the transmission to fail and retransmit the data set to the same printer or e-mail
destination or (2) transmit the data set to a different printer or e-mail destination. For
information about how to retransmit data sets that IP PrintWay retains on the JES spool.
Exits
The IP PrintWay Begin Data Set exit routine is called before processing any records in a data
set. In this exit you can add one or more records to the beginning of the data set and you can
change IP PrintWay options. This field is not required.
The IP PrintWay End Data Set exit routine is called after processing all records in a data set.
In this exit you can add one or more records to the end of the data set. You can also inspect
IP PrintWay options, but you cannot change them. This field is not required.
The document header field specifies additional data IP PrintWay is to add to the beginning of
each document. For example, you could specify printer commands to change the printer
default font. You can enter data in EBCDIC or ASCII.
The document trailer filed specifies additional data IP PrintWay is to add to the end of each
document. For example, you could specify printer commands to restore the default printer
configuration. You can enter data in EBCDIC or ASCII.
Figure 3-42 Add a printer using ISPF panels - IP PrintWay Options (2)
Formatting specifies the type of translation and formatting for IP PrintWay basic mode.
1. None: Does not translate or format data. Select to print binary data (AFP or PCL).
2. Standard: Translates data to ASCII or EBCDIC, adds line termination controls, and
formats data into pages. For the VTAM protocol, converts line data to SCS or DSC/DSE
format. (default)
3. Translate only: Translates data to ASCII or EBCDIC and adds line termination controls.
However, it does not format data into pages. For the VTAM protocol, this option is the
same as Standard.
4. Use FCB: Same as Standard, except that if an FCB is specified for the data set, formats
using the FCB. For these conditions, PrintWay uses “None” and ignores any other values:
a. Send as transparent data field is selected on the VTAM Protocol panel.
b. Remote PSF option is selected on the LPR Protocol panel.
c. NetSpool converted the data to PCL format.
d. For protocols other than VTAM, Print Interface processed the data set.
Consider specifying custom values for the following fields, instead of specifying the values in
a component, because these fields identify the target printer and are usually unique for each
printer definition:
Printer IP address
Print queue name
The values you specify on this panel apply only to this printer definition; they do not change
the values specified in the component.
To change the protocol used by IP PrintWay, use the X action on the Printer Definition List
panel. (Use the List or Select function on the main Infoprint Server panel to display the Printer
Definition List panel.)
Hint: If you are in Add or Copy mode, you can repeat these steps to add multiple
definitions with different target addresses: (1) Change the Printer definition name field. (2)
Change the address of the target printer. (3) Type SAVE on the Command line.
Use END to return to the Printer Definition panel, retaining changes made on this panel. Use
CANCEL to get out without saving changes.
Printer IP address
The IP address of the remote printer or print server. You can specify either the host name
(also called domain name) or the dotted-decimal IP address. If the IP address is in colon
hexadecimal format, you must specify the host name. This field is required when you select
either the LPR or direct sockets protocol type.
Note: Print Interface, IP PrintWay extended mode, and the SNMP subagent support IPv6.
If you enable or disable IPv6 while Infoprint Server daemons are running, you must stop
and restart the LPD (aoplpd), the IPP Server daemon (aopippdxp), the IP PrintWay
extended mode daemons (aopoutd and aopwsmd), and the SNMP subagent daemon
(aopsnmpd).
If a printer’s IP address is in the IPv6 colon-hexadecimal format, define a host name for the
IPv6 address in the DNS. This is required because administrators cannot specify IP
addresses in the colon-hexadecimal format in printer definitions.
You must use the host name (instead of the colon-hexadecimal address) in the DEST=IP:
JCL parameter, in Infoprint Server job attributes, and in printer definitions.
The pidu program is useful for creating and editing many objects at the same time. Also, it lets
you do some functions that you cannot do with Infoprint Server ISPF panels. For example,
you can export or dump objects in the Printer Inventory to a file, and you can do more
powerful searches of the Printer Inventory.
Before the pidu program can run, the Printer Inventory Manager daemon aopd must be
active.
In order to use the pidu program you must have a UID of 0 or be a member of the AOPADMIN
group and have access to the AOP.ADMINISTRATOR resource profile in the RACF
PRINTSRV class:
READ access is required to display, dump, export, or list objects in the Printer Inventory.
UPDATE access is required to create, delete, force-create, modify, or rename objects in
the Printer Inventory.
If the AOP.ADMINISTRATOR profile does not exist in the PRINTSRV class, READ access to
the AOPADMIN profile in the FACILITY class is required to do any functions.
pidu commands
pidu [-qv] [-c "command; ..."]... [filename]...
create -- Create a new object
delete -- Delete an object
display -- Display the attributes of an object
dump -- Dump all objects
export -- Generate create commands for all objects or only
objects that meet certain criteria
force-create -- Create an object and replace an object of the
same name and in the same object class if it exists
list -- List all objects or only objects that meet certain criteria
modify -- Modify attributes of an object
rename -- Rename an object
If you want your TSO user ID prefixed to the data set name, specify:
//MYFILE
To specify commands from stdin, omit the file name and the -c option.
pidu commands
Following are the pidu commands:
create Create a new object.
delete Delete an object.
display Display the attributes of an e object.
dump Dump all objects.
export Generate create commands for all objects or only objects that meet
certain criteria.
force-create Create an object and replace an object of the same name and in the
same object class if it exists.
list List all objects or only objects that meet certain criteria.
modify Modify attributes of an object.
rename Rename an object.
You can specify pidu commands in the -c option or in a file. The pidu command writes a
report of errors to standard error (STDERR) and writes informational messages and
command output to standard output (STDOUT).
Using AOPBATCH
You can invoke AOPBATCH in JCL with this EXEC statement:
//stepname EXEC PGM=AOPBATCH,PARM='pidu [-v] [-q]'
IBM provides sample JCL in the AOPPIDU member of SYS1.SAMPLIB for running the pidu
program using the AOPBATCH utility, as follows:
STDIN DD-statement specifies the pidu input source file or data set when the -c option is not
used.
When you restore the Printer Inventory, no print jobs are lost. However, information in the
Printer Inventory about jobs that were submitted through Print Interface is lost. This means
that users, including SAP R/3 users, are not notified when these jobs are completed, and
users cannot query the status of these jobs.
You can back up the Printer Inventory to either an HFS file, data set, or a data set in a
generation data group (GDG).
Rules:
Do not use copy commands to create a backup copy of the Printer Inventory because the
copy might contain inconsistent data that makes the Printer Inventory unusable.
To use the pidu and sdbu commands, you must be a member of the AOPADMIN group
and you must have UPDATE access to the AOP.ADMINISTRATOR resource profile in the
PRINTSRV class. (If your security administrator has not defined profile
AOP.ADMINISTRATOR, you must have READ access to the AOPADMIN profile in the
FACILITY class.)
The export command writes a create statement for each exported object to an output file.
The output file does not need to exist. However, if the file already exists, the file is replaced.
Where:
filename The name of the output file, which can be a UNIX file or an MVS
data set. If the data set is an MVS data set, specify // before the
filename. If you specify a fully qualified data set name, also
enclose the data set name in single quotation marks and code a
backslash before each single quotation mark.
objectclass The class of the objects that you want to export. If you
omit this operand, all objects are exported.
Tip: The Printer Inventory Manager daemon, aopd, must be dispatched so it can
respond to system events--for example, so the Infoprint Server ENF listener exit can
run. Depending on what other work is running in the system, you might need to create a
short first period with a higher importance to make sure the Printer Inventory Manager
is dispatched. As an alternative, you can assign daemon aopd by name to the SYSSTC
service class.
Assign the Infoprint Server daemons to a service class that uses a percentage response
time goal for all except the last period. Use a velocity goal for the last period to handle
long-running transactions, such as a transform. You can use the service-units-per-second
value reported in the RMF SYSRPTS WLMGL options report to determine duration
values. You can either create a service class for Infoprint Server daemons similar to the
OMVS user service class, or you can use the same service class that you use for OMVS
users.
This example shows a service class definition for service class OMVSDMN, which is used
for Infoprint Server daemons:
# Duration Imp Goal description
- --------- - ----------------------------------------
1 400 3 80% complete within 00:00:00.500
2 400 4 60% complete within 00:00:01.000
3 5 Execution velocity of 40
Assign the TNG name that you defined for Infoprint Server to the service class in
Classification Rules, under the OMVS subsystem type.
This example shows the TNG named AOP, assigned to service class OMVSDMN, using
the report class RAOP.
Subsystem Type . : OMVS
Description . . . OpenEdition MVS/UNIX
Qualifier Qualifier Starting Service Report
# type name position Class Class
- ---------- -------------- --------- -------- --------
1 TNG AOP ___ OMVSDMN RAOP
Print Interface also provides a line printer daemon (LPD) that lets you submit print requests
from remote workstations that have TCP/IP access. In addition, Print Interface can receive
print requests from remote workstations that use the Internet Printing Protocol (IPP) or the
Server Message Block (SMB) printing protocol, which is standard on Windows systems. Print
Interface also provides an SAP R/3 Output Management System that can receive SAP R/3
print requests.
Print Interface runs as a UNIX application that uses the services of z/OS UNIX System
Services. Print Interface accepts data in any format, including but not limited to these formats:
Line data
MO:DCA-P (also known as AFP)
PostScript
PDF
PCL
SAP (OTF and ABAP)
XML
Text
Each remote print request specifies the name of a printer definition in the Printer Inventory.
The printer definition can describe a printer or an e-mail destination. If local job submitters
specify a printer IP address on an OUTPUT JCL statement (in the DEST=IP: parameter), but
does not specify a printer definition name in the FSSDATA parameter, IP PrintWay uses
values specified in the IP PrintWay default printer definition (DFLTNTRY). Print Interface
uses information in the printer definition to determine how to process or transform the input
data.
Print Interface can, in most cases, automatically detect the data format of the input data and
validate that the printer accepts that data format. It can convert data to EBCDIC or ASCII and
Transform Interface
This chapter describes also how to customize the Transform Interface component of Infoprint
Server. Transform Interface communicates with transforms that other IBM Infoprint transform
products provide.
Transforms convert data from one format to another, for example, from PCL to AFP format
and from AFP to PDF format.
When processing a print request, Print Interface, NetSpool, and IP PrintWay extended mode
call Transform Interface to transform data from one format to another if the administrator
specifies a transform filter in the printer definition. The administrator can specify a different
transform filter for each data format. Infoprint Server and Infoprint transforms provide these
transform filters:
aoprxf.so: This filter sends data to Infoprint Transform Manager for Linux to be
transformed.
aoprform.dll: This filter sends data to Infoprint Manager for AIX or Windows for transform.
An Infoprint transform filter: Some Infoprint transform products provide transform filters.
For example, Infoprint Transform for AFP to Adobe PDF for z/OS provides the afp2pdf.dll
filter, which transforms data from AFP to PDF format.
IP PrintWay basic mode transforms data by resubmitting it to the Print Interface
component. This function is called the resubmit for filtering function.
z/OS job submitters can specify one of these z/OS UNIX commands to transform data without
printing it:
remotexf command: This command sends data to Infoprint Transform Manager for Linux
for transform.
An Infoprint transform command: Some Infoprint transform products provide z/OS UNIX
transform commands. For example, Infoprint Transform for AFP to Adobe PDF for z/OS
provides the afp2pdf command, which transforms data from AFP to PDF format.
In the LPR/LPD printing model a group of hosts request services from a line printer daemon
process running on a host. The services provided by the process are related to printing jobs.
A printing job produces output from one file. The jobs are requested by users that have
names. The specification of the protocol includes file formats for the control and data files as
well as messages used by the protocol.
RFC 1179
The LPR to LPD protocol is one of the protocols that Infoprint Server uses to accept print
requests and to send print data. RFC 1179 describes the existing print server protocol, which
is widely used on the Internet for communicating between line printer daemons (both clients
and servers). The protocol describes in detail how a line printer daemon client requests and
controls printing.
LPR is a TCP-based protocol. The port on which a line printer daemon (LPD) listens is 515.
The source port must be in the range 721 to 731, inclusive. An LPD responds to commands
sent to its port. Many UNIX operating systems provide line printer spooling with a collection of
programs:
lpr Assign to queue
lpq Display the queue
lprm Remove from queue
lpc Control the queue
These programs interact with an autonomous process called the line printer daemon (LPD).
Note: The lpr and lpq commands are supported on various platforms such as TSO/E,
z/VM, AS/400®, AIX, HPUX, and UNIX platforms.
Print Interface, IP PrintWay extended mode, and the SNMP subagent support IPv6. If you
enable or disable IPv6 while Infoprint Server daemons are running, you must stop and restart
the LPD (aoplpd), the IPP Server daemon (aopippdxp), the IP PrintWay extended mode
daemons (aopoutd and aopwsmd), and the SNMP subagent daemon (aopsnmpd).
Print Interface, with support that the z/OS SMB server provides, lets Windows users print
using the standard Windows Server® Message Block (SMB) protocol. Print Interface
validates that the document can print on the selected printer, transforms data from one format
to another (optional), and allocates output data sets on the JES spool. Print Interface can also
provide job status to the z/OS SMB server.
To submit a print request over the Internet using the IPP protocol, the user’s workstation must
contain an IPP client. Using an IPP client, the job submitter can print any document (not only
Web documents) on any printer defined in the Printer Inventory. The user must first define the
printer to the IPP client on the workstation. For example, on a Windows 2000 system, the
user must define the printer to Windows as an Internet printer.
Infoprint Server also supports printing from a Windows system with the Server Message
Block (SMB) protocol and the Internet Printing Protocol (IPP). To use these protocols,
Windows users do not need to install the Infoprint Port Monitor for Windows.
Typically, one printer definition is created for each printer. However, creating printer
definitions to be used just with the Print Interface subsystem is simplified because it is
necessary to create only one printer definition for all printers that share the same attributes.
The print jobs must specify the JCL parameters that are required to direct the output to the
desired printer.
The following example shows the DD and OUTPUT statements that are used to direct output
to a PSF printer named anyafpprinter:
//JOB1 JOB ...
//STEP1 EXEC PGM=USERA
//OUTDS1 OUTPUT CLASS=F,DEST=PRT003
//DD1 DD SUBSYS=(AOP1,'anyafpprinter'),OUTPUT=(*.OUTDS1)
In general, to direct an output data set to IP PrintWay, you must specify on the DD or
OUTPUT JCL statement for a print data set the work-selection criteria defined to JES for the
IP PrintWay basic mode functional subsystem application (FSA) or the job-selection criteria
defined in the Printer Inventory for IP PrintWay extended mode.
TCP/IP
Server
Print Interface Transform
AOPLPD 515 Manager
HFS
Printer
Inventory
JES Spool Transforms
Windows lpr command: lpr -S server -P printer [-C class] [-J job] [-o option] [-x] [-d] filename
Print requests
Print request can be submitted to Infoprint Server with commands that use the LPR to LPD
protocol:
LPR and LPQ commands from TSO/E, z/VM, HPUX, AS/400, UNIX, and Windows
systems. An example of lpr command is the Windows command:
lpr -S server -P printer [-C class] [-J job] [-o option] [-x] [-d] filename
-S server Name or ip address of the host providing lpd service
-P printer Name of the print queue
-C class Job classification for use on the burst page
-J job Job name to print on the burst page
-o option Indicates type of the file (by default assumes a text file)
-d Send data file first
lpr, enq and qstat commands from AIX systems.
The Print Interface LPD accepts print requests from clients that use the LPR to LPD protocol,
detects the input data stream and using Printer Inventory printer definitions validates that
The LPD compatibility filter provides support that is similar to the support that the z/OS
Communications Server LPD provides. For example, with the LPD compatibility filter, the
Print Interface LPD supports the p command code, which lets you print a header with a page
number on each page. The LPD compatibility filter also lets job submitters and the
administrator specify the -f, -l, and -w filter options, which correspond to the FILTER,
LINECOUNT, and WIDTH parameters of the TCP/IP LPR command.
The LPD compatibility filter can be used for printing to PSF-controlled printers and to other
printers that print line data.
Guidelines
If you want the functions that filter lpd_compat.so provides, specify it for the Text and Line
data formats in PSF printer definitions, General printer definitions, and in IP PrintWay printer
definitions when you select the VTAM protocol.
Do not specify filter lpd_compat.so in IP PrintWay printer definitions except when you select
the VTAM protocol.
HFS
Printer
Validate Inventory
LPR Print toiaz
TCP/IP
Interface
Store
JES
WTSC43 TSO/E Workstation: Spool
LPR U.PRINT(STUFF) ( HOST WTSC65 PRINTER toiaz
Print Interface can reject documents with data formats that the printer does not support or that
are too large to print on the selected printer. If Print Interface cannot determine the input data
format, the data format defaults to other.
Spool space for the print data in the request is dynamically allocated from the JES. The print
request characteristics are taken from the Printer Inventory entry for the specified printer.
Transform
Manager
HFS
Printer JES2 or
Inventory JES3 Spool Infoprint Server
Transforms
lp [-cmsw] [-d destination] [-n copies] [-o option] ... [-t title] [filename ...]
lpstat [-dt] [-a [printername ]] [-o [printername ]] [-p [printername]] [-u [ userid]] [jobid]
cancel jobid
Print requests
The Print Interface component of Infoprint Server processes print requests received from
both remote clients and local users such as TSO/E and the OMVS shell user.
Note: Because Infoprint Server does not produce any messages regarding this print
request arriving on the JES spool, our user modification puts the AOPD001 message in the
SYSLOG to indicate the user ID of the submitter, the jobid assigned to the print request,
PS000253, and the IP address in the form domain name where Infoprint Server is running.
Workstation
HFS
z/OS UNIX System Services
Printer
Inventory
TSO/E
lpr command BPXAS
UNIX System
TCP/IP Services
IPP request abc.ps process
- ipp.pcl TCP/IP
URL lp command
http://host:port/servlet/IPPServlet/pokeps to port 631 Print Interface
aopippd (631) xyz.pcl
TCP/IP aoplpd(515)
Workstation aopxfd
BPXAS
BPXAS BPXAS
OUTADD OUTADD
DYNALLOC DYNALLOC
ipp.pcl xyz.pcl
wrk.pdf
lpr Command abc.ps
- wrk.pdf
lpr -S host -P printer -o l data_set to port 515
wrk.pdf xyz.pcl
JES Spool
abc.ps ipp.pcl
Output characteristics
The OUTADD macro is used by Print Interface to create output descriptors from the
characteristics defined in the Printer Inventory entry for a target printer.
From a JES perspective, the SYSOUT data set is queued to the BPXAS job that dynamically
allocates a data set to the spool.
Infoprint Server assigns its own unique job-ID to the spooled print data set using the job-prefix
that is defined in the Infoprint Server configuration file /etc/Printsrv/aopd.conf.
Note: JES also assigns a unique z/OS job ID to each output data set. The JES job ID
might be different from the job ID of the output data set on the JES spool. JES operator
commands use this JES job ID.
The job ID that Print Interface returns to the job submitter does not contain this prefix.
Figure 4-10 Specifying z/OS UNIX default printer and environment variables
Environment variables
You can set environment variables for all users of the lp, lpstat, and cancel commands in
the /etc/profile file:
AOPOPTIONS Specifies a string of job attributes and values that are to be in effect for
each lp command. The lp command includes the attributes specified in
this environment variable before the attributes specified, if any, on the -o
option of the lp command. Because the lp command reads the value of the
AOPOPTIONS environment variable before the options you specify on the
Tip: Add the new directory path before /usr/man/%L in the MANPATH variable so that the
Infoprint Server versions of the lp, lpstat, and cancel man pages will be displayed.
PRINTER or LPDEST
The PRINTER or LPDEST variable specifies the default printer for the lp command. The
value in LPDEST overrides the value in PRINTER. This variable is optional. You can also use
Infoprint Serve ISPF panels to define a default printer. The printer named in either LPDEST or
PRINTER overrides the printer named on the ISPF configuration panel.
Note: To use the z/OS UNIX printing commands, you do not need to start any daemons in
addition to the Printer Inventory Manager daemon.
Attribute files
You can predefine attribute and value pairs in permanent files. You can use the permanent
attribute files when you need those attribute values with the lp, afp2pcl, afp2pdf, afp2ps, and
remotexf commands. You can also use the permanent attribute files when you need to
specify those values with the AOPPRINT JCL procedure and when you use the Print
Interface subsystem.
Note that you can include a number sign, #, as part of an attribute value if you precede it
immediately with a backslash, \#.
The value of input-tray in special.att overrides the value in default.att because you specified
special.att last.
Note: You can use the SETOMVS or SET OMVS command to dynamically increase the
MAXPROCUSER and MAXPROCSYS values.
job-prefix = prefix
A prefix that Print Interface and NetSpool use for the job IDs of output data sets that they
allocate on the JES spool. For example, if you specify prefix IS, the job ID of a print job might
be IS001234. This prefix can help you identify data sets that Print Interface and NetSpool
allocate on the JES spool.
JES assigns a unique z/OS job ID to each output data set. The z/OS job ID might be different
from the job ID that the Infoprint Server assigns to print requests. JES operator commands
use z/OS job ID.
The job ID that Print Interface returns to the job submitter does not contain the prefix.
If you change this attribute while Infoprint Server is running, stop and restart all Infoprint
Server daemons so that your changes take effect.
Default: job-prefix = PS
ascii-codepage
Specify the default ASCII code page Print Interface uses when it converts data between
ASCII and EBCDIC. If not specified, the default is code page ISO8859-1.
log-retention
Specify how many days worth of messages Print Interface writes to the common message
log. If not specified, Print Interface writes messages only to the console log.
ipp-port-number
The number of the port at which the IPP server waits for print requests. Port 631 is the
well-known port for communication between IPP clients and IPP servers. If you specify a port
other than 631, make sure that the port is not used by any other service on the z/OS system.
If you change this attribute while Infoprint Server is running, stop and restart the IPP daemon.
start-daemons
The Infoprint Server daemons that are started when you use the aopstart command. You
can specify one or more of these daemon names, enclosed in braces.
start-daemons = {lpd ippd} starts aoplpd daemon and the IPP Server daemon aopippdxp.
The AOPPRINT JCL procedure in SYS1.PROCLIB uses the lp command to submit print
requests.
//*------------------------------------------------------------------
//* AOPPRINT - z/OS Print Server batch print procedure
//*------------------------------------------------------------------
//AOPPRINT PROC PRINTER='p1',OPTIONS=,OUTCLASS='*',ERRCLASS='*'
//LP EXEC PGM=AOPBATCH,
// PARM='/lp -d &PRINTER -o "&OPTIONS" //DD:SYSIN'
//STDOUT DD SYSOUT=&OUTCLASS
//STDERR DD SYSOUT=&ERRCLASS
//* STDENV may point to a dataset containing environment variables.
//* Builtin values will work for the default installation.
//*STDENV DD DSN=USERID.JCL(ENVVARS),DISP=SHR
To use the AOPPRINT procedure, you do not need to start any daemons in addition to the
Printer Inventory Manager daemon.
The returned job ID can be use in the lpstat and cancel commands to query and cancel the
job. (The JES3 output service inquiry command supports CJ= client job parameter to display
SYSOUT data sets using the Infoprint Server job ID.) The SYSOUT data set that AOPPRINT
procedure creates has the same job name and job ID as the job that ran the AOPPRINT
procedure.
IPP support
The Internet Printing Protocol (IPP) [RFC2911, RFC2910, RFC2567, RFC2567, RFC2568,
RFC2569, RFC2708, RFC2910, RFC2911, RFC3995, and RFC3996] is an application level
protocol that can be used for distributed printing using Internet tools and technologies.
The IPP protocol is heavily influenced by the printing model introduced in the Document
Printing Application (DPA) [ISO10175] standard. There are two parts to the Protocol: (1) the
encoding data and (2) the mechanism for transmitting the data between client and server:
1. A simple binary encoding has been chosen. It has a simple structure consisting of
sequences of attributes. Each attribute has a name, prefixed by a name length, and a
value.
2. The mechanism for transmitting the encoded data is HTTP (and associated response). No
modifications to HTTP are required.
Print Interface provides an Internet Printing Protocol (IPP) server, which accepts print
requests from any client that uses the IPP protocol. The Print Interface IPP server supports
Do not confuse the IPP client that sends print requests to the Print Interface IPP server with
the IPP client that is part of the IP PrintWay component. The IPP client in IP PrintWay
transmits output data sets from the JES spool to IPP servers running in a remote printer or
host system.
An IPP client can specify IPP job attributes with a print request. The Print Interface IPP server
supports some of the IPP job attributes that have corresponding Infoprint Server job
attributes:
Job-name
Job-priority
Requesting-user-name
Copies
Optional task:
Set environment variables for the IPP Server configuration
The users must also specify the Uniform Resource Identifier (URI) for Inforint Server:
http://host:port/printers/printername
http://host:port/servlet/IPPServlet/printername
AOPJAUTH job
Infoprint Server provides sample job AOPJAUTH in SYS1.SAMPLIB, which you can use to
APF-authorize Java libraries. AOPJAUTH authorizes all Java 1.4 libraries that are installed in
default Java directories on your z/OS system. Do the following:
To run AOPJAUTH, you must have at least READ access to the BPX.FILEATTR.APF
FACILITY class profile. Also, you must have superuser authority (UID of 0) or access to
the BPX.SUPERUSER FACILITY class profile.
If you did not install Java in the default Java directories, edit the AOPJAUTH procedure to
specify the directories in which you installed Java libraries.
If you edit AOPJAUTH, do not modify the PARM parameter for the AOPBATCH program
on the EXEC statement. Also, because the STDIN DD statement contains executable
z/OS UNIX commands, make sure that these lines do not contain sequence numbers in
columns 73 - 80.
Note: When maintenance is applied to Java, APF authorization is lost. Therefore, you must
rerun AOPJAUTH or the extattr command.
Example:
cd /usr/lpp/java/J1.4/bin/
extattr +a *.so
cd classic
extattr +a *.so
z/OS Communications Server also provides an LPD (LPSERVE) on the z/OS system. You
must decide whether to run:
Only the Print Interface LPD
Both the Communications Server LPD and the Print Interface LPD
Recommendation: IBM recommends that you run only the Print Interface LPD, without
the Communications Server LPD, for these reasons:
The Print Interface LPD provides comparable function to the Communications Server
LPD. The Print Interface LPD is suitable for most clients that currently use the
Communications Server LPD.
If you run both the Print Interface LPD and the Communications Server LPD on the
same system, you must configure two TCP/IP stacks so that you can use all functions
that Infoprint Server provides.
For example, if you configure two stacks, one named TCPIP and another named TCPIPOE,
and you want Infoprint Server to use the TCPIPOE stack, specify
_BPXK_SETIBMOPT_TRANSPORT=TCPIPOE. You must set variable
_BPXK_SETIBMOPT_TRANSPORT in the aopstart EXEC. If you do not specify this
environment variable, the z/OS Communications Server uses its standard search mechanism
to determine the TCP/IP stack to use.
TCPCONFIG statement
INTERVAL minutes SENDGARBAGE TRUE
10 minutes
TCPRCVBFRSIZE buffersize => 32768
TCPSENDBUFRSIZE buffersize => 32768
AUTOLOG statement
When only Infoprint Server LPD is used - remove
LPSERVE procedure name
JES spool limits limit considerations
TCPCONFIG statement
The TCPCONFIG statement in the TCPIP profile data set updates the TCP layer of TCP/IP.
TCPCONFIG INTERVAL 10 SENDGARBAGE TRUE TCPRCVBUFRSIZE 32768 TCPSENDBFRSIZE
32768
This is a sample TCPCONFIG statement that you might want to include in the profile data set.
An explanation of the parameters and considerations for both Print Interface and IP PrintWay
follows.
INTERVAL minutes SENDGARBAGE TRUE
Number of minutes TCP waits after receiving a packet for a connection before it sends a
keep-alive packet for that connection.
IP PrintWay relies on TCP to detect when a connection with the receiving system is no
longer usable by sending keep-alive packets. Therefore, if you plan to use IP PrintWay,
consider specifying a shorter interval than the default, which is approximately two hours.
You can also specify some of these parameters on other Communications Server
statements. The settings from the last statement processed are used.
AUTOLOG statement
The AUTOLOG statement tells TCP/IP which procedure names to start. If you want to run
only the Infoprint Server LPD and not the Communications Server LPD, remove or comment
out the LPSERVE procedure name from the AUTOLOG statement. Use a semicolon in the
first column to indicate the line is a comment.
Example:
AUTOLOG
.
.
; LPSERVE ; LPD Server
The _BPX_UNLIMITED_OUTPUT environment variable lets z/OS UNIX programs that have
an effective UID of 0 and run in their own address space (such as the Infoprint Server
daemons) continue processing when they exceed their spool limit. In this case, the JES spool
limit for each program is fixed at slightly less than 1 GB, with large spool limits for lines and
AFP pages. Spool limits and JES actions specified in JES initialization statements or on the
JOB JCL statement do not apply.
When the spool limit is reached, JES displays a warning message on the system console and
lets the program continue. You can specify the interval at which the warning message is
displayed in these JES initialization statements:
JES2: ESTBYTES, ESTLINES, and ESTPAGES statements
JES3: STANDARDS statement
aopd.conf configuration
start-daemons = { subd }
Increasing maximum number of active transform
daemons if batch jobs require transforms
Customizing aopxfd.conf
The Print Interface subsystem validates that a data set can print on the printer and calls the
data stream transform, or other filter, requested in the printer definition. The subsystem then
allocates an output data set on the JES spool using job attributes and JCL parameters
specified on the DD JCL statement, the associated OUTPUT JCL statement, and values
specified in the Allocation section of the printer definition. Each output data set is placed in a
separate JES output group. The output data set can be printed on any printer, including
printers that PSF and IP PrintWay control.
To start the subd daemon, issue aopstart command in the z/OS OMVS shell or START
AOPSTART operator command.
Because this name is also the name of the Printer Inventory, if you change this name after the
Printer Inventory Manager has been started, you must stop and restart all Infoprint Server
daemons. You must also stop and restart all other components and products that specify this
Inventory name in their startup procedures. You must stop and restart the NetSpool task and
IP PrintWay basic mode. If the PSF startup procedure specifies the name of the Printer
Inventory, you must also stop and restart PSF.
Default: inventory = AOP1
This example shows how to submit output to the Print Interface subsystem named AOP1:
//DD1 DD SUBSYS=(AOP1,'myprinter')
If errors are made coding the SUBSYS DD statement parameter, the job will be failed by the
MVS Converter/Interpreter. Error messages show what kind of mistake was found. For
example:
IEFC746I SUBSYSTEM subsystem_name DOES NOT EXIST
AOP001E Printer 'printer_definition_name' is not defined.
The Infoprint Server Transform Manager requires this configuration file. The Transform
Manager manages transforms, which convert data streams to another format. Create an
entry for each transform. If you want to specify different environment variables for the same
transform for different printing situations, you can create different classes of the transform. If
you define transform classes, create a separate entry for each transform class.
Each transform entry consists of a set of attributes, starting with the transform attribute and
ending with a semicolon. The following shows the general format of a transform entry and
defines the attributes in the transform entry that are common for all transforms:
transform name<_transformclass>
start-command = command # command to start transformer
start-directory = directory # directory in which to start transformer
# (default = current directory)
maximum-idle-time = seconds # amount of time allowed to pass before
# shutting down an idle transformer
# (default = no shutdown)
minimum-active = number # minimum of this class concurrently active
# (default = 0)
maximum-active = number # maximum of this class concurrently active
# (default = no maximum)
environment = { # environment variables to be set
variable -> value ... # before starting transformer
}
;
Recommendations: If you use the Print Interface subsystem in your installation, do not
specify too low a value because jobs that use the subsystem and write multiple data sets
might not be able to complete. To avoid having many transform daemons active, consider
specifying either maximum-active or maximum-idle-time, or both.
Maximum-active considerations
Edit the maximum-active attributes in the transform configuration file, aopxfd.conf. To
increase the maximum number of active transforms. consider setting a higher number. Very
large print jobs might take several minutes or even an hour to transform. As a result, a
transform daemon might not be available to service other transform requests. If the other
transform requests are delayed long enough, the requesting programs might timeout and fail.
Environment variables
The environment variables override environment variables with the same names that you set
in the aopstart EXEC. The aopstart EXEC also picks up selected environment variables from
the run-time environment.
You can specify the _BPX_JOBNAME environment variable in each transform entry to assign
a different job name to each class of transform daemon. By default, the job name of each
transform daemon is AOPXFD. When you assign a different job name to each class of
transform daemon, the operator can manage the transform daemons more effectively.
Updating transforms
If you modify a current transform, you should stop and restart the Transform Manager
daemon to pick up the changes.
Infoprint Server
Transforms 4
IP PrintWay
(extended mode)
Other
IP PrintWay (basic mode) Transforms
Resubmit for filtering
Users of transforms:
1. Before writing data to the JES spool, Print Interface, Print Interface Subsystem, NetSpool,
and IP PrintWay extended mode can use transform filters that Infoprint Server Transforms
and other optional transform products provide to transform print data formats. To use
transforms automatically, an administrator must specify the transform filter for each data
format in the printer definition. Administrators and job submitters can specify transform
filter options to customize the transforms.
IP PrintWay basic mode can resubmit data sets to Print Interface to transform data. The
administrator must specify the transform and select the Resubmit for filtering option in
the printer definition.
2. z/OS UNIX transform commands provided with Infoprint Server Transforms and other
optional transform products let users transform data format without printing it.
3. The Transform Manager manages the transform daemons and controls how many
transform daemons are active at one time. The Transform Manager does not manage the
Using transforms
Print Interface can automatically invoke a transform before writing data to the JES spool. The
administrator must specify the transform in the printer definition.
IP PrintWay basic mode can resubmit data sets to Print Interface to transform data. The
administrator must specify the transform and select the Resubmit for filtering option in the
printer definition.
IP PrintWay extended mode can automatically invoke a transform before sending data to the
printer or e-mail destination. The administrator must specify the transform in the printer
definition.
NetSpool can automatically invoke a transform after converting SCS and 3270 data to either
the line or PCL data format. The administrator must specify the transform in the printer
definition
NetSpool can convert SCS and 3270 data to the line or PCL data format without using
transforms that Infoprint Server Transforms and other transform products provide. The
administrator simply selects either the Convert to line or Convert to PCL option in the printer
definition.
Job submitters can invoke transforms directly using the z/OS UNIX transform commands,
such as pcl2afp and ps2afp.
Infoprint Transforms
Infoprint Transforms V2.1 consists of these separately priced products:
Infoprint Transforms to AFP V2.1 for z/OS (5655-N60). It provides these transforms:
– PCL to AFP transform converts Printer Control Language (PCL) 6 (XL, 5, 5c, 5e) data
streams to AFP (MO:DCA-P) data streams.
– PDF to AFP transform converts PDF 1.4 data streams to AFP (MO:DCA-P) data
streams.
– PostScript to AFP transform converts PostScript Language Level 3 to AFP
(MO:DCA-P) data streams.
– SAP to AFP transform converts SAP R/3 SAPGOF Release 4.6C to AFP data streams.
It converts Output Text Format (OTF) data streams to MO:DCA-P data streams and
Advanced Business Application Programming (ABAP) data streams to line data
streams.
Infoprint Transform for AFP to Adobe PDF V2.1 for z/OS (5655-P20).
This transform converts AFP data streams to PDF 1.4 data streams.
Infoprint Transform for AFP Adobe PostScript V2.1 for z/OS (5655-P21)
This transform converts AFP data streams to PostScript Language Level 3 data streams.
Infoprint Coaxial Printer Support V2.1 for z/OS (5655-N62)
– This product converts line data streams to Data Stream Compatibility/Data Stream
Extended (DSC/DSE) and SNA Character String (SCS) data streams and, with IP
Transforms to AFP
The Transforms to AFP feature and the Kanji AFP Print feature are available at no additional
charge to customers who have purchased Infoprint Server. This feature consists of these
transforms that convert data streams to monochrome Mixed Object Document Content
Architecture for Presentation (MO:DCA-P) data streams, which can be printed on IBM AFP
printers:
PCL to AFP Transform
This transform converts Printer Control Language (PCL) 5 or 5e data streams to
MO:DCA-P data streams.
PDF to AFP Transform
This transform converts Adobe Portable Data Format (PDF) 1.2 data streams to
MO:DCA-P data streams. (The PDF to AFP transform supports PDF 1.3 except for
Compact Font Format support.)
PostScript to AFP Transform
This transform converts PostScript Language Level 3 data streams to MO:DCA-P data
streams.
SAP to AFP Transform
This transform converts SAP R/3 SAPGOF Release 4.6C (and lower releases) data
streams. It converts Output Text Format (OTF) data streams to MO:DCA-P data streams
and Advanced Business Application Programming (ABAP) data streams to line data
streams.
Each transform provides:
A z/OS UNIX command which you can use to transform data in a z/OS UNIX file or MVS
data set without printing it. The z/OS UNIX transform command creates an output file,
which you can later print or transmit to another system for viewing or printing. The z/OS
UNIX commands are:
afp2pcl, afp2pdf, afp2ps, pcl2afp, ps2afp, pdf2afp, and sap2afp.
A filter that lets Infoprint Server automatically transform data before sending it to the printer or
e-mail destination.
Note: Infoprint Server Transforms V1.1 for z/OS (5697-F51) is no longer in service.
Although Infoprint Server continues to work with Infoprint Server Transforms V1.1, you
should use the replacement transform products instead.
Infoprint Server lets you transform data formats remotely using Infoprint Transform Manager
for Linux (5639-P51) transforms. You can use the new remotexf command to transform files
remotely. Infoprint Transform Manager for Linux transforms convert files to AFP format from:
Adobe Portable Document Format (PDF) 1.5
Adobe PostScript Language Level 3
Graphics interchange format (GIF)
HP Printer Control Language (PCL) 6
You might need to increase the maximum number of allowed sockets specified in the
BPXPRMxx member of SYS1.PARMLIB. Specify at least 200 in the MAXSOCKETS
parameter on the NETWORK statement for AF_UNIX file systems. Although a
MAXSOCKETS value of 200 is suitable for most installations, you might need to specify a
MAXSOCKETS value of 400 to make sure that UNIX sockets are always available when
needed.
You do not need to create this file in order to use Infoprint Transform Manager for Linux or
Infoprint Manager for AIX/Windows transforms.
In the transform configuration file, you can specify options and environment variables that
affect the transform. These options and environment variables apply whether Print Interface
invokes the transform automatically or whether the user invokes the transform with a
transform command.
To create and edit the transform configuration file you must be running with effective UID of 0.
If you change the configuration file while the Transform Manager is running, restart the
Transform Manager to pick up the changes:
aopstop -d xfd
aopstart
Transform classes
For each transform, you can define one or more transform classes in the transform
configuration file (optional). Transform classes let you transform data with different transform
options and environment variables. For each transform class, you can specify a different set
of options and environment variables.
For example, if you want to transform PCL data to AFP format for printers that have different
resolutions or paper sizes, you would define a transform class for each combination of printer
resolution and paper size and specify the resolution and paper size in environment variables
that are specific for the transform class. The sample transform configuration file,
/usr/lpp/Printsrv/samples/aopxfd.conf, defines several sample transform classes.
To use a transform class, the administrator or the job submitter must specify the transform
class:
The administrator specifies the transform class in the printer definition in the -c filter
option. For example, in the Filter field for the PCL data format, specify:
pcl2afp.dll -c letter_300
The job submitter specifies the transform class on the z/OS UNIX transform command in
the -c option. For example:
pcl2afp -c letter_300 -o myfile.afp myfile.pcl
Filter programs
In Infoprint Server, a filter is a program that can add, delete, or modify input data. Infoprint
Server provides support for two types of filter programs:
DLL filters: A DLL filter is one that resides in a dynamic link library (DLL) and that can
inspect input data and perform various functions, such as convert data formats, add
header pages, and specify job attributes.
UNIX filters: In UNIX operating systems, a program that obtains data from standard input
(STDIN) and returns the results to standard output (STDOUT).
Some transforms provide a DLL filter program that converts the data. A filter is a program that
modifies the input data before it is sent to the printer. In a printer definition, you can associate
a filter with an input data format (line data, MO:DCA-P, PCL, PDF, PostScript, SAP, XML,
text, or other).
When you associate a filter with a data format, Print Interface, NetSpool, or IP PrintWay
extended mode automatically calls the associated filter when the document to be printed
contains that data format. IP PrintWay basic mode can also call an associated filter using the
resubmit for filtering function.
transformname
The name of the transform, for example, pcl2afp or ps2afp.
transformclass
The name of a transform class. Specify from 1 to 63 characters, including letters,
numbers, or special characters.
Default: If you omit the transform class from the transform entry, this transform
entry is used when no transform class option (-c) is specified either in the printer
definition or by the job submitter.
NOTE: Currently, each instance of the transform can output one paper size and resolution,
so it is necessary to configure a transformer class for each combination.
ENVIRONMENT VARIABLES:
AOP_PAGE_HEIGHT page height given in inches (i) or millimeters (m) Default: 11i
AOP_PAGE_WIDTH page width given in inches (i) or millimeters (m) Default: 8.5i
AOP_RESOLUTION output resolution given in pixels Default: 240
AOP_HORIZONTAL_MARGINS left/right margins given in inches (i) or millimeters (m). Default:0.167
AOP_VERTICAL_MARGINS top/bottom margins given in inches (i) or millimeters (m). Default:0.167
EXAMPLE:
transform pcl2afp
start-command = pcl2afpd
minimum-active = 1
maximum-active = 3
maximum-idle-time = 1200 # 1200 seconds (20
minutes)
environment = {_BPX_JOBNAME -> PCL2AFPD
AOP_PAGE_HEIGHT -> 11i
AOP_PAGE_WIDTH -> 8.5i
AOP_RESOLUTION -> 240
AOP_HORIZONTAL_MARGINS -> 0.167i
AOP_VERTICAL_MARGINS -> 0.167i }
;
Example:
environment = {AOP_RESOURCE_PATH -> /usr/lpp/Printsrv/ps2afp}
You can define the _BPX_JOBNAME environment variable in each transform entry to assign
a different job name to each class of transform daemon. By default, the job name is the user
ID of the user who starts Infoprint Server. Assigning a different job name to each class of
transform daemon lets the operator manage the transform daemons more effectively. You
can specify a job name of 1 to 8 alphanumeric characters. Incorrect job names are ignored.
NOTE:
An initialization file is required. The start-command line option "-i" is used to specify the initialization
file. The default initialization file (ps2afpe.ps.bin) is installed in the transform resources directory.
ENVIRONMENT VARIABLES:
AOP_RESOURCE_PATH - Directories containing the transform resources.If the transform resources
are in more than one directory, list all directories separated by colons; the directories are searched
in the order they are listed. You do not need to list the default location for transform resources files,
/usr/lpp/Printsrv/ps2afp because the default directory is always searched last.
DEFAULT: /usr/lpp/Printsrv/ps2afp
EXAMPLE:
This example illustrates the use of AOP_RESOURCE_PATH env variable to specify a directory containing
configurable resources, e.g. UserInit and preload.ps (see "Infoprint Transforms to AFP for z/OS"
G550-0443-01 for info on PostScript/PDF-to-AFP transform configuration).
transform ps2afp
start-command = "ps2afpd -i ps2afpe.ps.bin"
minimum-active = 1
maximum-active = 3
maximum-idle-time = 1200 # 1200 seconds (20 minutes)
environment = {
AOP_RESOURCE_PATH -> /usr/lpp/Printsrv/ps2afpv2/lib:/usr/lpp/Printsrv/ps2afpv2/Resource:
/usr/lpp/Printsrv/ps2afpv2/fonts }
;
If you want Print Interface to automatically call the PostScript to AFP transform or the PDF to
AFP transform before writing data to the JES spool, the administrator must specify the
transform DLL in the Filter field of printer definitions in the Printer Inventory. In the printer
definition, the administrator can also specify transform options, such as the type of AFP
images to create; the resolution, length, and width of the output images; and the transform
class to use. The user can specify the same transform options (1) on the ps2afp and pdf2afp
commands and (2) in the filter-options job attribute when submitting a print request.
PostScript data is usually in ASCII representation. However, the PostScript to AFP transform
can also process PostScript data in EBCDIC representation. Print Interface converts an
EBCDIC data stream that starts with %! (X'6C5A') from EBCDIC code page IBM-1047 to
ASCII code page ISO8859-1. You cannot customize these code pages.
Note: The Infoprint Transforms to AFP for z/OS transform (5655-N60) does not use the
PostScript initialization file UserInit and preload.ps
Environment variables for the PDF to AFP and PostScript to AFP transforms:
_BPX_JOBNAME
The job name for this transform.
_CEE_DMPTARG
The directory where Language Environment (LE) writes a CEEDUMP. The transform’s
current working directory is base-directory/xfd/ps2afp.#.d.
AOP_FAIL_ON_ERROR
Specifies whether the transform stops processing when an error occurs during the
transform.
AOP_FONT_SUBSTITUTION_MESSAGES
Indicates whether the transform writes a message (AOP2500W) in the transform’s
stderr file when it substitutes fonts in a document if no other errors occurred.
AOP_RESOURCE_PATH
The directories that contains fonts and other transform resources. If the fonts and other
resources are in more than one directory, list all directories separated by a colon.
Default: AOP_RESOURCE_PATH -> /usr/lpp/Printsrv/ps2afpv2/lib:
/usr/lpp/Printsrv/ps2afpv2/Resource: /usr/lpp/Printsrv/ps2afpv2/fonts
Setting up security
Security checking done in the transform requires that the user identifier (UID) of the
executable file for the transform, ps2afpd, not be 0 (zero). When it is installed, file ps2afpd
has a UID of 0. Therefore, you must change the owner of the file. The new owner must have
a UID that is not 0 and not the default UID. Also, the set-user-ID flag for the file must be
turned on.
Figure 4-28 Security for the PostScript and PDF to AFP transform
First use the Resource Access Control Facility (RACF), or another program that follows
system authorization facility (SAF) protocol, to create a user and group profile for the owner of
ps2afpd. Then, change the owner of ps2afpd and turn on the set-user-ID flag.
For example, this RACF command defines group NOGROUP. For nogroup-gid, specify an
integer that is different from other GIDs in your installation:
ADDGROUP (NOGROUP) OMVS(GID(nogroup-gid))
If you have already done this task for another transform, you might have already defined
group NOGROUP. You do not need to define it again.
The user profile must have an OMVS segment. Its UID must (1) not be 0 and (2) not be the
default UID, which is defined in the BPX.DEFAULT.USER profile in the RACF FACILITY
class. You can use any user name. For example, you can use NOBODY.
IBM recommends that you do not give this user authority to the z/OS file system. However, if
any PostScript jobs to be transformed require access to certain files, you can give this user
access to the required files or connect this user to another group (or groups) that has access
to the required files.
For example, this RACF command defines user NOBODY. For nobody-uid, specify an integer
that is different from other UIDs in your installation:
ADDUSER (NOBODY) OMVS(UID(nobody-non-zero-uid))
If you have already done this task for another transform, you might have already defined user
NOBODY. You do not need to define it again.
After doing these steps, you can use the ls command to list the owner of ps2afpd and to
verify that the setuiD flag is on. For example, type on the z/OS UNIX command line:
ls -l /usr/lpp/Printsrv/bin/ps2afpd
Assuming that you assigned user NOBODY as the owner of ps2afpd, output from the ls
command should look like this:
-rwsr-x--- 1 NOBODY ... ...
Figure 4-29 Customizing AFP to PCL, AFP to PDF, and AFP to PostScript transforms
Recommendation: To limit access to AFP resources, use the AOPSTART JCL procedure,
instead of the aopstart command, to start Infoprint Server because you can associate a
specific user ID with the AOPSTART JCL procedure. Then that user ID can be the sole
member of the AOPOPER group.
Job submitters who use other job submission methods, such as the Infoprint Port Monitor for
Windows, can only use user AFP resource libraries that have universal READ access.
Infoprint Server writes a message (AOP092E) to the common message log and job submitter
(if the job submission method allows messages to be returned) when the user does not have
READ access to the AFP resource libraries. However, Infoprint Server suppresses RACF
messages related to failed access checks unless you request RACF notification by specifying
the RACF NOTIFY parameter (on the RDEFINE or RALTER command) for the profiles that
protect the AFP resources.
To add a new paper size, code the PAPERGEN macro in AOXPAPER. In the PAPERGEN
macro, you must specify:
The name of the paper entry. The name can contain 1 to 8 letters or numbers.
The width and length of the physical page in 300 d.
The origin (x and y coordinates) of the printable area in 300 dpi.
The width and length of the printable area in 300 dpi. The printable area is typically
smaller than the size of the physical medium because many printers cannot print
edge-to-edge.
The origin (x and y coordinates) of the logical page. Only the AFP to PCL transform uses
this value.
The width and length of the logical page. Typically, the width of the logical page is equal to
the width of the physical page minus 71 dots (at 300 dpi) at each end for European page
formats or minus 75 dots for US page formats, and the length of the logical page is equal
to the length of the physical page. Only the AFP to PCL transform uses this value.
The PCL paper type ID. See your printer manufacturer’s documentation. Only the AFP to
PCL transform uses this value.
Assemble and link the modified AOXPAPER module, and install the AOPPAPER table using
SMP/E. IBM provides these sample usermods to install the AOPPAPER table:
SYS1.SAMPLIB(AOXPCLPJ) - AFP to PCL
SYS1.SAMPLIB(AOXPDFPJ) - AFP to PDF
SYS1.SAMPLIB(AOXPSPJ) - AFP to PostScript
Specify the new paper name in the AOP_PAPER environment variable in the transform
configuration file and restart the Transform Manager.
Outline fonts: In single- and double-byte outline fonts the character shapes are
represented by mathematical expressions. Because the font shape is defined without
regard to size, outline fonts are scalable; therefore, you only have to store one version of
an outline font. This increases your system storage space and enhances printing
performance.
Raster fonts: A raster font is a font created by a series of pels arranged to form an image.
Raster fonts are created in a specific point size, so if you want to use different sizes of the
same raster font, you have to store multiple versions of the same font. Raster fonts can
have 240-pel or 300-pel formats:
240-pel fonts 240-pel raster fonts can be bounded-box or unbounded-box. All IBM AFP
printers except the 3800-3 use bounded-box fonts.
300-pel fonts Many IBM AFP printers print documents at 300-pel resolution. 300-pel
fonts are provided in the optional Compatibility Fonts feature of PSF, or in the AFP Font
Collection, Program Number 5648-B33. Your system programmer can also convert any
single-byte 240-pel font in the bounded-box format to a 300-pel font by using the
font-conversion program distributed with PSF. This program, APSRCF30, is described
in PSF for z/OS: Customization.
Figure 4-30 AFP to PCL, AFP to PostScript, or AFP to PDF transform entry
The entry provides the name of the transform and, as an option, the name of the transform
class.
transform Indicates the beginning of a transform entry.
Figure 4-31 AFP to PCL, AFP to PostScript, or AFP to PDF environment variables
For more information about PCL tray IDs, see the description of the Paper Source command
in Hewlett Packard’s PCL documentation. Because the implementation of paper tray IDs can
vary from printer to printer, also see the documentation for your printer. They may differ as
follows:
PCL tray IDs do not match the tray numbers embossed on the actual printer trays.
If the usual PCL tray IDs do not work, specify different tray IDs in the AOP_TRAYID
variable until the printer selects paper from the desired paper tray.
For the AFP to PDF transform, specify 1 if you want the AFP input tray number to be available
for selection. Specify 0 if you do not want it to be available.
For the AFP to PostScript transform, specify the ID used by the PostScript printer to select
each tray. This value, minus 1, corresponds to an entry in the Priority array in the
InputAttributes dictionary for the PostScript printer. Printer-specific values are described in
the PostScript PPD file for the printer.
AOP_PAPER This variable specifies the paper size for each AFP input tray number. The
AFP input tray number for each data set is specified in the
input-tray-number job attribute, INTRAY JCL parameter, or AFP form
definition.
Paper names: a3, a4, a4ee, a5, c5, com10, dl, executiv, legal, letter,
letteree, and monarch
The position (one through nine) of each paper name in this variable
represents the number of the AFP input tray. The tenth position represents
any AFP input tray number greater than 9.
Example:
AOP_PAPER -> "letter legal letteree letter letter letter letter letter letter
letter"
The AFP to PDF transform formats all output for the same paper size, using the paper size for
the first AFP input tray ID selected.
In most situations, specify the same default AFP resources as you currently specify either in
your PSF startup procedures (in the PRINTDEV statements) or in your PSF FSA definitions in
the Printer Inventory. In the transform entry, specify the font, form definition, and page
definition that apply to most of the target printers. If one or more printers require different
defaults, specify those defaults in the printer definitions for the printers. In a printer definition,
you can also specify other AFP resources for the transforms to use, such as an overlay for
the front or back side of a page.
Environment variables
You specify default AFP resources in the following environment variables.
AOP_CHARS
This variable identifies the default font used for transform error messages and for line data
and AFP data that does not specify another font. You can specify only one font in this
variable. The default font can be either a raster or outline font. Recommendations are as
follows:
AOP_FORMDEF considerations
AFP resources can also be specified in these locations:
Job attributes and JCL parameters
Input data set
JES initialization statements for the IP PrintWay FSA (fonts and page definitions only)
Printer definitions in the Printer Inventory
Hierarchy for selecting a form definition: The transforms use search hierarchies to select
resources when they are specified in more than one location. The transforms use this
hierarchy to select the name of the form definition, as follows:
The form definition specified in one of these:
– Form-definition job attribute
– FORMDEF JCL parameter
The form definition in the Form definition field in the printer definition.
The first inline form definition.
The form definition in the AOP_FORMDEF environment variable.
Form definition F1CP0111. This default is coded in the transform.
Tips: If form definition name dummy is specified, the transform uses the first inline form
definition.
After the transform determines the name of the form definition, the transform searches for
the form definition first inline in the data set, and then in the user and system resource
libraries.
Hierarchy for selecting a page definition: The transforms use this hierarchy to select the
name of the page definition:
The page definition specified in one of these:
– page-definition job attribute.
– PAGEDEF or FCB JCL parameter. The value in the PAGEDEF parameter overrides
the FCB parameter.
The default page definition supplied by JES to IP PrintWay basic mode.
The Page definition field in the printer definition.
The first inline page definition.
The AOP_PAGEDEF environment variable in the transform configuration file.
Page definition P1P08682. This default is coded in the transform.
AOP_PAGEDEF considerations
If page definition name dummy is specified, the transform uses the first inline page definition.
JES can supply a default page definition for jobs submitted directly to IP PrintWay basic mode
with JCL and not processed first by NetSpool or Print Interface. To prevent JES from
supplying a default page definition to the IP PrintWay basic mode FSA:
In JES2, do not specify the FCB parameter in the JES2 PRTnnnnn statement for the IP
PrintWay FSA, and do not specify the NIFCB parameter in the JES2 PRINTDEF
statement.
In JES3, specify PDEFAULT=FCB in the JES3 DEVICE statement for the IP PrintWay FSA.
Hierarchy for selecting a font: The transforms use this hierarchy to select a font for line
data and AFP data that does not specify a font:
The font named in the page definition.
The font specified in one of these locations:
– chars job attribute.
– CHARS or UCS JCL parameter. The value in the CHARS JCL parameter overrides the
UCS parameter.
The default font supplied by JES to IP PrintWay basic mode.
The font in the Character set field in the printer definition.
The font in the AOP_CHARS environment variable. The transform prefixes X0 to the font
named in the variable if you do not specify a prefix.
Font X060D9. This default is coded in the transform.
JES can supply a default font for jobs submitted directly to IP PrintWay basic mode with JCL
statements and not processed first by NetSpool or Print Interface. To prevent JES from
supplying a default font to the IP PrintWay FSA:
In JES2, specify UCS=0 in the JES2 PRTnnnnn statement.
In JES3, specify PDEFAULT=CHARS in the JES3 DEVICE statement for the IP PrintWay
FSA.
Hierarchy for selecting a font for transform error messages: The transforms use this
hierarchy to select a font used for transform error messages:
The font named in the page definition specified in the AOP_MSGPAGEDEF environment
variable.
The font in the AOP_CHARS environment variable. The transform prefixes X0 to the font
named in the variable if you do not specify a prefix.
Font X060D9. This default is coded in the transform.
In the transform entries, you can specify up to eight AFP system resource libraries for fonts,
page definitions, form definitions, page segments, and overlays. You can also specify the
AFP resource libraries in the printer definitions for the target printers. Resource libraries
specified in the printer definition are searched before libraries specified in the transform entry.
In most situations, specify the same default AFP resource libraries as you currently specify in
your PSF startup procedures. In the transform entry, specify the libraries that apply to most of
the target printers. If one or more printers require different resource libraries, specify those
libraries in the printer definitions for the printers.
The user ID that starts Infoprint Server and the job submitter must be authorized to read AFP
resource libraries.
To map fonts, these transforms use an internal font-mapping table. This table supports the
IBM AFP Font Collection Expanded Core Fonts, which are available in both raster and outline
formats. This font table can be customized for your installation.
Recommendation: Map raster fonts to outline fonts because outline fonts provide superior
viewing quality.
AOP_ANNOTATIONS
AOP_COLOR
AOP_CUTSHEET
AOP_FLATE
AOP_MSGFORMDEF
AOP_MSGPAGEDEF
AOP_PJL
# A F P t o P C L t ra n s f o rm w i t h t y p i c a l E u ro p e a n p a p e r s i z e s
# N O T E : A n o u t l i n e f o n t l i b ra ry i s n e e d e d f o r f o n t m a p p i n g . If f o n t m a p p i n g i s w a n t e d ,
# a d d y o u r o u t l i n e f o n t l i b ra ry (e .g . V A IN I.F O N T 3 0 0 ) t o t h e A O P _ F O N T L IB c o n c a t e n a t i o n .
# O t h e rw i s e s e t A O P _ F O N T M A P t o "n o ".
t ra n s f o rm a f p 2 p c l _ f i
s t a rt - c o m m a n d = a f p 2 p c l d
m in -activ e = 0
m ax -activ e = 2
m ax im u m -id le -tim e = 3 0 0 # 5 m in u te s
e n v i ro n m e n t = {
AOP _ C H AR S -> G T15
AOP _ C OLOR -> no
A O P _ F O N T L IB - > "v a i n i .f o n t 3 0 0 s y s 1 .f o n t 3 0 0 s y s 1 .f o n t l i b b "
AOP _ FON TM AP -> ye s
AOP _ FOR M D EF -> F 1A10111
A O P _ F O R M D E F L IB - > "s y s 1 .f d e f l i b "
AOP _ M SG FOR M D EF -> F1C P 0110
AOP _ M SG P AG ED EF -> P 1P 08682
A O P _ O V E R L A Y L IB - > "s y s 1 .o v e rl i b "
AOP _ P AG ED EF -> P 1V06683
A O P _ P A G E D E F L IB - > "s y s 1 .p d e f l i b "
A O P _ P A G E S E G L IB - > "s y s 1 .p s e g l i b "
A O P _ P A P E R - > "a 4 a 3 a 4 a 4 a 4 a 4 a 4 a 4 a 4 c 5 "
A O P _ T R A Y ID - > "1 4 0 0 0 0 0 0 0 2 "
_ B P X _ J OB N AM E -> AFP 2P C LD }
;
Figure 4-36 Example afp2pcl transform class entry
As shown in Figure 4-36, an outline font library is needed for font mapping. If font mapping is
wanted, add your outline font library (VAINI.FONT300) to the AOP_FONTLIB concatenation.
Otherwise set the environment variable AOP_FONTMAP to no.
Transform Manager
When the Transform Manager starts, it starts two types of transform daemons, one to
transform jobs that do not specify a transform class and another to transform jobs that specify
a transform class such as fi, as shown in Figure 4-36 (afp2pcl_fi). The Transform Manager
keeps no more than two of each type of transform daemons active at any time. The Transform
Manager shuts down any transform daemon that is idle and frees system resources after 5
minutes. The Transform Manager keeps at least one transform daemon of the first type active.
To use these new functions, you specify the environment variables in the Infoprint Server
configuration file.
PDF encryption
The AFP to PDF transform can now encrypt PDF documents. Encrypting PDF documents
provides enhanced security for sending PDF documents over a network. In addition, you can
associate user and owner passwords with encrypted PDF documents to prevent
The transform also provides a sample Password exit and password database. The Password
exit provides passwords to the transform. (For security reasons, job submitters cannot specify
passwords during job submission.)
OCSF
To encrypt PDF documents, you must install and customize Open Cryptographic Services
Facility (OCSF) with the Security Level 3 feature of OCSF. OCSF is part of z/OS
Cryptographic Services.
OCSF requires that the user ID that starts Infoprint Server daemons have READ access to
the following profiles in the RACF FACILITY class:
BPX.SERVER
CDS.CSSM
CDS.CSSM.CRYPTO
CDS.CSSM.DATALIB
Users who start Infoprint Server must be members of the AOPOPER RACF group, or have a
UID of 0. (AOPOPER is the default group name for Infoprint Server operators. However, your
installation can assign a different name to this group.) Therefore, you should give the
AOPOPER group READ access to these profiles.
Password exit
To encrypt PDF documents with passwords, you must provide a Password exit to the AFP to
PDF transform. (To encrypt PDF documents without passwords, you do not need a Password
exit.)
IBM provides the source code for the sample Password exit (aoppdfexit.dll) in these files:
/usr/lpp/Printsrv/samples/aoppdfexit.h: A header file that contains declarations and
interface descriptions.
/usr/lpp/Printsrv/samples/aoppdfexit.c: The source code for the sample Password exit.
The printer definition fields (and the corresponding PIDU attributes) that let you specify
encryption options are as follows:
Encryption level (pdf-encryption-level): The level of encryption used to encrypt PDF
documents.
– Low (40-bit key): A low level of encryption (a 40-bit encryption key) is used. Select this
value if you e-mail PDF documents to countries that do not use 128-bit encryption, or
for users with Adobe Acrobat Reader 3.0 - 4.x.
– High (128-bit key): A high level of encryption (a 128-bit encryption key) is used. Select
this value for sensitive PDF documents.
Owner identifier (pdf-owner-identifier): The identifier of the owner of an encrypted PDF
document. The owner identifier is associated with a password that is stored in a separate
database. An owner password is required to restrict actions in the Protected actions field.
Protected actions (pdf-protect): The actions that are restricted in encrypted PDF
documents:
– Copy: Users cannot:
• Copy or extract content to another document
• Extract content for accessibility
– Print: Users cannot:
• Print at low resolution (150 dpi)
• Print at high resolution
– Update: Users cannot:
• Change the document
• Assemble (insert, rotate, and delete pages)
• Add comments
• Fill in form fields or sign
• Create template pages
User identifier (pdf-user-identifier): The identifier of the user of an encrypted PDF
document. The user identifier is associated with a password that is stored in a separate
database. The user password is required to open encrypted PDF documents.
You can enter from 1 - 256 characters, with any combination of letters, numbers, blanks,
and special characters that the Password exit allows.
This step is required if job submitters cannot specify Infoprint Server job attributes when they
submit a print job.
You must scale 240-pel fonts to 300-pel fonts if you do not already have 300-pel fonts and
either of these conditions apply:
You use the AFP to PCL transform. This transform requires 300-pel fonts.
You use the AFP to PostScript or AFP to PDF transform, documents to be transformed
reference raster fonts, and you do not map raster fonts to outline fonts.
If you have previously scaled your 240-pel fonts using the PSF-supplied APSRCF30 program
(required for the IBM 4028 printer), you do not need to use the AOXCF30 program to scale
them again. Because IBM Core Interchange raster fonts are shipped in both 240-pel and
300-pel resolutions, you do not need to convert them. Outline fonts are
resolution-independent and do not need to be converted.
AOXCF30 program
The AOXCF30 program can convert 240-pel single-byte and double-byte raster fonts to
300-pel raster fonts. The AOXCF30 program converts a 240-pel raster font to a close
Specific fixed pitch fonts require the replacement of box characters. These are supplied in the
AOX.SAOXCF30 library.
Chapter 5. IP PrintWay
IP PrintWay transmits output data sets from the JES spool to remote printers or print servers
and to e-mail destinations.
You can run either IP PrintWay basic mode or IP PrintWay extended mode:
IP PrintWay basic mode, the original mode of operation, uses the z/OS Functional
Subsystem Interface (FSI) to obtain output data sets from the JES spool. IBM does not
plan additional enhancements to IP PrintWay basic mode.
IP PrintWay extended mode, starting with z/OS V1R5, uses the z/OS Sysout Application
Programming Interface (SAPI) to obtain output data sets from the JES spool. It provides
better performance, improved usability, and more function than IP PrintWay basic mode.
IP PrintWay basic mode and IP PrintWay extended mode use the same printer definitions in
the Printer Inventory.
In addition:
IP PrintWay can transmit output data sets to remote printers or host systems in a TCP/IP
network. A print server can be running on the host system. The remote printer or host
system must support one of these TCP/IP protocols:
– LPR/LPD protocol
– Internet Printing Protocol (IPP)
– Direct socket printing protocol
IP PrintWay can transmit output data sets to one or more e-mail addresses. Each output
data set is sent as an e-mail attachment. If you install the AFP to PDF transform feature of
Infoprint Server Transforms, IP PrintWay can transform line data and AFP data so that the
e-mail recipients can view and print the output with Adobe Acrobat Reader.
IP PrintWay basic mode can transmit output data sets to VTAM-controlled printers that are
defined to VTAM. The printers must be defined as LU0, LU1, or LU3 printers. Supported
output data streams are Data Stream Compatibility/Data Stream Extended (DSC/DSE)
and SNA Character String (SCS). VTAM printer support in IP PrintWay requires the Coax
Printer Support feature of Infoprint Server.
Transform Manager
Transmission
Printer JES Queue 4
Inventory Spool (basic mode)
Other
Transforms
Infoprint Server
Transforms
3 1 5
2
IP PrintWay
LAN 6
Printers
Infoprint IPP PSF
LPD e-mail
Coaxial Printer Server Server
Print and mail
support
servers
IP PrintWay functions
Additional functions that IP PrintWay provides include:
Retry
IP PrintWay can retry an unsuccessful transmission a specified number of times at a
specified interval. Retry limits and retry times can be specified in the printer definition and
on an OUTPUT JCL statement. In addition to the requested retries, IP PrintWay retries an
unsuccessful transmission automatically for a short period of time right after transmission.
If an error occurs in the middle of a print job, IP PrintWay restarts printing from the
beginning of the print job. However, IP PrintWay extended mode can restart printing after
the last page that printed successfully if the printer supports Hewlett Packard (HP) Printer
Job Language (PJL) and the direct sockets printing protocol. The administrator must
request in the printer definition that IP PrintWay extended mode restart printing after the
last successful page.
Retention of jobs on the JES spool
After successfully transmitting each data set, or after completing the requested number of
transmission attempts, IP PrintWay can retain the data set on the JES spool forever or for
a period of time. Retention periods can be specified in the printer definition or on an
OUTPUT JCL statement.
Transforms
IP PrintWay can transform line data to text format for printing on a network printer or
e-mailing without using a separate transform product.
IP PrintWay can transform data to PCL, PDF, or PostScript format for printing or e-mailing.
Validation of print requests
IP PrintWay extended mode can validate, with some exceptions, that the document can
print as requested on the selected printer. For example, IP PrintWay extended mode can
reject documents with data formats that the printer does not support or that are too large
to print on the selected printer.
Operator control
When you run IP PrintWay extended mode, the operator can use tools such as SDSF and
Infoprint Central to work with output data sets (called print jobs) that are intended for IP
IP PrintWay modes
IP PrintWay extended mode uses the z/OS Sysout Application Programming Interface (SAPI)
to obtain output data sets from the JES spool. This implementation results in better
performance and improved usability. In addition, IP PrintWay extended mode provides
additional functions that help you manage printers and print jobs.
IP PrintWay basic mode is the name used for the original IP PrintWay mode of operation, to
distinguish the original mode from the IP PrintWay extended mode. You can run IP PrintWay
in both basic mode and extended mode. After the introduction of IP PrintWay extended mode,
IBM stopped producing enhancements for IP PrintWay basic mode.
IP PrintWay extended mode and IP PrintWay basic mode use the same printer definitions in
the Printer Inventory.
Therefore, if you configure IP PrintWay extended mode to print on the same printers from
different z/OS systems:
You might see more time-out situations. A time-out situation occurs if a printer is busy
when IP PrintWay sends data to it. However, while IP PrintWay extended mode waits for a
printer to become available, printing on other printers is not affected.
To see all print jobs on a printer’s queue and all messages from IP PrintWay about a
printer, Infoprint Central users must open separate instances of their Web browser so they
can log on to multiple z/OS systems. This is because from each instance of a Web
browser, you can log on to only one z/OS system and see print jobs, printer queues, and
Infoprint Server messages for that one z/OS system only.
IP PrintWay extended mode does not call the Message exit and the Response Notification
exit. Also, IP PrintWay extended mode does not pass some fields in the ANFUEXTP control
block to IP PrintWay exits, and it ignores requests from the exits to hold or delete data sets
and write messages to the console.
IP PrintWay extended mode cannot print to VTAM-controlled printers in the SNA network.
IP PrintWay extended mode ignores the NOTIFY parameter on the OUTPUT JCL statement
and the Notify field in the printer definition.
IP PrintWay extended mode prints all data sets in an output group on the printer selected for
the first data set in the output group. In addition, retry values and retention periods for the first
data set apply to all data sets in the output group.
HASCSAPI (JES2)
PLPA IATSISO (JES3) Each client issues its own IEFSSREQ
SSI call 79 - IAZSSS2 input mapping
MSTR JES
Task 1 Task 2 Task 3
JES Spool
Figure 5-3 Sysout Application Programming Interface (SAPI) design
SAPI processing
The SYSOUT Application Program Interface Data Set Call (SSI Function Code 79) allows a
user-supplied program to access JES SYSOUT data sets independently from the normal JES
provided functions (such as print, network). Users of this function are application programs
operating in an address space external to JES.
OPEN SYSOUT
JES passes GET records
records from spool lpr "PUT" records...
CLOSE SYSOUT
Clean up control (Unallocate SYSOUT)
blocks ..... DUNDDNAM=ddname
Information contained within the SYSOUT data set’s scheduler work blocks (SWBs) can also
be returned to the application thread. Much of the information contained within the SWB is
normally not processed by JES, and therefore much more information about the data set can
be retrieved from the SWB than is returned in fields of the SSS2.
The application thread needing to retrieve the SWB information, sets SSS2 flags when
issuing a PUT/GET request. JES then provides the application thread the information that can
be used when the application thread invokes the SJF services to retrieve this SWB
information. These services are either SJFREQ REQUEST=RETRIEVE or SWBTUREQ
REQUEST=RETRIEVE.
Dynamic allocation
Once the application thread receives a data set from the JES, it allocates (through a dynamic
allocation) the data set to process it. During this allocation, dynamic allocation requires
DALBRTKN text unit. JES initializes this text unit and the application thread moves the
address from SSS2 into a text unit pointer field for the JES-provided DALBRTKN text unit.
HASCSAPI (JES2)
PLPA IATSISO (JES3) Each task issues its own IEFSSREQ
AOPWSMD AOPOUTD
The presence of outd indicates to the startup task to start the IP PrintWay extended mode
daemons:
aopwsmd aopwsmd is the workselection client that manages and starts the work
selection elements for getting jobs from the JES spool through the SAPI
interface. aopwsmd uses the IP PrintWay job selection rules in the Printer
Inventory to select output data sets from the JES spool.
aopoutd aopoutd is the output server that starts the output device threads and
manages the queues for the output devices. aopoutd sends output to remote
printers in the TCP/IP network and to e-mail destinations.
TCP/IP
e-mail
9.12.2.140:8234
Host
(LPD)
The FSI services are actually JES and FSS/FSA supplied routines that allow interaction
between JES and the FSS/FSA. FSI services fall into three categories:
Communication services
Data access services
Control services.
TCP/IP network
Application IP PrintWay
Code FSA lpr
JES ADDRESS IP PrintWay FSS
SPACE ADDRESS SPACE
Start FSS/FSA lpd
$SPRT1
Console *X WTR,OUT=PRT1
In Figure 5-8, the JES address space starts the FSS address space when an operator starts
the first FSA writer. The writer is defined in the JES initialization statements and actually
becomes the FSA portion of the FSS address where IP PrintWay executes.
FSI services are actually JES and FSS/FSA supplied routines that allow interaction between
JES and the FSS/FSA. FSI services fall into three categories: communication, data access,
and control services. These services are described in the following sections.
Communication services
The functions of the individual FSI communication services are:
FSI CONNECT The FSS and FSA invoke the FSI CONNECT service to establish the
functional subsystem interface to JES. FSI CONNECT processing tells
JES that the FSS/FSA is started. It also identifies to the FSI the
addresses of FSS/FSA routines that are to receive control when JES
Control services
The FSI POST service is the only FSI control service. JES invokes the FSI POST service to
signal completion of asynchronous requests.
Once the FSS address space is created, the FSS performs initialization. When initialization is
complete, the FSS responds to JES with an FSIREQ CONNECT request. Successful
completion of FSS CONNECT processing signals JES to issue a START FSA order. JES
issues the START FSA order to the FSS order routine. The FSS order routine receives the
order and then the FSS attaches an FSA task to perform FSA and device initialization. When
FSA initialization is complete, the FSA responds to JES with an FSIREQ CONNECT request.
Successful completion of FSA CONNECT processing signals JES to issue a START DEVICE
order.
JES issues the START DEVICE order to the FSA order routine. The START DEVICE order
indicates to the FSA that JES is ready to receive GETDS requests. The FSIREQ SEND
request notifies JES that the FSA has completed the order. At this point, the FSA can issue
GETDS requests.
Once the FSA has obtained access to a SYSOUT data set, it uses the data set identifier
returned to issue a FSIREQ GETREC request to JES to obtain logical records for the data
set. When JES receives the GETREC request, it obtains one or more logical record pointers
using an index table. JES then returns a pointer to the index in the GETREC parameter list to
the FSA.
The FSA processes the records associated with the index and then issues a FSIREQ
FREEREC request to release the storage associated with these logical records. Storage
resources are a fixed quantity. After all of the records in a data set have been processed or
when end-of-file is reached, the FSA issues a FSIREQ RELDS request to return the data set
to JES.
When JES receives the RELDS request, it closes the data set and deallocates the storage
resources associated with it. If the FSA indicated that valid checkpoint information exists for
the data set, JES writes the final checkpoint record to spool. JES then waits for the next
GETDS request.
FSS shutdown
When an operator issues a command to either drain a specific device or to shut down JES
cleanly, JES issues a STOP device order to the FSA order routine for the FSA controlling that
device.
The FSA order routine processes the order and the appropriate FSA task stops the printer
device. When the printer is stopped, the FSA must issue an FSIREQ SEND request to notify
JES that the FSA has completed the order and that the printer is stopped. At this point, JES
can pass another order to the FSA. After the FSA notifies JES that a device was stopped,
JES issues a STOP FSA order to the FSS order routine.
The STOP FSA order causes the FSA to perform cleanup processing and then terminate
itself by issuing an FSA-level DISCONNECT to JES. When JES receives the FSA-level
DISCONNECT it validates the information and then issues a message the operator. An FSS
receives a STOP FSA order for every active FSA that it controls. After all active FSAs are
stopped, JES issues the STOP FSS order to the FSS order routine.
The STOP FSS order causes the FSS to perform cleanup processing and then terminate
itself by issuing an FSS-level DISCONNECT to JES. JES validates the FSS information and
terminates the FSS address space.
Each FSA selects independently data sets from the JES spool
PrintWay FSA PrintWay FSA PrintWay FSA PrintWay FSA
VTAM IPP LPR e- mail
IPP Client
PrintWay FSA
LPR
PrintWay FSA
LPR Direct Socket
VTAM TCP/IP
9.12.2.140:8234 Host
(LPD)
Note: Each of the FSAs can print any type of data sets.
HFS
Printer JES Transmission
Queue
Message-log
Inventory Spool Data Set Data Set
TCP/IP
Host
(LPD)
LPD Printer LPD Printer LPD Printer
IP Printway keeps track of the work in process in the transmission queue data set. The IP
Printway transmission queue is a VSAM cluster and contains an entry for each data set that
IP PrintWay is transmitting to the remote systems or that IP PrintWay is retaining on the JES
spool.
Only one IP PrintWay FSS is required. However, for improved throughput and more efficient
use of system resources up to 2000 FSSs can be defined. If you define more than one IP
PrintWay FSS, specify the same transmission queue data set in the startup procedure for
each FSS to ensure that data sets are always transmitted in the same order as IP PrintWay
acquires them from the JES spool.
HFS
JES Printer Transmission Message-log
Queue
Spool Inventory Data Set
Data Set
TCP/IP
LPD Printers
Host
(LPD)
LPD Printer LPD Printer LPD Printer
Each IP PrintWay FSA can transmit data sets, one data set at a time, to many printers or print
servers. When an FSA selects a data set from the JES spool, the IP address determines
which printer the FSA passes the data set to.
For improved throughput and more efficient use of system resources, you should define more
than one FSA for each IP Printway FSS. IBM recommends that you do not create more than
35 FSAs per FSS. You can define up to 64 FSAs in an FSS. As a guideline for the number of
FSAs, you should estimate how many jobs must print concurrently and specify at least that
many FSAs.
TCPIPJOBNAME Specifies the name of the TCP/IP program that IP PrintWay basic
mode uses. You can specify the TCP/IP name either in this statement
or in the IP PrintWay basic mode FSS definition in the Printer Inventory.
If you do not specify a name in either this statement or the FSS
definition, the name of the TCP/IP program must be TCPIP. If you
specify a TCP/IP name in both places, IP PrintWay basic mode uses
the name in the FSS definition.
Special considerations exist for Print Interface and IP PrintWay for these statements:
TCPCONFIG, PORT, and AUTOLOG.
If you have not already customized z/OS UNIX sendmail, you must do so before IP PrintWay
can send output to e-mail destinations. For information about how to customize sendmail,
see:
z/OS Communications Server: IP Configuration Guide describes how to customize
sendmail and the other components of z/OS Communications Server that sendmail
requires.
The industry-accepted book Sendmail, published by O’Reilly & Associates, Inc. (ISBN
1-56592-222-0), describes the sendmail configuration file (sendmail.cf), how to set up
sendmail aliases files, how to ensure security, and how to debug problems with your
sendmail configuration.
The SYS1.PROCLIB(ANFWPROC):
//ANFWPROC PROC HLQ=ANF,
// TCPHLQ=TCPIP
//* ----------------------------------------------------
//* this is a sample procedure for starting IP PrintWay
//* ----------------------------------------------------
//IEFPROC EXEC PGM=ANFFIEP,REGION=4M,TIME=NOLIMIT,PARM='INV=AOP1'
//*-----------------------------------------------------
//* AOP1 is the default name of the printer inventory
//* server. This must be modified if this is not the
//* name being used for the inventory server
//*-----------------------------------------------------
//ANFQUEUE DD DSN=&HLQ..QUEUE,DISP=SHR
//SYSTCPD DD DSN=&TCPHLQ..TCPIP.DATA,DISP=SHR
//ANFMMSG DD DSN=&HLQ..MSGFILE,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
APF-authorize SYS1.IMAGELIB
Link-list and APF authorize SYS1.IMAGELIB
Define the IP PrintWay functional subsystem - (FSS)
Define one or more FSAs
Mulitple FSS address spaces can be defined
Create FSS and FSA definitions in the Printer Inventory
The FSS and FSAs can be defined using ISPF
Customize the IP PrintWay startup procedure
Customize PSF for sharing network printers
In the IP PrintWay FSS, you define one or more IP PrintWay functional subsystem
applications (FSAs), which use the support facilities of the FSS to communicate with JES.
Several IP PrintWay FSAs can run in the same FSS.
Note: There is no practical limit to the number of FSSs that you can define, nor is there a
limit to the number of FSAs that you can define to run under an individual FSS.
Creating FSS and FSA definitions in the Printer Inventory (basic mode)
You can specify IP PrintWay basic mode configuration information in these objects in the
Printer Inventory:
FSS definition
IP PrintWay uses values specified in this definition when the IP PrintWay FSS starts. In an IP
PrintWay FSS definition, you can specify configuration information that applies to an IP
PrintWay FSS and to all FSAs in that FSS. An IP PrintWay FSS definition is required in these
situations:
If any of the FSAs in the FSS will transmit output to VTAM-controlled printers. In this case,
you must specify the name of the VTAM APPL statement you defined for the FSS.
If you need to change the IP PrintWay configuration defaults. If an IP PrintWay FSS
definition does not exist when IP PrintWay starts, IP PrintWay uses default values.
FSS example
Figure 5-14 shows an Infoprint Server ISPF IP PrintWay FSS browse panel.
Old-style translation
Hiperspace blocks . . 524288
TCP/IP job name . . . TCPIP
Document code page. .
Applid. . . . . . . . SC65PW01
National language . . 1 1. English 2. Japanese
Trace mode. . . . . . 1 1. None 2. Internal 3. No printing 4. Full
Trace prompt
Trace table size . 32
FSA definition
IP PrintWay uses values specified in this definition when an IP PrintWay FSA starts.
You can create one IP PrintWay FSA definition for each IP PrintWay FSA that your
installation has defined to JES. In each IP PrintWay FSA definition you can specify the type of
tracing to start for the FSA.
Creating FSA definitions is optional. If an FSA definition does not exist, IP PrintWay uses the
tracing value specified in the FSS definition. The FSA name must match the name of the FSA
as defined to JES.
You can use either the Infoprint Server ISPF panels or the Printer Inventory Definition Utility
(pidu) to create FSS and FSA definitions.
If you do not configure PSF for printer sharing, PSF does not release the printer to receive
data from other sources.
If the Printer Inventory name is not the default name, AOP1, specify the inventory name in the
PARM parameter of the EXEC statement.
If you run many FSAs in the IP PrintWay FSS, you might need to increase the size in the
REGION parameter of the EXEC statement.
If you do not use the default names for the IP PrintWay transmission-queue and message-log
data sets, change the data set names in the procedure.
Create a user ID with an OMVS segment, a home directory, and a default group that has an
OMVS segment with a group identifier (GID).
You can select any name for the user ID. Use the RACF ADDUSER command to create a
new user ID. Use the RACF ALTUSER command to alter an existing user ID to give it access
to z/OS UNIX. For the default group, you can select any group that has an OMVS segment
and a GID. The user ID must be connected to the default group.
For example, these RACF commands define user AOPSTC with default group AOPOPER.
For user-identifier, specify an integer that is different from other UIDs in your installation. The
NOPASSWORD operand defines the user ID as a protected user ID. Protected user IDs can
not log on to the z/OS system, and they can not be revoked due to incorrect password
attempts.
ADDUSER AOPSTC OMVS(UID(user-identifier) HOME('/u/aopstc')
PROGRAM('/bin/sh')) DFLTGRP(AOPOPER) NOPASSWORD
Transmission Message-log
Queue
Data Set Data Set
You can allocate one transmission-queue data set to be shared by all IP PrintWay functional
subsystems (FSSs). Or, you can create a separate data set for use by each IP PrintWay FSS.
If more than one FSS can transmit output data sets to the same print queue, IBM
recommends sharing the transmission-queue data set so that data sets are printed in the
correct order. The transmission-queue data set can be shared with other instances of IP
PrintWay running on other z/OS systems.
Note: When multiple FSSs share a transmission-queue data set, you must allocate the
data set with SHAREOPTIONS (4 3).
If you have RACF protected the transmission-queue data set, the Infoprint Server ISPF
panels display only the actions that a user is allowed to do. For example, if a user has
read-only access to the transmission-queue data set, that user is allowed only to browse
entries in the data set and is not allowed to modify or delete entries.
You can create one message-log data set to be shared by all IP PrintWay functional
subsystems (FSSs), or you can create separate data sets for each FSS. To allocate space for
the data set and initialize it, use the sample JCL in SYS1.SAMPLIB(ANFMIJCL) to run the
ANFMFILE program. The message-log data set requires these specifications:
Physical sequential unmovable organization (PSU).
Fixed block format (FBA).
Logical record length (LRECL) of 57 at a minimum. 80 is recommended.
Block size (BLKSIZE) of about 10 records per block. 800 is recommended.
Secondary space is unnecessary because the ANFMFILE program formats all available
space. To change the size of the IP PrintWay message-log data set, rerun the ANFMFILE
program. The ANFMFILE program produces a D37 abend when it completes processing.
You can suppress selected messages that IP PrintWay basic mode writes to the message-log
data set by writing a Message exit (ANFUXMSG). You can view messages in the
message-log data set by using the Infoprint Server ISPF panels.
During an ISPF session, you can work with multiple transmission-queue data sets. For
example, if your installation has defined multiple IP PrintWay FSSs, you might need to access
the transmission-queue data set for each FSS. To change the name of the data set during
your ISPF session, change the name on the IP PrintWay Transmission Queue Selection
panel, shown in Figure 5-20 on page 267.
After IP PrintWay basic mode selects a data set from the JES spool for transmission, you
cannot use JES commands and other spool management products (such as SDSF) to
manage the data set. You must use Infoprint Server ISPF panels to monitor, reroute,
retransmit, and delete data sets that IP PrintWay has selected.
IP PrintWay initially creates a queue entry for each data set to be transmitted. IP PrintWay
retains the queue entry until either:
1. IP PrintWay deletes the data set from the JES spool, or
2. The IP PrintWay FSA processing the data set ends normally or abnormally and releases
the data sets it is processing back to JES so that another IP PrintWay FSA can process
them.
Note: If all IP PrintWay FSAs stop processing, the transmission-queue should be empty. If
any entries do remain, delete the entries or reallocate the data set before restarting IP
PrintWay.
005260 9.134.109.105
005261 ebopcl
005262 2008050713493964-ANFM604I Data set:
005263 WTSCPLX9.VAIN.VAIN4.JOB43370.D000000A.LIST#AA#
005264 The data set is being released to JES
005265 2008050816065054-ANFM699I FSS: PRINTWAY The queue manager has stopped
005266 2008050816065572-ANFM004I Using message table ENU
005267 2008050816065576-ANFM600I FSS: PRINTWAY The queue manager has been started
005268 2008050816065595-ANFM1120I The host name of the system where IP Printway is
005269 running: wtsc43
005270 2008050816071020-API0850I NETSPOOL Command accepted
005271 2008050816071786-API1021I NETSPOOL NetSpool initialization is complete.
005272 2008050816071786 <<<<================================>>>>
005273 PASS
005274 2004031214350165-ANFM604I Data set:
005275 WTSCPLX9.ROGERS03.ROGERS03.JOB13701.D00000B8.PS070154
005276 The data set is being released to JES
005277 2004031214350180-ANFM700I Data set:
005278 WTSCPLX9.FADEL.FADEL.JOB13701.D00000BA.PS070156
005279 The data set has been acquired by PRTWAY
005280 2004031214424433-ANFM601I Data set:
005281 WTSCPLX9.ROGERS03.ROGERS03.JOB13701.D00000B9.PS070155
005282 The data set was successfully transmitted to host and queue:
005283 9.12.14.94
005284 PASS
The messages wrap around to the beginning when the data set becomes full. The time stamp
preceding each message indicates when IP PrintWay wrote the message. IP PrintWay writes
a string containing equal signs (======) at the end of the last message written.
Viewing messages
To view the messages:
1. Start an Infoprint Server ISPF session.
2. On the main Infoprint Server ISPF panel, select 7 Configure. Make sure that the Message
log field contains the correct name of the IP PrintWay message log.
3. On the main Infoprint Server ISPF panel, select 6 PrintWay Message.
4. To find the latest message, press the REFRESH function key on the Infoprint Server ISPF
panels, or search for a string of equal signs.
Create the APPL statement in a new or existing application major node definition, for
example:
PRINTWAY VBUILD TYPE=APPL Application major node
PWAPPL01 APPL AUTH=ACQ Lets IP PrintWay acquire printer
PWAPPL02 APPL AUTH=ACQ Lets IP PrintWay acquire printer
AUTH=ACQ This parameter permits IP PrintWay to initiate a session with the printer.
AUTH=ACQ is required.
Note: After you create the APPL statement, you must specify the name of the APPL
statement in the FSS definition.
To print on VTAM-controlled printers, Infoprint Coaxial Printer Support for z/OS is required.
If you want to change the LE run-time options, create a CEEUOPT object file. Then create an
SMPE usermod to link-edit the object file with ANFICONV.
System abends can occur because JES uses storage below the 16 MB line in the IP
PrintWay FSS address space for control blocks for data sets that IP PrintWay has acquired
from the JES spool. Acquired data sets include data sets that IP PrintWay is currently
processing, as well as data sets that IP PrintWay has retained on the JES spool. JES uses
about 4K bytes of storage below the 16 MB line for each acquired data set. JES releases the
storage when the data set is deleted from the JES spool.
IP PrintWay FSA
One PrintWay FSA can transmit data sets to many printers or e-mail destinations. However,
for improved throughput and more efficient use of system resources, you might want to define
several FSAs per FSS. JES lets you define up to 64 FSAs per FSS. Consider the following:
Define at least two IP PrintWay FSAs so that when one FSA is waiting for a printer to
respond, the second IP PrintWay FSA can print another document on a different printer.
Do not define more than 35 FSAs per FSS.
Determine how many jobs need to print concurrently (the burst rate), and specify at least
that many FSAs. For example, some installations with low print volume can drive as many
as 600 printers with 5 or 6 FSAs.
To make sure that critical printers are available for printing at all times, define a separate
FSS for each critical printer. In each JES FSA definition, specify unique work-selection
criteria so that the FSA selects output data sets only for that one printer. For example, the
work-selection criteria could be the DEST value (or a combination of DEST and FORMS
values) specified in the printer definition for the printer.
IP PrintWay uses printer-selection criteria to select printers. IP PrintWay uses either the
printer definition name or a combination of the DEST, CLASS, and FORMS values specified
in the OUTPUT JCL statement to select printers.
You can specify a default font and page definition to JES in these ways:
JES2 Specify a default font in (1) the NIUCS parameter on the JES2 PRINTDEF
statement or (2) the UCS parameter on the JES2 PRTnnnnn statement for the IP
PrintWay FSA. If you do not specify a default font, JES2 uses GF10 as the default
font.
Specify a default page definition in (1) the NIFCB parameter on the JES2
PRINTDEF statement or (2) the FCB parameter on the JES2 PRTnnnnn statement
for the IP PrintWay FSA.
JES3 Specify a default font in (1) the CHARS parameter on the JES3 OUTSERV
statement or (2) the CHARS parameter on the JES3 DEVICE statement for the IP
PrintWay FSA. If you do not specify a default font, JES3 uses font GS10 as the
default font.
JES2 example
FSS(PRTWAY1),PROC=ANFWPROC
PRT1 FSS=PRTWAY1,MODE=FSS,START=NO,TRKCELL=YES,WS=(Q),CL=J
PRT2 FSS=PRTWAY1,MODE=FSS,START=NO,TRKCELL=YES,WS=(Q),CL=J
PRT3 FSS=PRTWAY1,MODE=FSS,START=NO,TRKCELL=YES,WS=(Q),CL=J
JES3 example
FSSDEF,TYPE=WTR,FSSNAME=PRTWAY1,PNAME=AFNWPROC,
DEVICE,DTYPE=PRTAFP1,JNAME=PRT1,FSSNAME=PRTWAY1,
JUNIT=(,SC50,UR,,,SC49,UR),MODE=FSS,WC=(J),WS=(CL)
DEVICE,DTYPE=PRTAFP1,JNAME=PRT2,FSSNAME=PRTWAY1,
JUNIT=(,SC50,UR,,,SC49,UR),MODE=FSS,WC=(J),WS=(CL)
DEVICE,DTYPE=PRTAFP1,JNAME=PRT3,FSSNAME=PRTWAY1,
JUNIT=(,SC50,UR,,,SC49,UR),MODE=FSS,WC=(J),WS=(CL)
Also, specify TRUNC=NO on the JES3 SYSOUT statements for all output classes that IP
PrintWay basic mode processes. This prevents JES from removing EBCDIC blanks at the
end of each record on the JES spool, which JES does by default to save spool space. ASCII
data streams (for example, PCL, PostScript, and PDF data streams) might not print properly if
JES removes EBCDIC blanks. The JES default is the value set in the TRUNC parameter of
the JES3 BUFFER statement or, if none is specified, TRUNC=YES.
If you specify TRUNC=YES or take the default, before IP PrintWay basic mode prints a data
set, it restores the blanks that JES removed unless the data set contains line data or text
data. To obtain this support, you must run the z/OS V1R5 (or higher) level of JES3. For the
best performance, however, you should always request that JES3 perform no blank
truncation for all IP PrintWay basic mode output classes.
Better performance
Increased reliability
Improved usability
IP PrintWay extended mode calls data stream transforms and other filters directly without
resubmitting them to Print Interface for filtering. Calling transforms directly is more efficient
because data is not written to the JES spool a second time.
IP PrintWay extended mode can print data sets larger than 2 gigabytes if space is available in
the /var/Printsrv/ file system.
IP PrintWay extended mode can print to printers that have IPv6 addresses. However, you
must use the host name (instead of the colon-hexadecimal address) in the DEST=IP: JCL
parameter, in Infoprint Server job attributes, and in printer definitions.
IP PrintWay extended mode writes the printer address for all protocol types in the SMF type 6
record.
IP PrintWay extended mode has enhanced how it selects print jobs from the JES spool:
It can select all print jobs that specify the DEST=IP: parameter on the OUTPUT JCL
statement. You specify this job selection criterion in a job selection rule in the Printer
Inventory.
If print jobs request a printer that is not defined in the Printer Inventory, IP PrintWay
extended mode releases the print job back to JES so that another program can select the
print job for processing.
Sysplex limitation
IP PrintWay extended mode cannot share printing information across multiple systems in a
sysplex as IP PrintWay basic mode can:
IP PrintWay basic mode keeps queue information in its transmission-queue data set and
keeps messages in its message-log data set. Both data sets can be shared across
multiple systems.
IP PrintWay extended mode keeps queue information in the Printer Inventory and keeps
messages in the common message log. The Printer Inventory and common message log
cannot be shared across multiple systems.
You can also use the BPXPRMxx parmlib member to specify the respective values: the
maximum number of processes for a single user ID (MAXPROCUSER), the maximum
number of processes that the z/OS system allows (MAXPROCSYS), and the pathname of the
file containing a list of MVS data sets for use as step libraries (STEPLIBLIST).
Environment variables
You must specify environment variables for IP PrintWay extended mode if any of these
conditions apply:
You have written IP PrintWay exits and the library that contains the exits is not in the
system LNKLST
You use FCBs in your installation and the SYS1.IMAGELIB library is not in the system
LNKLST
You send output to e-mail destinations and the z/OS UNIX sendmail command was not
installed in the default directory
You have more than one TCP/IP stack in your installation
If the administrator selects one of the Printer Job Control (PJL) options in the printer definition
(Restart printing after last successful page or Record pages printed successfully), that printer
definition cannot be used to print documents that already contain PJL JOB commands. This
is because a PJL JOB command in the document would conflict with the PJL JOB command
that IP PrintWay adds to the document.
If you use Infoprint transforms, you might need to customize the AFP to PCL and AFP to
PostScript transforms not to add a PJL JOB command to the transformed data stream. Set
environment = { AOP_PJL->no } in the aopxdf.conf file for these transforms.
DEST. . . *
CLASS . . Y
FORMS . . STD
Creator .
WRITER. .
Figure 5-31 Infoprint Server ISPF Job Selection Rule display panel
Important: If you want to run IP PrintWay extended mode and IP PrintWay basic mode at
the same time, make sure that IP PrintWay extended mode does not select the same print
jobs that IP PrintWay basic mode does.
Note: In JES3 complex you should run Infoprint Server (Print Interface, NetSpool, and IP
PrintWay) on only one system in the sysplex. However, if you want to run Infoprint Server
on more than one system, consider the following:
IP PrintWay on each system must select different print jobs from the JES spool. To
accomplish this, you must define different job selection rules for IP PrintWay on each
system. For example, IP PrintWay on system A could select print jobs in class P, while
IP PrintWay on system B could select print jobs in class Q.
Print Interface and NetSpool on each system must allocate print jobs with job selection
criteria that match IP PrintWay running on the same system. For example, Print
Interface and NetSpool running on system A could allocate print jobs in class P, while
Print Interface and NetSpool running on system B could allocate print jobs in class Q.
The panel shown in Figure 5-32 manages the inventory of printer information that is used by
NetSpool, the Print Interface, IP PrintWay, and PSF. These applications obtain information
from the inventory about handling jobs on the JES spool and starting and stopping their
processes. Option 4 on this panel directs you to the add, display, or update job selection
definitions dialog.
Figure 5-33 FSA, FSS, Pool, and Job Selection Rule Management panel
To use this panel, type one of the listed option numbers in the Option field and press Enter.
Or, if you have enabled point-and-shoot, move the cursor to the option and select it. The
options are:
Add Add an FSA definition, an FSS definition, a pool definition, or a job selection rule.
List List all the definitions or rules, and then browse, copy, edit, or delete them.
Select Enter selection criteria to list definitions that match the criteria.
IP PrintWay uses the job selection rules to determine which print jobs to select from the JES
spool for printing. You must create at least one job selection rule for IP PrintWay to select
print jobs. The attributes of the print job must match all of the values in a rule to be selected.
One job selection rule should be sufficient for many installations. You do not need to specify
more than one job selection rule to obtain more efficient work load balancing. However, if you
want IP PrintWay to process different print jobs at different times of the day, or if you want
different operators to start and stop processing of different print jobs, you should create
separate job selection rules. For example, you could create a separate job selection rule to
process print jobs that are submitted to an output class reserved for overnight jobs in your
installation. Operators could start this job selection rule in the evening and stop it during the
day.
To authorize users to read the Printer Inventory, using either Infoprint Central or Infoprint
Server ISPF panels, give the AOP.ADMINISTRATOR profile in the PRINTSRV class
universal READ access or give all Infoprint Central users READ access.
Profiles in the PRINTSRV class restrict who can work with printers. Profiles in the PRINTSRV
class can apply to both IP PrintWay and PSF printers. The RACF PERMIT command you use
determines what the administrator can do, display, start, or stop the rule.
You can define a separate profile to protect each printer, or you can define one profile to
protect a group of printers or all printers. For example, if you want to authorize different users
to work with printers in different locations, define separate profiles for printers in each
location. If you want to authorize the same group of users to work with all printers, you need
to define only one profile.
You specify the name of the profile that applies to each printer in the Printer Inventory:
IP PrintWay printers: Specify the profile name in the printer’s printer definition.
PSF printers: Specify the profile name in the printer’s FSA definition.
Figure 5-36 Authorizing JES spool and SMF for Infoprint Server
IBM recommends that you give the AOPOPER group access to profiles in the JESSPOOL
class because users who start Infoprint Server must be members of the AOPOPER group or
have a UID of 0. (AOPOPER is the default group name for Infoprint Server operators.
However, your installation can assign a different name to this group.) If someone with a user
ID of 0 who is not a member of the AOPOPER group can start Infoprint Server (for example,
using the aopstart command), you must also give this user ID access to the profiles in the
JESSPOOL class. If you start Infoprint Server in the /etc/rc file, give user ID ROOT access to
the profiles, for example:
To define a broad profile to protect all print jobs on node N1, enter this RACF
command:
RDEFINE JESSPOOL (N1.*.*.*.D*.*) UACC(NONE)
To give the AOPOPER group UPDATE access to the broad profile, enter these RACF
commands:
PERMIT N1.*.*.*.D*.* CLASS(JESSPOOL) ID(AOPOPER) ACCESS(UPDATE) SETROPTS
RACLIST(JESSPOOL) REFRESH
If you permit the AOPOPER group to profiles while IP PrintWay extended mode daemons
(aopoutd and aopwsmd) are started, stop and restart them to pick up the changes. For
information about how to stop and start Infoprint Server daemons, see z/OS Infoprint Server
Operation and Administration.
Do not activate the JESSPOOL class while IP PrintWay extended mode is running.
Users who start Infoprint Server must be members of the AOPOPER RACF group, or have a
UID of 0. (AOPOPER is the default group name for Infoprint Server operators. However, your
installation can assign a different name to this group.) Therefore, IBM recommends that you
give the AOPOPER group access to the BPX.SMF profile as shown in this example. If
someone with a user ID of 0 who is not a member of the AOPOPER group can start Infoprint
Server (for example, using the aopstart command), you must also give this user ID access to
the BPX.SMF profile, for example:
If you permit the AOPOPER group to the BPX.SMF profile while IP PrintWay extended mode
daemons (aopoutd and aopwsmd) are started, stop and restart them to pick up the changes.
For information about how to stop and start Infoprint Server daemons, see z/OS Infoprint
Server Operation and Administration, S544-5745.
When the e-mail protocol is selected in a printer definition, IP PrintWay uses z/OS UNIX
sendmail to prepare and send e-mails to the recipients listed in the printer definition.
Sendmail is a mail transfer agent provided with z/OS Communications Server that provides
enhanced SMTP support. Sendmail version 8.12.1 runs on z/OS V1R5.
Customize the Timeout option in the sendmail configuration file to suit your installation. The
Timeout option specifies how long sendmail waits before sending a warning that e-mail could
not be delivered to a remote system and how long sendmail waits before bouncing e-mail.
Bounced e-mail is undeliverable e-mail.
To use the su command, you must be permitted to the BPX.SUPERUSER profile in the
FACILITY class in RACF.
Starting sendmail
If you want sendmail to start automatically when the z/OS system is initialized, specify the
sendmail command in the /etc/rc file.
In the sendmail aliases file, you can create alias names to represent a list of real e-mail
addresses. When you create an alias, you should specify the user ID that owns the list in the
owner-alias statement. The user ID that owns the list receives notification about bounced
e-mails. If you do not specify the user ID that owns the alias name, sendmail sends
notification of bounced e-mails to the user ID assigned to the IP PrintWay startup procedure
(basic mode) or to the user ID who started the Infoprint Server daemons (extended mode).
Configure the z/OS system so that a firewall does not prevent users from sending e-mails.
Also if you want to receive replies from e-mails or sendmail notifications about undeliverable
e-mails, configure your z/OS system so that it can receive e-mails from outside the firewall.
If you do not install sendmail in the default directory, /usr/sbin, specify the full path name of
the sendmail command in the AOPMAILER environment variable in the IP PrintWay startup
procedure (basic mode) or in the aopstart EXEC (extended mode).
Much of the sendmail samples directory is dedicated to the automated creation of the
configuration file. The /usr/lpp/tcpip/samples/sendmail/cf directory contains a sample.mc file
and the subsequent sample.cf configuration file that was created by running the m4 macro
preprocessor on the sample.mc file.
Chapter 6. NetSpool
NetSpool intercepts print data from VTAM applications, such as CICS and IMS; transforms
the data streams to EBCDIC line data, PCL, PDF, or other formats that the printer accepts;
and allocates output data sets on the JES spool. JES or PSF can print the output data sets or
JES can transmit them to other locations for printing. IP PrintWay can transmit the output data
sets to remote printers in your TCP/IP network.
You can configure NetSpool so that you do not need to change existing VTAM applications.
That is, existing VTAM applications can send print requests to NetSpool in the same manner
as they currently send print requests to SNA network printers.
Transform
HFS
(2) Printer LU VTAM
Manager
Printer LU Application
Printer Printer LU
Inventory NetSpool
(3) Address
Space
Other transforms
(4)
NetSpool Client Infoprint Server
Transforms
(5)
JES Spool
NetSpool overview
The NetSpool component of Infoprint Server intercepts print data from VTAM applications,
such as CICS and IMS; transforms the data streams to EBCDIC line data, PCL, PDF, or other
formats that the printer accepts; and creates output data sets on the JES2 or JES3 spool.
You can configure NetSpool so that you do not need to change existing VTAM applications.
That is, existing VTAM applications can send print requests to NetSpool in the same manner
as they currently send print requests to SNA network printers.
NetSpool daemon
The NetSpool daemon, aopnetd, controls part of the NetSpool processing. You start the
daemon with the aopstart command. You can only run one NetSpool daemon, but it can
control several NetSpool started tasks.
NetSpool features
Transforms - SCS and 3270 data streams
To line data and PCL
To line data and then PostScript or PDF
Binary data support - No formatting
Validation of print requests
Operator control
NetSpool LUs from Infoprint Central
z/OS consoles
Broadcasting output
Printer pool definition
Exits and filters
Owner and job attribute support
Print data
Printer definition
Default - user ID of the NetSpool daemon aopnetd
For information about how NetSpool transforms SCS and 3270 data streams, see the
appendixes in z/OS Infoprint Server User’s Guide, S544-5746.
The operator can use tools such as SDSF and Infoprint Central to find output data sets that
NetSpool writes to the JES spool. Infoprint Central can display additional status such as
whether the output data sets (called print jobs) completed successfully, were retained due to
failed transmission to LAN printers, or were deleted before printing.
Broadcasting output
You can print output to several printers and send it to e-mail destinations with one print
request. To do this, the administrator creates a printer pool definition in the Printer Inventory.
When VTAM application data is submitted to a printer pool definition, NetSpool creates
multiple output data sets on the JES spool.
The default Infoprint Server job owner for the associated logical unit is retrieved from the
printer definition if the print data does not specify an owner. The job owner is used for output
data sets created for this NetSpool LU If not specified elsewhere. The default job owner is the
user ID of the NetSpool daemon AOPNETD.
Either method can help you identify the owner of printed output or the user to charge in an
accounting system for printing jobs, such as SMF accounting records.
Default value: NetSpool uses the ID of the user who started the Infoprint Server daemons as
the default job owner.
To embed the owner job attribute or other job attributes in print data, you code a text string
that contains the job attributes. NetSpool uses the embedded attributes, and then removes
the text string from the data stream before it converts the data stream and puts it on the JES
spool.
As an example of job attribute specification, the following text string embeds the owner job
attribute “JUHA” before the print data “....print data.....”:
<<ibmjobattr0010owner=JUHA....print data.....
Following are examples of specifying one or more job attributes, such as the owner, forms,
page-definition, or form-definition. Separate more than one job attribute with a space.
owner=murphy
owner=smith copies=3
department-text=Purchasing
In 3270 data streams, put the text string after the Command Code and the Write Control
Character, but before any End Message Control Character (X'19').
Consider using a delimiter, such as a carriage return, between the text string and any print
data to be sure that the data prints correctly on the page. In 3270 data streams, you can use
a Set Buffer Address Control as the delimiter.
In data streams that contain double-byte character set (DBCS) data, code the text string as
single-byte data.
IBM recommends that you do not use embedded job attributes if you specify the Timer
end-of-file rule. Results can be unpredictable.
To use the NetSpool message log, you must allocate space for the data set and initialize it.
You can use the sample JCL in SYS1.SAMPLIB (APIMIJCL) to allocate space and run the
ANFMFILE program to initialize the data set.
Restriction: If you start more than one NetSpool task, you cannot use Infoprint Central to
work with NetSpool LUs.
If you start more than one NetSpool task, specify unique class values in the LUCLASS
parameter in the startup procedure for each task. These class values correspond to LU class
values specified in the printer definitions in the Printer Inventory. Unique class values cause
each NetSpool started task to start different printer LUs.
Edit the APIJPJCL procedure if any of these conditions apply to your installation:
If you did not add the Language Environment run-time library, CEE.SCEERUN, to the
system LNKLST, add the SCEERUN data set to the STEPLIB DD statement.
If you did not add the C++ run-time library, CBC.SCLBDLL, to the system LNKLST, add
the SCLBDLL data set to the STEPLIB DD statement.
If you use a NetSpool exit and the library that contains the exit is not in the standard
z/OSR search order, add the library to the STEPLIB DD statement.
If you want to start NetSpool LU classes other than class 1, specify the classes in the
LUCLASS parameter of the PROC statement.
If the Printer Inventory name is not the default name, AOP1, specify the inventory name in
the INV parameter of the PROC statement.
If you do not use the default name for the NetSpool message-log data set, change the
data set name in the MSGFILE parameter of the PROC statement.
If you want to receive NetSpool messages in Japanese, specify the LANGUAGE
parameter in the EXEC statement.
When using MCS consoles, messages sent in response to NetSpool operator commands
are routed to the console that issued the command. If you want to receive NetSpool
unsolicited messages on an alternate console, specify the CONSNAME parameter in the
EXEC statement.
LU class
A number from 1 to 64
NetSpool LUs
LUs start by LU class
NetSpool start procedure can specify LU class
PARM='LUCLASS=
Multiple NetSpool tasks
Start different classes for each task
NetSpool LUs
When NetSpool starts, it starts LUs according to LU class; therefore, specify the same LU
class for all NetSpool LUs that you want to start at the same time.
If you start more than one NetSpool task, specify unique class values in the LUCLASS
parameter in the startup procedure for each task. These class values correspond to LU class
values specified in the printer definitions in the Printer Inventory. Unique class values cause
each NetSpool started task to start different printer LUs.
Many IMS and CICS applications have algorithms that derive LTERM or TCTTE names for
printers by doing some hashing technique on the input LTERM or TCTTE names. If NetSpool
is used with Telnet, this creates problems because Telnet assigns the input LU name (and
thereby the LTERM or TCTTE name) arbitrarily from a pool of LU names. If this type of
algorithm is in use in your installation, and you are using Telnet, IBM recommends that you
use the IP-LU mapping feature of Telnet. This feature enables you to specify the input LU
name rather than having it randomly selected from a pool. This would, in turn, permit the
You must create a VTAM APPL definition statement in the SYS1.VTAMLST data set for each
NetSpool printer LU. Create the APPL statement in a new or existing application major node
definition.
NETSPOOL VBUILD TYPE=APPL
LUPRT001 APPL MODETAB=ISTINCLM,DLOGMOD=S3270,EAS=1,SESSLIM=YES
IMSPR002 APPL ACBNAME=LUPRT002,MODETAB=ISTINCLM,DLOGMOD=SCS,EAS=1,SESSLIM=YES
3270 data LU 0 2 2
3270 data LU 3 3 3
SCS LU 1 3 or 4 3 or 4
SNA architecture
SNA architecture defines six control layers. The functions of the SNA layers are:
Data link control (DLC): Defines several protocols for communication.
Path control: - Performs many network layer functions, including routing, segmentation,
and reassembly.
Transmission control: Provides a reliable end-to-end communication service, as well as
encryption/decryption services.
Data flow control: Manages request and respond processing, determines whose turn it is
to communicate, groups messages, and interrupts data flow on request.
Presentation service: Specifies the data transmission algorithms that translate data
format, coordinate resource sharing, and synchronize transaction operations.
Transaction services: Provides application services in the form of programs that
implement distributed processing or management services.
Logical Unit (LU) is a port through which a user accesses the SNA network in order to
communicate with other users and the functions provided by the system services control point
(SSCP). When a client LU wants to start a session with a server LU, it generates a BIND
request.
VTAM applications
VTAM applications that establish sessions with NetSpool printer LUs can either use the BIND
parameters in the logon mode table entry referred to in the APPL statement for the NetSpool
printer LU, or the applications can override the BIND parameters, using their own resource
definitions. In either case, the BIND parameters must be correct.
In most cases, CICS and IMS subsystems override the BIND parameters associated with the
NetSpool printer LU with BIND parameters that are consistent with the type of data in the print
requests. However, in one case, when an IMS application sends a BIND request, and the
NetSpool printer LU logical printer is defined in IMS as a non-SNA 3270 device, IMS uses the
BIND parameters specified for the NetSpool printer LU, without any changes. Therefore, in
this instance, the BIND parameters for the NetSpool printer LU must be correct for a 3270
data stream.
<<ibmjobattr
NetSpool LU name
The logical unit (LU) name that NetSpool uses to identify a printer must be a unique LU name
within the Printer Inventory. This field is required for NetSpool to start a session with this
printer. This name must match an LU name specified in the ACBNAME field of the VTAM
APPL definition statements.
NetSpool Options
The panel shown in Figure 6-10 lets you view and customize NetSpool attributes for a printer
definition. The fields on this panel include the printer definition name and printer attributes
that NetSpool uses.
Embedded attributes prefix - This field identifies job attributes embedded in the print data.
For information about how to embed job attributes in VTAM application print data, see z/OS
Infoprint Server User’s Guide, S544-5746. NetSpool uses the embedded job attributes when
it allocates an output data set on the spool. In the example in Figure 6-10, <<ibmjobattr is
specified.
Record size - The maximum record size for the variable-length records that NetSpool writes
to the output data set when the formatting option is None. This field is not required; if you
leave this field blank, the default value is 32752. The range of values is 1 to 32752.
Note: If the length of the data in the input Request Unit (RU) is less than the maximum
record size, NetSpool writes one record.
If the length of the data in the input RU is greater than the maximum record size, NetSpool
writes multiple records.
If you select formatting option Convert to line or Convert to PCL, do not specify a value in
this field.
In the individual printer definitions in the list, you do not need to specify an LU name, LU
class, or end-of-file rules because you specify them in the printer pool definition. However, if
you want to specify NetSpool formatting values, you must specify them in the first printer
definition in the list. NetSpool uses these fields in the first printer definition and ignores them
in subsequent printer definitions:
All fields in the NetSpool Options section
SCS Conversion and NetSpool PCL Conversion fields in the Processing section
SEGMENT and HOLD fields in the Allocation section
Note: When NetSpool starts, it starts LUs according to LU class; therefore, specify the
same LU class for all NetSpool LUs that you want to start at the same time.
Note: To list existing NetSpool end-of-file components, place the cursor on the word “list”
and press Enter (except in Browse Mode); from the list, you can also create and edit
components.
Default owner
The default Infoprint Server job owner for the associated logical unit if the print data does not
specify an owner. The job owner is used for output data sets created for this NetSpool LU. If
this field is blank, the default job owner is the user ID of the NetSpool daemon AOPNETD.
Note: The Infoprint Server job owner helps you find jobs in z/OS Infoprint Central. The JES
job owner is always the user ID of the NetSpool task. The job owner in this field is also
used as the JES job name if no other owner or job name is specified in the print data.
Note: NetSpool uses the following fields in the first printer definition in the list; NetSpool
ignores these fields in subsequent printer definitions:
All fields in the NetSpool Options section
SCS Conversion and NetSpool PCL Conversion fields in the Processing section
SEGMENT and HOLD fields in the Allocation section
In addition to writing NetSpool exits, you can also write filter programs to modify the data
stream or add separator pages. When you write a filter program and specify it in the printer
definition, Print Interface and IP PrintWay can also use it. However, a filter program is called
only once for any data stream. NetSpool calls filters after the SCS or 3270 data stream has
been converted to either line data or PCL data.
For example, if PSF processes XML data sets that are in output class X, specify
BLNKTRNC=NO (in JES2) and TRUNC=NO (in JES3) for class X.
Note: When you use IP PrintWay instead of PSF to send data to the printer, you can
request either JES blank truncation (to save spool space) or JES no blank truncation. This
is because any truncated characters are restored before data is printed.
If NetSpool cannot start a printer LU because the printer LU is inactive in VTAM or because it
is started by another NetSpool started task, NetSpool starts the printer LU automatically when
the printer LU becomes available.
After you start NetSpool, to display the status of the printer LUs that NetSpool started or
attempted to start. use either:
Infoprint Central
Note: You cannot use Infoprint Central to display LU status if your installation starts
more than one NetSpool task.
Stopping NetSpool
You can enter one of several NetSpool operator commands to stop a NetSpool started task,
depending on how quickly you want to stop NetSpool. You can stop NetSpool:
After all VTAM sessions end normally.
Immediately, after NetSpool ends all VTAM sessions.
Immediately, without ending VTAM sessions. Use this method only if other methods fail.
The VTAM HALT command also can cause sessions with NetSpool printer LUs to end or can
stop the NetSpool task.
The MVS STOP command provides the same function as the KILL command.
P jobname[.id]
Attention: Use the KILL and STOP commands only when a hang condition prevents
completion of a QUIT FORCE command.
{F | MODIFY} jobname[.id],NetSpool_command
Starting NetSpool printer LUs
VARY NET,ACT,ID=lu-name
F jobname[.id],LUNAME=lu-name,ADD
Stopping NetSpool printer LUs
VARY NET,INACT,ID=lu-name,TYPE=IMMED
F jobname[.id],LUNAME=lu-name,DEL
F jobname[.id],LUNAME=lu-name,PURGE
Displaying the status of NetSpool printer LUs
F jobname[.id],DISPLAY {LUNAME=luname |
SELECTED | STARTED | WAITING | RACE}
The MVS MODIFY and STOP commands use the jobname and identifier fields to direct the
command to the appropriate NetSpool task. If only one NetSpool task is started on a system,
or if you specified a different jobname for each started task the JOBNAME parameter of the
START command, specify only the jobname field in the command. However, if you started
multiple NetSpool tasks with the same jobname, use the identifier field to distinguish between
them.
If you remove a printer LU name from a printer definition after NetSpool is started, NetSpool
automatically stops the printer LU after the VTAM application ends the session. Therefore,
you do not need to use stop the printer LU in this case.
VARY NET,INACT,ID=lu-name,TYPE=IMMED
F jobname[.id],LUNAME=lu-name,DEL
NetSpool deletes the selected printer LU from its list of printers. Use the LUNAME DEL
command without preceding it with a VARY INACT command only when the printer LU has
not been successfully started. That is, the printer LU is in the WAITING state.
The LUNAME PURGE command is useful when, because of a significant error with the
printer LU, you want processing to stop immediately for that printer LU and you do not want to
allow any more data to be sent to it.
F jobname.id,LUNAME=lu-name,DEL
Where:
LUNAME=luname Requests that NetSpool display the status for the printer LU.
SELECTED Requests that NetSpool display the printer LUs that are selected for
processing. The status of the printers is STARTED, WAITING, or
PENDING CLOSE. The minimum abbreviation allowed is SEL.
STARTED Requests that NetSpool display all printer LUs in the STARTED state.
The minimum abbreviation allowed is STA.
WAITING Requests that NetSpool display all printer LUs in the WAITING state.
The minimum abbreviation allowed is WAIT.
TRACE Requests that NetSpool display all printer LUs that are being traced
and whether internal tracing is active.
An example follows:
F NETSPOOL,DISPLAY SELECTED
API1008I NETSPOOL Display of SELECTED LUs
API1002I NETSPOOL SC43PR05 - LU is STARTED, SESSION = INACTIVE, 137
POOLNAME = email, LUTYPE = 1, PLU = SC43RM02, EOFRULE = EB
API1002I NETSPOOL SC43PR01 - LU is STARTED, SESSION = INACTIVE, PRINTERNAME =
IAZFSSL
API1002I NETSPOOL SC43PR02 - LU is STARTED, SESSION = INACTIVE, 139
PRINTERNAME = IAZFSS, LUTYPE = 1, PLU = SC43RM02, EOFRULE = EB
API1002I NETSPOOL SC43PR04 - LU is STARTED, SESSION = INACTIVE, PRINTERNAME =
ILPO
API1002I NETSPOOL SC43PR03 - LU is STARTED, SESSION = INACTIVE, PRINTERNAME =
FIKE
When you log on to Infoprint Central, you can log on to only one z/OS system. You can see all
the print jobs, printer queues, and Infoprint Server messages for that one z/OS system only.
To see print jobs, printer queues, and messages for more than one system, you can open
separate instances of your Web browser and log on to several z/OS systems at a time.
z/OS
Infoprint
HTTP Server
Server
Commands
http://wtsc65oe.itso.ibm.com/Infoprint/En_US/IPS.html to z/OS
HFS
Printer EMCS Console
Inventory JES Spool
Print File
PRT1 PRT2
DEST=PRT1
Figure 7-1 Infoprint Central access to Infoprint Server printers and Printer Inventory
Note: To encrypt and decrypt information that passes between the user’s browser and the
HTTP Server, you can customize the HTTP Server to use the Secure Sockets Layer (SSL)
protocol.
EMCS console
Infoprint Central uses an extended MCS (EMCS) console to send commands to the z/OS
system. The name of the console is defined in the aopd.conf configuration file, as shown in
“aopd.conf configuration file parameters” on page 77.
Infoprint Central
Infoprint Central is a Web-based print management system primarily for help desk operators.
However, other authorized users or job submitters can also use it. It is primarily used by help
desk operators. However, other authorized users and job submitters can also use Infoprint
Central.
Limitation: If more than one NetSpool task is running on the z/OS system, you cannot use
Infoprint Central to work with NetSpool LUs. Instead, you must use NetSpool commands and
VTAM commands, which you can direct to the NetSpool task.
System status
System status displays information about the Infoprint Server system. You can:
Check whether Infoprint Server daemons and tasks are started.
You cannot start and stop daemons or tasks from this panel. Ask your operator to start
daemons with the aopstart command or AOPSTART procedure.
Check which IP PrintWay job selection rules are in effect.
You can start and stop job selection rules from this panel.
Suggestion:
Start a separate HTTP Server to be used exclusively by Infoprint Central. This can
improve Infoprint Central performance. Also, it lets you customize the HTTP Server for
Infoprint Central without affecting other applications that use the HTTP Server.
Start an HTTP Server on each z/OS system where Infoprint Server is running. This is
done because the HTTP Server can display Infoprint Central Web pages only for Infoprint
Server running on the same z/OS system as the HTTP Server.
Customize the HTTP Server to use the Secure Sockets Layer (SSL) protocol if you want
to encrypt information that passes between the user’s browser and the HTTP Server.
The z/OS HTTP Server configuration file, httpd.conf, contains directives that customize the
HTTP Server. The default location of this configuration file is /etc/httpd.conf.
You must add directives so that the HTTP Server can display Infoprint Central Web pages. In
addition, you can add directives to protect access to Infoprint Central Web pages and to tune
the HTTP Server.
Important:
Add the Pass directives before the ServerInit and Service directives.
Do not add the Pass directives in the section indicated in the configuration file
comments for Pass directives.
If any of the AddType directives already exist, delete or comment out the existing
directives so that the directives suitable for Infoprint Central are used. Notice that the
.css directive is present in the default configuration file.
Notice that you should specify the user IDs with both
uppercase and lowercase letters so that users can log on
using either case
Required variables
ICU_DATA
Add this value to the existing values. This value refers to IBM XML Toolkit V1R4 libraries:
/usr/lpp/ixm/IBM/xml4c-5_5/lib
LIBPATH
The path used to locate dynamic link libraries (DLLs). This environment variable is
required. Add these IBM XML Toolkit V1.8 library directories and the Infoprint Server
library directory to any existing values:
/usr/lpp/ixm/IBM/xml4c-5_5/lib
/usr/lpp/ixm/IBM/xslt4c-1_9/lib
/usr/lpp/Printsrv/lib
Separate directories with colons.
Default: None
Optional variables
AOP_READ_COMMUNITY
The SNMP community name that allows read access to TCP/IP-attached printers in your
installation. The SNMP read community name is required for Infoprint Central to display
information from the printer (such as status, paper level, and model) and to display the
turn online, turn offline, and reset printer actions. This environment variable is optional.
– For information about how to assign an SNMP read community name to a printer, see
the documentation for the printer or contact the printer manufacturer.
– You should assign the same SNMP read community name to all printers and specify it
in this environment variable. If a printer’s SNMP read community name is different from
the one specified in this environment variable, Infoprint Central does not display
information from the printer and does not display the turn online, turn offline, and reset
printer actions.
– To see information from the printer and printer actions, Infoprint Central users must
have READ access to the RACF profiles in the PRINTSRV and OPERCMDS classes
that protect the printer.
– Infoprint Central does not reveal this community name to Infoprint Central users.
Default: public
AOP_WRITE_COMMUNITY
The SNMP write community name that allows write access to TCP/IP-attached printers in
your installation. The SNMP write community name is required to turn printers online,
offline, and reset them. This environment variable is optional.
– For information about how to assign an SNMP write community name to printers, see
the documentation for the printer or contact the printer manufacturer.
– If you assign different SNMP write community names to your printers, specify the most
common community name in this environment variable. If this community name is not
correct for a particular printer, Infoprint Central asks the user to enter the SNMP write
community name for that printer.
– To do printer actions, Infoprint Central users must have CONTROL access to the
RACF profile in the PRINTSRV class that protects the printer.
– Infoprint Central does not reveal this community name to Infoprint Central users.
Default: public
AOPCENTRAL
The directory that contains Infoprint Central files. This environment variable is optional. If
you installed Infoprint Server files in the default directory, you do not need to set this
environment variable.
Default: AOPCENTRAL=/usr/lpp/Printsrv/InfoprintCentral
AOPCENTRAL_CODEPAGE
The EBCDIC code page that Infoprint Central uses when it searches for and displays
attributes in the Printer Inventory. Specify the same code page for the locale that is
The AOPCONF, LC_ALL, LC_CTYPE, LC_TIME, and TZ environment variables in the HTTP
Server environment variables file must match the variables specified in the environment for
the aopstart command in the STDENV data set for the AOPSTART JCL procedure.
See z/OS HTTP Server Planning, Installing, and Using, SC34-4826 for more information.
If the search database daemon (aopsdbd) fails, you must run the sdbu command again to
recreate the search database.
To specify the quotation mark (") as the JES3 escape character and the pound sign (#) as the
backspace character, code:
EDIT=("",#,,)
PRINTSRV class
Infoprint Server profiles in the PRINTSRV class restrict who can work with IP PrintWay and
PSF printers.
To set up security for Infoprint Central, you can define profiles in the PRINTSRV class. If you
define any profiles in the PRINTSRV class, you must activate the PRINTSRV class in RACF.
In addition, to improve performance, you should copy profiles in the PRINTSRV class into
virtual storage. If you copy profiles into virtual storage, you must refresh the PRINTSRV class
after you change any profiles or permit new users to the profiles to make the changes
effective. The SETROPTS command activates the PRINTSRV class and builds in-storage
profiles.
SETROPTS CLASSACT(PRINTSRV) RACLIST(PRINTSRV)
OPERCMDS class
Profiles in the OPERCMD class control the use of operator commands.
You can define profiles in the OPERCMDS class to restrict an Infoprint Central user’s actions
on PSF printers. Profiles in the OPERCMDS class also restrict access to JES commands.
In JES3 environments, you can also define profiles that apply just to one printer. To do this,
you specify the printer name in the last qualifier of the profile name.
If you have already defined profiles to protect printers in the OPERCMDS class, these profiles
should be suitable for Infoprint Central. However, be sure to give Infoprint Central users and
the AOPOPER group the required access to these existing profiles.
Note: If you define profiles in both classes, users must have access to both profiles to
perform actions on PSF printers.
Recommendations:
IP PrintWay printers: Define profiles in the PRINTSRV class to protect printers.
Otherwise, any Infoprint Central user can work with any IP PrintWay printer.
PSF printers: Define profiles in the PRINTSRV class to protect printers, or define
profiles in the OPERCMDS class to protect printer actions. Otherwise, any Infoprint
Central user can work with any PSF printer.
To authorize users to read the Printer Inventory, using either Infoprint Central or Infoprint
Server ISPF panels, give the AOP.ADMINISTRATOR profile in the PRINTSRV class
universal READ access or give all Infoprint Central users READ access.
RDEFINE PRINTSRV(AOP.ADMINISTRATOR) UACC(NONE)
PERMIT AOP.ADMINISTRATOR CLASS(PRINTSRV) ACCESS(READ) ID(userid or groupid)
SETROPTS RACLIST(PRINTSRV) REFRESH
Access to printers
You can define profiles in the PRINTSRV class to restrict who can work with printers. Profiles
in the PRINTSRV class can apply to both IP PrintWay and PSF printers. You can define a
separate profile to protect each printer, or you can define one profile to protect a group of
printers or all printers. For example, if you want to authorize different users to work with
printers in different locations, define separate profiles for printers in each location. You could
define one profile for all printers in one location, and another profile for all printers in another
location. If you want to authorize the same group of users to work with all printers, you need
to define only one profile.
Note: To specify the same operator security profile in a group of IP PrintWay printer
definitions, create a Protocol component with the name of the security profile and specify
that Protocol component in all the printer definitions. Creating a component makes it easier
to change the name of the profile if necessary.
JES3:
PERMIT JES3.*.* CLASS(OPERCMDS) ACCESS(UPDATE) ID(AOPOPER)
PERMIT JES3.*.*.* CLASS(OPERCMDS) ACCESS(UPDATE) ID(AOPOPER)
PERMIT MVS.MODIFY CLASS(OPERCMDS) ACCESS(UPDATE) ID(AOPOPER)
PERMIT MVS.VARY.NET CLASS(OPERCMDS) ACCESS(UPDATE) ID(AOPOPER)
PERMIT N1.*.*.*.D*.* CLASS(JESSPOOL) ACCESS(UPDATE) ID(AOPOPER)
Refresh the OPERCMDS and JESSPOOL classes.
JES2: SETROPTS RACLIST(OPERCMDS) REFRESH
JES3: SETROPTS RACLIST(OPERCMDS JESSPOOL) REFRESH
If you permit the AOPOPER group to profiles while the Infoprint Central daemon (aopssid)
is started, stop and restart it to pick up the changes.
Figure 7-12 Security protection for NetSpool with Infoprint Central requests
Previously, it was discussed that to authorize users to read the Printer Inventory, using either
Infoprint Central or Infoprint Server ISPF panels, give the AOP.ADMINISTRATOR profile in
the PRINTSRV class universal READ access or give all Infoprint Central users READ access.
Usage consideration
Define the AOP.NETSPOOL profile. Otherwise, any Infoprint Central user can display, start,
and stop NetSpool LUs.
You can define a separate profile to protect each job selection rule, or you can define one
profile to protect a group of rules or all rules. You specify the profile that applies to each rule
in the job selection rule definition in the Printer Inventory. Read access to
AOP.ADMINISTRATOR profile grants job selection rule displays.
Usage considerations
Define profiles to protect job selection rules. Otherwise, any Infoprint Central user who is
authorized to read the Printer Inventory can display, start, and stop job selection rules.
Any Infoprint Central user who is authorized to read the Printer Inventory can display printer
definitions and printer pool definitions.
For the RACF profile that Infoprint Central checks, you must decide whether RACF should:
Notify the security administrator (with a message) if an access check fails. If you want to
receive RACF messages about access check failures in Infoprint Central, you must
Recommendation: Do not request notification or logging for RACF profiles that Infoprint
Central checks. As an alternative, request that RACF log only access check failures
greater than READ. This is because access check failures can be a normal occurrence as
Infoprint Central builds its Web pages and determines which objects and actions to display.
RACF messages and audit entries do not necessarily mean that the user asked to display
an object or selected a printer action protected by the profile. In addition, if you request
notification (NOTIFY), you might receive numerous RACF messages for the same user and
RACF profile because Infoprint Central sometimes checks the same profile numerous
times as it builds Web pages.
Infoprint Central lets users change the priority of print jobs. To restrict who can change the
priority of a print job, you can define the AOP.PRIORITY profile in the PRINTSRV class. If
you do not define the AOP.PRIORITY profile, the job submitter and any other user with the
required access to profiles in the OPERCMDS and JESSPOOL classes can change the
priority of a print job.
RDEFINE PRINTSRV (AOP.PRIORITY) UACC(NONE)
PERMIT AOP.PRIORITY CLASS(PRINTSRV) ACCESS(UPDATE) ID(userid or groupid)
http://wtsc65oe.itso.ibm.com/Infoprint/En_US/IPS.html
Do not block or disable all cookies. Infoprint Central stores cookies on your system to save
your search values. If you use Microsoft Internet Explorer, do not disable the meta refresh
security option. Infoprint Central uses the meta refresh function to display your search results
automatically. If you use Netscape Navigator, no action is required because Netscape always
enables the meta refresh function.
You must define users of Infoprint Central to RACF as z/OS UNIX users. Some Infoprint
Central actions require that users be authorized to read the Printer Inventory. These actions
include viewing PSF printers, printer definitions, printer pool definitions, and IP PrintWay job
selection rules.
(*) Notes:
1. To redirect an IP PrintWay printer to an alternate printer, CONTROL access is required
to the profiles for both printers.
2. To display information from the printer and to display some printer actions (turn online,
turn offline, and reset), the SNMP read community name for the printer must be
“public,” or it must be specified in the AOP_READ_COMMUNITY environment variable.
3. To perform some printer actions (turn online, turn offline, and reset), the Infoprint
Central user must enter the SNMP write community name for the printer unless the
write community name is “public” or it is specified in the AOP_WRITE_COMMUNITY
environment variable.
4. The RACF profile for the printer in the PRINTSRV class restricts access to the reset,
turn offline, and turn online actions.
awk command
awk is a powerful command that can perform many different operations on files. The general
purpose of awk is to read the contents of one or more files, obtain selected pieces of
information from the files, and present the information in a specified format.
Navigation bar
To log on to Infoprint Central, enter a URL in the browser:
http://hostname:port/Infoprint/En_US/IPS.html
https://hostname:port/Infoprint/En_US/IPS.html
Enter RACF user ID and password and you will see:
The default port number depends on whether you have customized the HTTP Server to use
Secure Sockets Layer (SSL):
The SSL default port is 443.
Otherwise, the default port is 80.
Figure 7-19 IP PrintWay printers display from working with Find printers button
To see detailed printer information about a printer and do additional actions: Select the
value in the Name or Printer host name or IP address field for the printer. On the IP PrintWay
Printer Information panel, you can see more information about the printer and do these
additional actions: Ping, Redirect, and View log.
To see the print queue for a printer: Select the value in the Active job count field for the
printer.
To see extended status information for a printer: Select the Web page ICON in the Status
field for the printer. This opens a new browser window with the URL set to the IP address of
the printer. Not all printers have a Web page. Also, if the printer is controlled by a print server,
Infoprint Central cannot display the printer’s Web page.
Attention:
To stop a printer immediately but without deleting the current print job:
On the Stop Printer panel, select Complete the current print job and then select OK.
On the IP PrintWay Printer Information panel, expand the Print Job Queue section.
On the Infoprint Server Print Jobs panel, hold the print job that is processing.
If a printer is not working, you can redirect all print jobs to an alternate IP PrintWay printer
after you stop it. To redirect a printer, Select (Redirect).
Start
Stop Action buttons
Ping
Redirect
View log
Expand buttons
Pinging a printer
When you select the Ping action button shown in Figure 7-20 on page 359, the window shown
in Figure 7-21 is displayed. The Response field displays the responses received from these
commands:
Ping Tests the TCP/IP network connection to a remote printer or print server.
Success means the TCP/IP network is working and the z/OS system can
communicate with the printer. If you ping a printer instead of a print server, a
successful response also means the printer is turned on. However, the printer might
be offline.
Failure means the printer did not respond in 1 second. This can occur if the network
is not working, the printer is not turned on, or the remote host is slow to respond.
LPQ Provides information about jobs on the LPD’s print queue. The information provided
depends on the printer’s implementation of the LPD. You can see a response from
this command only for IP PrintWay printers that use the LPR to LPD protocol to
communicate with the printer.
Success means the LPD in the printer or print server is running. However, the printer
might be offline.
Failure means the TCP/IP network connection to the printer or print server is not
working, the printer does not contain an LPD, or the LPD is not running.
If the ping command is successful but print jobs are not printing, make sure the printer is
online.
If the ping command is successful but print jobs are not printing on the expected printer, the
printer’s IP address might be a duplicate of another IP address in the system. To see if this is
the case:
Turn off the printer. For a PSF printer, also turn off the IPDS LAN attachment (such as the
i-data 7913 IPDS Printer LAN Attachment) if one exists.
Wait at least 5 minutes for the system to clear the TCP/IP Address Resolution Protocol
(ARP) tables.
Select the Ping action button again.
If the ping command is still successful, a duplicate IP address exists.
LPQ considerations
If the LPQ command is successful and the response from the LPQ command indicates that the
print queue does not exist, make sure the value in the Queue field on the Printer Information
panel is correct. The print queue name is case-sensitive so be sure the correct uppercase
and lowercase letters are used. If the value in this field is not correct, ask your administrator
to change the value in the Printer Inventory.
Redirect a printer
To see the panel shown in Figure 7-22, Select the Redirect action button shown in
Figure 7-20 on page 359. The Redirect IP PrintWay Printer panel lets you move all print jobs
currently on the queue of the selected IP PrintWay printer and all print jobs that are
subsequently submitted to this printer to an alternate IP PrintWay printer. When you select
the alternate printer, consider the following:
The alternate printer must be an IP PrintWay printer.
If a printer definition does not exist for the alternate printer in the Printer Inventory, the
printer must support either the LPR or direct-sockets printing protocol.
The alternate printer must not itself be redirected to an alternate printer.
The alternate printer should be able to print the same types of data streams (for example,
PostScript or PCL) as the original printer so that data prints correctly.
Redirect considerations
To list printer definitions, select Find printer definitions from the navigation bar.
Select Host name or IP address if no printer definition exists for the printer.
If you select Host name or IP address, enter either the print queue name or the port
number of the alternate printer. Then select either Queue or Port to identify the type of
value you entered.
Click OK.
To stop printers:
Select (Work with printers) from the navigation bar.
On the Work with Printers panel, enter search values to find the printer.
On the IP PrintWay Printers or PSF Printers panel, select the box next to the printer and
select Stop to stop the printer. You can stop more than one printer at the same time.
On the Stop Printer panel, select whether to complete the print job that is currently processing
or delete it.
To select the action to perform for the current print job, select one of these options:
Complete the current print job: The current print job finishes.
Delete the current print job: The current print job is deleted from the JES spool.
Then, click OK.
View log
View log
Infoprint Central lets authorized users view messages in the common message log for
selected print jobs and IP PrintWay extended mode printers. In addition, Infoprint Server
administrators can use the aoplogu command to select messages in a particular time range
and copy them to a file or view them on the terminal. Enter this command from the z/OS UNIX
command line.
The view log displays all messages from the Infoprint Server common message log for the
printer. Messages from Infoprint Server Transforms and other transforms are not displayed.
Ask your administrator to find those messages.
For more information about each message, use the z/OS LookAt online facility from the
Internet at:
http://www.ibm.com/eserver/zseries/zos/bkserv/lookat/
Messages from Print Services Facility (PSF), Infoprint Server Transforms, and other
transforms for print jobs are not displayed. Ask your administrator for those messages.
This configuration file is optional. If the file does not exist or if an attribute in the file is omitted,
Infoprint Server uses default values.
In the configuration file, you can enable the Infoprint Server hardcopy log function. The
hardcopy log function sends additional Infoprint Server messages to the z/OS system
hardcopy log so that you can use a z/OS message automation facility to process these
messages.
If you do not enable the hardcopy log function, only messages that Infoprint Server sends to
the console are sent to the hardcopy log. (Infoprint Server sends messages to the console
that require the attention of an operator or administrator.) However, if you want non-console
messages that are written only to the Infoprint Server common message log to be sent to the
hardcopy log, you must enable the hardcopy log function.
The hardcopy log is either the system log (SYSLOG) or the operations log (OPERLOG),
depending on how you configured the hardcopy medium in the HARDCOPY statement in the
CONSOLxx Parmlib member or changed the hardcopy medium using the HARDCPY format
of the VARY operator command.
The hardcopy log function cannot log messages from other programs, such as messages
from IP PrintWay basic mode.
The name of the program that wrote a message is in the program field of the message. If you
view the message in the Infoprint Central message log, the program name is in the Process
column.
Job ID = ps
Save button
Select Save to save these search values. The saved search values are displayed the next
time you use this panel when you Select the Find button.
To see the printer definition used to format a print job, select the value in the Printer definition
field for the print job.
Change priority
Select Save to save the search values. The saved search values are displayed the next time
you use this panel. Then, select Find.
Attention: Infoprint Central supports only one NetSpool task. If more than one NetSpool
task is running on the z/OS system, do not use Infoprint Central to work with your NetSpool
LUs. Instead, use NetSpool commands and VTAM commands so that you can direct
NetSpool commands to the correct NetSpool task.
For information about NetSpool and VTAM commands, see z/OS Infoprint Server Operation
and Administration, S544-5745. To see how many NetSpool tasks are running, select the
Check system status button from the navigation bar.
To see detailed information select (+) Expand to expand one or more of these sections:
System Daemons and Tasks: The status of all Infoprint Server daemons and NetSpool
tasks. This section is displayed only if your administrator has given you authority to see
the status of Infoprint Server daemons.
– If the Defined field contains Yes or N/A and the Status field contains Stopped, the
daemon or task might have ended abnormally or the operator might have stopped it.
Ask your operator to start Infoprint Server daemons or the NetSpool task.
– If the Defined field contains No and you think the daemon should be started, ask your
administrator to define the daemon in the Infoprint Server configuration file and then
restart Infoprint Server daemons. The file name of the Infoprint Server configuration file
is aopd.conf.
To work with job selection rules, select the boxes next to the rules that you want to work with.
To work with all rules in the list, select All.
Enter a value in at least one of the search fields. If you enter values in multiple fields, only
printer definitions and printer pool definitions that match all of the values are displayed, as
follows:
Do not enter an asterisk (*) or a question mark (?) as a wildcard symbol.
The Clear button clears any fields where you have entered information.
If you click Save to save these search values, the saved search values are displayed the
next time you use this panel.
Click Find when you have completed entering your search fields.
Usage considerations
To work with print jobs submitted to a particular printer definition, select Work with print jobs
from the navigation bar. On the Work with Print Jobs panel, enter the name of the printer
definition in the Submitted to search field. When you select Work with print jobs, you can
To work with a printer for which you know the printer definition name, select Work with
printers from the navigation bar. On the Work with Printers panel, enter the name of the
printer definition for the printer in the Printer name search field.
To find all of the printer definitions for a particular printer, select Work with printers from the
navigation bar. On the Work with Printers panel, enter the name of one of the printer
definitions for the printer in the Printer name search field. Then select the value in the Printer
definition field to see all printer definitions for the printer
Printer definitions
The Printer Definitions panel lists printer definitions. This panel lets you see information about
several printer definitions at the same time and link to more detailed information about one
printer definition.
To see the NetSpool logical unit associated with a printer definition, Select the value in the
NetSpool LU name field for the printer definition.
Usage considerations
Initially, the list contains a maximum of 25 printer definitions. The total number of printer
definitions that meet the search criteria is displayed in parentheses after the title. To see all
printer definitions up to a maximum number that your administrator determines, scroll down to
the end of the list and select More.
Because all components of Infoprint Server use the same printer definition, you only have to
configure each printer in one place. Users and application programs in a z/OS network,
including LAN and z/OS UNIX System Services environments, can take full advantage of
Infoprint Server’s many benefits, including:
Access all defined printers
Handle print jobs effectively
Detect and transform data streams
Support common printer languages
Monitor printer status
Query job status
Create AFP output from Windows applications
Browse AFP documents on the Web
Send print output to e-mail addresses
Work with print jobs and printers
z/OS Print
UNIX JES PSF for z/OS
UNIX System Services Interface Spool
UNIX
IP
PrintWay
TCP/IP
LAN
Printing commands
The printing commands provide enhanced function over the commands of the same name
that are described in z/OS UNIX System Services Command Reference. For example, when
you print on IBM Advanced Function Presentation printers, you can specify options such as
duplexing or a special overlay. You can also display the status of your print request, and you
can cancel a print request. The printing commands adhere to the UNIX standards in XPG4.2,
so you do not need to change the printing commands in your UNIX applications when you
port them to z/OS.
The printing commands let you print, query, and cancel the printing of files, and let you send
files to an e-mail destination instead of to a printer:
lp - Print a file
cancel - Cancel a print job
lpstat - Show printer names and locations and status of print jobs
Figure 8-2 z/OS UNIX user printing a data set and managing the data set
lp command
The lp command prints one or more files, or sends the files to an e-mail destination. The
format of the command is as follows:
lp [-cmsw] [-d destination] [-n copies] [-o option] [-t title] [filename ...]
The address of the printer is specified in the printer definition in the Infoprint Server Printer
Inventory, which your administrator manages. The e-mail addresses are specified in the
printer definition or in job attributes. The files can be:
MVS data sets, such as partitioned data sets or sequential data sets
UNIX files, such as files in a Hierarchical File System (HFS), a zSeries File System (zFS),
a Network File System (NFS), or a temporary file system (TFS)
Lists of printable files
The lp command returns an Infoprint Server job ID, which you can use to query or cancel the
job. The exact job ID in the system is PS000838, where PS is the prefix defined in the
configuration file aopd.conf and the following message is issued to the submitter.
AOP007I Job 838 successfully spooled to IAZFSS.
Note: If you do not specify any files on the command line, or if you specify a dash (-) for the
file name, lp prints from standard input.
The job ID number returned by the lp command cannot be used in JES commands.
The lpstat command shows the printer names, locations, and status of print jobs. The
command writes printer definition names, location information specified in the printer
definitions, and the status of jobs to standard output.
cancel command
The cancel command cancels one or more print jobs that you submitted, with these
restrictions:
You can only cancel your own jobs.
You cannot cancel a job after it has started processing.
In a JES3 environment, you might not be able to cancel a job that is held on the JES3
spool.
Note: In a sysplex the z/OS UNIX printing commands are available only on systems where
the Infoprint Server is active.
Transform commands
While Infoprint Server lets you submit data in many different formats, Advanced Function
Presentation (AFP) printers print the AFP data stream. You can submit non-AFP data
streams to AFP printers using these optional products, which convert jobs to AFP format:
Infoprint Server Transforms transform data streams such as PCL, PDF, PostScript, and
SAP to AFP format and vice versa.
IBM Infoprint XML Extender for z/OS (5655-J66) transforms Extensible Markup Language
(XML) files to AFP and PDF format.
IBM Infoprint XT Extender for z/OS (5655-J65) transforms Xerox files to AFP format. The
Xerox files can be line-conditioned data streams (LCDS) or metacode data streams.
Documents in AFP format are also called Mixed Object Document Content Architecture
Presentation (MO:DCA-P) documents.
Usually, you do not have to worry about transforming your data to another format. If Infoprint
Server Transforms is installed, Infoprint Server automatically calls the appropriate transform
when you submit a print request to a printer definition (for a printer or for an e-mail
destination) that your administrator has configured for transformation. You might, however,
want to transform a file without printing it in these situations:
You want to verify that the job can be transformed without errors.
Infoprint Server automatically transforms print data in other formats to the Advanced Function
Presentation (AFP) data stream when you submit them to a printer definition that the print
administrator has configured to do so.
To submit the PCL file sample.pcl to the printer named IAZFSS and transform it
automatically, enter:
lp -d IAZFSS sample.pcl
Infoprint Server
Transforms
IP PrintWay
(extended mode)
Other
IP PrintWay (basic mode) Transforms
Resubmit for filtering
The ways that Infoprint Server uses transforms and prints output data sets include:
Print Interface subsystem: The Print Interface subsystem transforms data before writing
it to an output data set on the JES spool. IP PrintWay or PSF then prints the data, or IP
PrintWay sends it to an e-mail destination. To use the Print Interface subsystem, you
specify the SUBSYS parameter on the DD JCL statement for the output data set.
IP PrintWay extended mode: IP PrintWay extended mode transforms data in an output
data set before it prints the data or sends it to an e-mail destination.
IP PrintWay basic mode: IP PrintWay basic mode sends data in an output data set to
Print Interface. Print Interface transforms the data and writes the transformed data to a
new output data set on the JES spool. IP PrintWay then prints the data or sends it to an
e-mail destination.
NetSpool: NetSpool transforms SCS and 3270 data streams to EBCDIC line data or
ASCII PCL data streams. Also, it uses other Infoprint transform products to convert line
data to other formats for printing or e-mailing.
When creating an attributes file, consider spelling out the complete attribute names and
attribute values rather than using abbreviations. You can use spaces between the attribute
name and the equals sign to align the equals sign and values. This makes your files easier to
read and maintain. You can use comment lines in attributes files. The comment starts with a
number sign, #, and ends at the end of line.
You can include a number sign, #, as part of an attribute value if you precede it immediately
with a back slash (\#).
Infoprint Server uses attributes to describe jobs and the documents in jobs. For example, you
can specify the number of copies of a document to print by setting a value for the copies
attribute.
Job attributes
Many job attributes correspond to parameters of the OUTPUT JCL statement. A few
correspond to parameters of the DD and JOB JCL statements.
The JCL OUTPUT and DD statements parameters are available in a TSO/E session through
OUTDES and ALLOC commands.
To embed the owner job attribute or other job attributes in print data, you code a text string
that contains the job attributes. Be sure to follow the instructions for coding text strings in
z/OS Infoprint Server User’s Guide, S544-5746. See also “Embedding job attributes in the
NetSpool print data” on page 302 and “Defining NetSpool printers” on page 313.
NetSpool uses the embedded attributes, and then removes the text string from the data
stream before it converts the data stream and puts it on the JES spool.
Printer
Processed by Infoprint Server for the output Inventory
Printer
definitions
JES
IP TCP/IP
z/OS Spool PrintWay LAN
- Printer name
- Output class
- Printer IP address
- e-mail destination
To direct your output to a particular printer or e-mail destination, you can specify either:
The name of the printer definition your administrator created for the printer or e-mail
destination
The output class, destination name, or form name assigned to the printer definition
The printer’s IP address and either print queue name or port number
// PRINT DD SYSOUT=(,),OUTPUT=(*,PW)
// PRINT DD SYSOUT=J,OUTPUT=(*,PWE),DEST=EMAIL10
// PRINT DD SYSOUT=(,),OUTPUT=(*,FSSD)
// PRINT DD SUBSYS=(AOP1,'AFPPRT1'),DSN=MYDATA
Figure 8-11 Printing from batch to IP PrintWay with IP address or e-mail address
Note: You might want to specify the DEST=IP: parameter or MAILTO parameter when your
administrator has not created a printer definition for your printer or e-mail destination.
If you also specify the name of a printer definition in either the FSSDATA or SUBSYS
parameter, IP PrintWay uses printing options specified in that printer definition, but uses the
printer’s IP address specified in the DEST=IP: parameter. If you do not specify the name of a
printer definition, IP PrintWay uses printing options specified in the IP PrintWay default printer
definition.
If the resubmit for filtering function is used in IP PrintWay basic mode, do not code the
DEST=IP:, PRTQUEUE, and PORTNO parameters on the OUTPUT JCL statement because
IP PrintWay ignores these parameters and instead uses the IP address, print queue name,
and port number in the printer definition.
// EMAIL10
Printer Inventory
The IP PrintWay printer to process the output to the e-mail destination is defined by the
administrator in the Printer Inventory.
AFP output
Select the IP PrintWay e-mail protocol if you want IP PrintWay to transmit data sets to one or
more e-mail addresses over the Internet using the z/OS UNIX sendmail function that z/OS
Communications Server provides.
IP PrintWay transmits e-mails to the e-mail addresses, shown in Figure 8-14, that you specify
in the printer definition. Some job submitters can override the e-mail addresses during job
submission. You can set up just one printer definition for the e-mail protocol because the job
submitter can specify the e-mail addresses. You must specify a default e-mail address in this
printer definition.
The protocol panel, shown in Figure 8-14, defines the e-mail addresses for printer definition
EMAIL10.
(6)
Batch Job JES Spool Print Interface
AOPLPD
(1)
AFP output to spool
(2) (7) AFP output to (5)
Select Output from spool
HFS
(3) (4)
Printer IP PrintWay Transform
Inventory Manager
Resubmit for
filtering
(8) Print PDF output
Infoprint Server
(5) Transforms
TCP/IP
Convert AFP
AFP printers output to PDF
PostScript/PCL/PDF printers
/ (slash)
The optional slash indicates that the PARM data that follows is input to AOPBATCH. If you
omit the initial slash, your PARM data might be interpreted as C++ run-time options. You
must include the initial slash if any of the PARM data itself includes a slash.
transform_name
The name of an executable transform program that resides in an HFS file. The name of
the transform program is case-sensitive. You can specify names: afp2pcl, afp2pdf, afp2ps,
pcl2afp, pdf2afp, ps2afp, and sap2afp. If you have XML Extender, you can also use
xml2afp and xml2pdf. If you have XT Extender, you can also use x2afp.
If the transform program does not reside in one of the directories specified in the PATH
environment variable, also specify the path name. You can use the STDENV DD
statement to set the PATH environment variable if the default value set by AOPBATCH is
not suitable.
Note: Do not specify the _BPX_SHAREAS environment variable. AOPBATCH will set it
appropriately.
STDERR
Specifies the system output data set where error messages are to be written. The data set
can be an MVS data set or a UNIX file.
STDOUT
Specifies the system output data set where informational messages are to be written. The
data set can be an MVS data set or a UNIX file.
The example in Figure 8-17 shows how to send a file to an e-mail destination. Assumptions:
The administrator has set up a printer definition Etst in the Printer Inventory.
The e-mail protocol is selected and an e-mail address is specified in the printer definition
mail for the primary recipient. However, the e-mail address you specify in the
mail-to-addresses job attribute overrides the e-mail address in the printer definition.
The AFP to PDF transform is specified in printer definition Etst.
AFP resources libraries are specified either in the printer definition or in the transform
configuration file, aopxfd.conf. If the AFP resource libraries are not specified elsewhere,
specify the libraries in the resource-library job attribute.
The STDENV DD statement specifies an MVS data set that contains environment variables to
be used by the AOPPRINT program.
Alias files
An administrator can specify one or more alias names in the printer definition, and you can
specify alias names in some JCL parameters. An alias name is a name defined to z/OS UNIX
sendmail that represents one or more actual e-mail addresses. For example, alias name
branches might represent the e-mail addresses of all employees in branch 02.
The actual e-mail address list can be defined in any UNIX file. If the file is one that you can
edit, the administrator does not need to change the printer definition whenever you need to
change the address list and you do not need to change your JCL. For example, your
administrator can specify that the actual e-mail address list for alias dept123 is in file
/u/myuserid/branches.list.
User creates
A user creates the e-mail addresses in the file branches.list by using. for example, oedit.
oedit /u/myuserid/branches.list
Figure 8-19 Infoprint Server Print Job Properties display of e-mail destinations from a JES batch job
The properties that IP PrintWay uses to send the print job to an e-mail destination instead of
to a printer may be displayed as hexadecimal representation when invalid characters entered
in the e-mail to addresses. For example:
E-mail to addresses x'A5818995896A86894B8982944B839694'
c’vaini¦fi.ibm.com’ = x'A5818995896A86894B8982944B839694'
The ‘@’ character is erroneously typed as ‘¦’ in the e-mail address.
Workstation printing
With Infoprint Server, you can print from your Windows system to any printer defined in the
Infoprint Server Printer Inventory.
Any Windows application that supports printing, such as a word processor or a viewer
application. To print from a Windows application, you can use the following:
IBM Infoprint Port Monitor for Windows
The Server Message Block (SMB) protocol
The Internet Printing Protocol (IPP)
lprafp command
The lprafp command lets you submit print requests from Windows systems and UNIX
systems (such as HP-UX and SunOS) and specify Infoprint Server job attributes. For
example, when you use the lprafp command, you can specify the name of a form definition
in the form-definition attribute and the number of copies in the copies attribute.
If you want to use the AFP driver, you need to know the model number and resolution of the
AFP printer.
If either the PCL to AFP transform or the PostScript to AFP transform is installed on the z/OS
system, you can use a PCL or PostScript driver instead of the AFP driver.
Note: The panels shown in Figure 8-21 and Figure 8-22 are from Windows XP.
1 5
10
Now that the printer driver is loaded, the printer being defined is ready for use.
The example in Figure 8-26 shows how to print a Notepad document to the z/OS printer.
1. On the File menu click Print.
2. On the General tab select the printer and options you want and click Print.
To change the look of your printed document, on the File menu click Page Setup.
The OS/400® LPR command and the AIX enq command let you specify Infoprint Server job
attributes.
After receiving a print request, Infoprint Server returns either an error message or a job
identifier. The job identifier indicates that Infoprint Server has accepted the print request. You
can use the job identifier to query the status of the print request or to cancel the print request.
The LPQ command allows you to request a list of the printer queue on a remote printer from
the LPD server controlling that printer.
>>--LPR--data_set_name--.-----------------------------------------.----------><
| <-------------------------< |
'-(----| Optional parameters |---'
AT host Job -| jobname | SOsi EBCDIC
BIG5 JNum jnum SOsi NONE
BInary | NOBInary Ksc5601 SOsi SPACE
BUrst | NOBUrst LAndscape Title title
CC | NOCc LANDNOcz/LNcz TChinese
CFfirst LATEconn TIMEout
Class class LInecount count | TOpmargin number | NOTOpmargin
COpies copies NOLinecount TRANslatetable name
EOFlf | NOEOFlf Mai TYpe
Euckanj NAme name USCFxlate
Filter -| filter | POstscript | NOPostscript User name
HAngeu Printer name Version
HEader | NOHeader SChinese Width width
Host host Sjiskanji Xlatetable name
IBmkanji SLowshutdown
SOsi
Indent number SOsi ASCII
Example: Send a LIST3820 data set to another system
in a sysplex where the Infoprint Server is active
LPR AOP.LIST3820 (H wtscmxa P POK1 NOH BIN CC
Note: The MVS LPD server always converts data sets in ASCII to EBCDIC, and there is no
option to disable this conversion.
In the example in Figure 8-28, the options NOHeader, BINary, and CC were used.
The BINARY option causes LPR to send the data without translation and without any
indication of record boundaries.
The NOHEADER option prevents the client from inserting page headers.
The CC option causes the remote system to interpret the first character of each line as
carriage control. This option is the default if the record format is FA, FBA, FBM, FM, VA,
VBA, VBM, or VM. The characters used to specify these record formats have the following
meanings:
F Fixed record length
V Variable record length
B Blocked records
A Records containing ISO/ANSI control characters
M Records containing machine code control characters
The SDSF Held Output panel shows the user information about SYSOUT data sets for jobs,
started tasks, and TSO users on any held JES2 output queue.
The HOLD=YES parameter on a SYSOUT DD statement tells the system to hold a SYSOUT
data set until it is released by the system operator. SDSF shows these SYSOUT data sets on
the Held Output panel, not on the Output Queue panel.
SYSOUT data sets that are created by batch jobs and directed to IP PrintWay do not get a PS
job-prefix. SDSF does not show these data sets on the Output Queue panel when “JobID EQ
PS*” filtering is used to limit data until IP Printway selects the data sets.
When Print Interface creates an output data set on the JES spool, it assigns the job-prefix for
each document to be printed.
SDSF does not display jobs with a job ID prefix of PS. Therefore, it is necessary to define a
filter to view output data sets with a job ID prefix of PS, as shown in Figure 8-30.
NetSpool
NetSpool sends messages to several locations:
NetSpool sends all messages to the operator console.
NetSpool sends most messages, with the exception of messages written at initialization
and termination, to the Infoprint Server common message log if it is enabled.
NetSpool sends some messages, with the exception of messages written at initialization
and termination and job-related messages, to the NetSpool message log data set if it is
specified in the NetSpool startup procedure. You can view messages in this data set by
browsing it.
Data transforms
The transform daemons (such as those provided by Infoprint Server Transforms and Infoprint
XML Extender for z/OS) send messages to message logs located in the xfd subdirectory in
Each instance of a transform daemon writes messages to its own message log. The message
log is cleared when you restart the Transform Manager.
The file names of the message logs have the format transform.n.stderr, where:
transform The name of the transform with the error. The transform name includes the
name of the transform class if one is defined. For example: pcl2afp or
pcl2afp_letter_300.
n The instance of the transform daemon.
Your administrator must customize the common message log to specify how many days
worth of messages to keep. The default is that no messages are kept in the common
message log.
Infoprint Central lets authorized users view messages in the common message log for
selected print jobs and IP PrintWay extended mode printers. In addition, Infoprint Server
administrators can use the aoplogu command to select messages in a particular time range
and copy them to a file or view them on the terminal.
aoplogu command
The aoplogu command lets administrators view messages in the common message log. You
can specify that you want to view:
All the messages.
Syntax:
aoplogu [-b time] [-e time]
or
aoplogu -l time
To use the aoplogu command, you must be defined to RACF as a z/OS UNIX user and be
connected to the RACF AOPADMIN group. When you specify the -b or -e option, the defaults
for the year, month, day, and hour are the current year, month, day, and hour. You can enter
any value for the units of time, beginning with 0. The time is inclusive. For example,
aoplogu -b 0 -e 0 includes all messages that occurred in the first minute of the current hour.
Example
04/05/05 10:06:16 (UTC-5) priority:info user:VAINI job:JOB06180
dsn:VAINI.VAINIPJ.JOB06180.D0000102.? program:aopoutd
msg:AOP3401I IP PrintWay deleted the document from the JES spool.
The messages wrap around to the beginning when the data set becomes full. The time stamp
preceding each message indicates when IP PrintWay wrote the message. IP PrintWay writes
a string containing equal signs, ========, at the end of the last message written. An
installation can write an IP PrintWay Message exit to suppress unwanted messages from the
message-log data set.
Figure 8-35 Using the JSPA for header and trailer pages
The partial JSPA that IP PrintWay extended mode creates contains information that is
available to it. These fields contain valid values:
JSPAJBNM
JSPAJBID
JSPJGRPN
JSPJGRPD
JSPJRMNO
JSPJPNAM
JSPJDSNM
JSPJSOCL
JSPJPRIO
JSPCEUID
JSPCEDSN
JSPCESEG
Your exit can check the XTPVERS field to determine whether the JSPA is the full JSPA that
IP PrintWay basic mode provides or the partial JSPA that IP PrintWay extended mode
provides. IP PrintWay extended mode sets the XTPVERS field to 1. IP PrintWay basic mode
sets the XTPVERS field to 0.
The publications listed in this section are considered particularly suitable for a more detailed
discussion of the topics covered in this book.
Other publications
These publications are also relevant as further information sources:
z/OS Infoprint Customization, S544-5744
z/OS Infoprint Server User’s Guide, S544-5746
z/OS Infoprint Server Operation and Administration, S544-5745
z/OS UNIX System Services Command Reference, SA22-7802
z/OS XL C/C++ Programming Guide, SC09-4765
z/OS Communications Server: IP Configuration Reference, SC31-8776
z/OS HTTP Server Planning, Installing, and Using, SC34-4826
Online resources
These Web sites and URLs are also relevant as further information sources:
Printing Systems Division Web site at:
http://www.ibm.com/printers/download.html
z/OS LookAt online facility from the Internet at:
http://www.ibm.com/eserver/zseries/zos/bkserv/lookat/
The Uniform Resource Identifier (URI) of printers defined in the Printer Inventory has
format:
http://host:port/servlet/IPPServlet/printername
IBM provides the lprafp command on an “as is” basis. You can download the lprafp
command at:
www.ibm.com/printers/downloads.html
Infoprint Server The ABCs of z/OS System Programming is an eleven volume collection
that provides an introduction to the z/OS operating system and the INTERNATIONAL
hardware architecture. Whether you are a beginner or an experienced TECHNICAL
IP PrintWay, NetSpool,
system programmer, the ABCs collection provides the information that SUPPORT
Infoprint Server you need to start your research into z/OS and related subjects. If you ORGANIZATION
Transforms would like to become more familiar with z/OS in your current
environment, or if you are evaluating platforms to consolidate your
Infoprint Central e-business applications, the ABCs collection will serve as a powerful
technical tool.
This book describes the functions of the Infoprint Server. It will help BUILDING TECHNICAL
you install, tailor, configure, and use the z/OS Version 1 Release 7 INFORMATION BASED ON
version of Infoprint Server. Topics covered in this volume are the PRACTICAL EXPERIENCE
following:
IBM Redbooks are developed
Infoprint Server by the IBM International
UNIX System Services overview Technical Support
Infoprint Server customization Organization. Experts from
Print Interface IBM, Customers and Partners
IP PrintWay from around the world create
NetSpool timely technical information
Infoprint Central based on realistic scenarios.
User interfaces to Infoprint Server Specific recommendations
are provided to help you
implement IT solutions more
effectively in your
environment.