Table of Contents (exploded view)
Abstract for Infoprint Server Customization
Introducing Infoprint Server
Printer Inventory Manager
Windows client
Print Interface
Print Interface with an SAP R/3 application server on the z/OS system
Print Interface with an SAP R/3 application server on a remote system
NetSpool
IP PrintWay
Transform Interface
Transforms
Infoprint Central
Customization roadmap
Customizing the Printer Inventory Manager
Identifying software requirements for Printer Inventory Manager
Enabling the Infoprint Server feature
Updating the BPXPRMxx member of SYS1.PARMLIB
Determining the Infoprint Server operating mode
Setting the operating mode for z/OS V2R2 functions
Making Language Environment and C++ runtime libraries available
Creating Infoprint Server directories
/etc/Printsrv directory
/var/Printsrv directory
Calculating DASD space requirements for the /var/Printsrv directory
Creating and editing the Infoprint Server configuration file (aopd.conf)
Steps for creating the Infoprint Server configuration file (aopd.conf)
Steps for editing the Infoprint Server configuration file (aopd.conf)
Setting environment variables for the Printer Inventory Manager
Setting up security for the Printer Inventory and operator commands
AOP.ADMINISTRATOR profile
AOP.CONFIGURATION profile
AOPADMIN and AOPOPER groups
AOPCONF group
Steps for setting up security for the Printer Inventory, common message log, and operator commands
Setting permissions for directories and executable files -- aopsetup
Steps for running aopsetup
Customizing startup and shutdown commands and procedures
Editing the aopstart EXEC
Steps for copying and editing the aopstart EXEC
Steps for editing the aopstart EXEC
Creating an environment variables file (envar)
Creating a user ID to assign to the JCL startup and shutdown procedures
Defining the JCL startup and shutdown procedures to RACF
Editing JCL startup procedures
Editing JCL shutdown procedures
Starting Infoprint Server daemons automatically
Editing the JCL status procedure
Enabling Infoprint Server ISPF panels
Defining libraries in the TSO logon procedure
Displaying the Infoprint Server panel option
Modifying the AOPINIT EXEC
Enabling dynamic configuration
Dynamic attributes
Cross-system coupling facility (XCF)
Steps for enabling dynamic configuration
Steps for disabling dynamic configuration
Steps for determining whether dynamic configuration is enabled
Editing the system configuration definition for Printer Inventory Manager
Steps for editing the system configuration definition
Sending non-console messages to the hardcopy log
Creating the message configuration file (aopmsg.conf)
Editing the message configuration file (aopmsg.conf)
Setting up the MVS system logger for the common message log
Deciding whether to use the MVS system logger
Deciding the type of log stream
Deciding on a naming convention for log streams
Determining how long to retain messages
Determining the size of log-stream data sets and interim storage
Setting up security for log streams
Setting up security for a DASD-only log stream
Setting up security for a coupling-facility log stream
Defining log streams to the MVS system logger
Defining a DASD-only log stream to the MVS system logger
Defining a coupling-facility log stream to the MVS system logger
Activating a log stream in Infoprint Server
Switching from one log stream to another
Deactivating a log stream in Infoprint Server
Handling system logger errors
Viewing messages in the log stream
Backing up and restoring the Printer Inventory
Steps for backing up the Printer Inventory to an HFS or zFS file
Steps for restoring the Printer Inventory from an HFS or zFS file
Steps for backing up the Printer Inventory to a generation data group (GDG)
Steps for restoring the Printer Inventory from a GDG
Restoring the Printer Inventory with the loadprinterinventory command
Saving messages in the common message log in the z/OS UNIX file system
Reducing the size of the common message log in the z/OS UNIX file system
Setting Workload Manager goals
Customizing Print Interface
Identifying software requirements for Print Interface
Common customization for Print Interface
Customizing z/OS Communications Server
Updating the BPXPRMxx member of SYS1.PARMLIB
Working with JES spool limits
Editing the aopd.conf file for Print Interface
Writing a filter program
Filter options
Writing a DLL filter
Writing a UNIX filter
Invoking a DLL or UNIX filter
Programming considerations
Testing filters
Modifying filters
Filters provided with Infoprint Server
Customizing JES to specify no blank truncation
Setting environment variables for Print Interface
Editing the system configuration definition for Print Interface
Customizing the z/OS UNIX printing commands
Customizing the AOPPRINT JCL procedure
Customizing the Print Interface LPD
Customizing z/OS Communications Server (TCP/IP)
Editing the aopd.conf file for the LPD
Editing the system configuration definition for the LPD
Using the LPD compatibility filter
Customizing LPR clients
Customizing the z/OS SMB server to use Print Interface
Customizing the Print Interface IPP Server
Ensuring sufficient memory is available to start the IPP Server
Editing the aopd.conf file for the IPP Server
Setting environment variables for the IPP Server
Editing the system configuration definition for the IPP Server
Customizing the IPP workstation client
Customizing SAP R/3
Defining an SAP user for the callback daemon
Creating the SAP callback daemon configuration file (aopsapd.conf)
Setting environment variables for the SAP OMS
Defining a ROMS and LOMS to the SAP R/3 application server
Modifying the LOMS to specify job attributes
Creating an SAP R/3 output device
Customizing the Print Interface subsystem
Editing the aopd.conf file for the Print Interface subsystem
Increasing the maximum number of active transform daemons
Customizing Transform Interface
Identifying software requirements for Transform Interface
Editing the aopd.conf file for the Transform Manager
Creating the transform configuration file (aopxfd.conf)
Transform classes
Format of an entry in the transform configuration file
Example of a transform entry
Steps for creating the transform configuration file
Steps for editing the transform configuration file
Creating the remote transform configuration file (aoprxf.conf)
Format of the remote transform configuration file
Steps for creating the remote transform configuration file
Setting environment variables for Transform Interface
Customizing the TCP/IP firewall
Setting up security for transform resources
Creating a code page conversion table
Customizing NetSpool
Identifying software requirements for NetSpool
Updating the BPXPRMxx member of SYS1.PARMLIB
Editing the aopd.conf file for NetSpool
Customizing the NetSpool message log
Customizing the NetSpool startup procedure
Determining the number of NetSpool tasks to start
Using the Japanese version
Using an extended MCS console
Creating a user ID to assign to the NetSpool startup procedure
Defining the NetSpool startup procedure to RACF
Editing the NetSpool startup procedure
Steps for editing the NetSpool startup procedure
APIJPJCL procedure
Working with JES spool limits
Changing Language Environment runtime options
Writing NetSpool exit and filter programs
Programming considerations
APIPP1X2 control block
Beginning of File exit for SCS data streams (APIPPTD1)
Beginning of File exit for 3270 data streams (APIUBF3)
Transparent Data Control exit (APIPPTD2)
Graphic Escape exit (APIUGEX)
Sample exits and macro
Installing the exits
Modifying the exits
Setting environment variables for NetSpool
Editing the system configuration definition for NetSpool
Customizing IP PrintWay
Comparing IP PrintWay extended mode to basic mode
Identifying software requirements for IP PrintWay
Editing the aopd.conf file for IP PrintWay (extended mode)
Increasing the space available in /var/Printsrv directory (extended mode)
Updating the BPXPRMxx member of SYS1.PARMLIB (extended mode)
Creating IP PrintWay job selection rules (extended mode)
Creating job selection rules in the Printer Inventory (extended mode)
Starting and stopping job selection rules (extended mode)
Authorizing IP PrintWay to select data sets from the JES spool (extended mode)
Authorizing IP PrintWay to write SMF type 6 records (extended mode)
Setting environment variables for IP PrintWay (extended mode)
Editing the system configuration definition for IP PrintWay (extended mode)
APF-authorizing SYS1.IMAGELIB (extended mode)
Customizing from AFP transforms for IP PrintWay (extended mode)
Defining printer host names in the DNS
Customizing z/OS Communications Server
Customizing the TCPIP.DATA data set
Customizing the PROFILE.TCPIP data set
Customizing z/OS UNIX sendmail
Creating a VTAM APPL resource definition for IP PrintWay
Writing IP PrintWay exit and filter programs
Comparing IP PrintWay basic mode and extended mode exits
Resubmit for filtering considerations (basic mode)
Programming considerations
Common control blocks
Routing exit (ANFUXRTG)
Input to the Routing exit
Output from the Routing exit
Examples -- Routing exit
Begin Data Set exit
Input to the Begin Data Set exit
Output from the Begin Data Set exit
Examples -- Begin Data Set exit
Record exit
Input to the Record exit
Output from the Record exit
Examples -- Record exit
End Data Set exit
Input to the End Data Set exit
Output from the End Data Set exit
Examples -- End Data Set exit
SMF exit (ANFUXSMF)
Input to the SMF exit
Output from the SMF exit
Examples -- SMF exit
Message exit (ANFUXMSG) — basic mode
Input to the Message exit
Output from the Message exit
Examples -- Message exit
Response Notification exit (ANFUXRSP)
Input to the Response Notification exit
Output from the Response Notification exit
Examples -- Response Notification exit
Using the Block Letter program (ANFUBLK)
Input to the Block Letter program (ANFUBLK)
Output from Block Letter program (ANFUBLK)
IP PrintWay sample exits
Installing IP PrintWay exits
Modifying IP PrintWay exits
Updating the BPXPRMxx member of SYS1.PARMLIB (basic mode)
APF-authorizing SYS1.IMAGELIB (basic mode)
Defining the IP PrintWay functional subsystem (basic mode)
Determining how many functional subsystems to define (basic mode)
Determining how many functional subsystem applications to define (basic mode)
Determining work-selection criteria (basic mode)
Specifying a default font and page definition for data transforms (basic mode)
Defining the IP PrintWay functional subsystem in JES2 (basic mode)
Defining the IP PrintWay functional subsystem in JES3 (basic mode)
Creating FSS and FSA definitions in the Printer Inventory (basic mode)
Creating FSS definitions (basic mode)
Creating FSA definitions (basic mode)
Creating the transmission-queue data set (basic mode)
Sharing the transmission-queue data set (basic mode)
Allocating and initializing the transmission-queue data set (basic mode)
Restricting access to the transmission-queue data set (basic mode)
Creating the IP PrintWay message-log data set (basic mode)
Customizing the IP PrintWay startup procedure (basic mode)
Creating a user ID to assign to the IP PrintWay startup procedure (basic mode)
Defining the IP PrintWay startup procedure to RACF (basic mode)
Editing the ANFWPROC startup procedure (basic mode)
Steps for editing the IP PrintWay startup procedure
ANFWPROC procedure
Changing Language Environment runtime options (basic mode)
Customizing PSF for sharing network printers
Customizing AOPCMND for starting and stopping printers
Customizing Infoprint Central
Identifying software requirements for Infoprint Central
Editing the aopd.conf file for Infoprint Central
Customizing the IBM HTTP Server - Powered by Apache
Configuring the IBM HTTP Server - Powered by Apache
Editing the configuration file for the IBM HTTP Server - Powered by Apache (conf/httpd.conf)
Customizing the environment variables file for the IBM HTTP Server - Powered by Apache (bin/envvars)
Creating a started task to run the IBM HTTP Server - Powered by Apache
Setting up security for Infoprint Central
Authorizing the AOPOPER group to RACF profiles
Defining Infoprint Central users as z/OS UNIX users
Activating the PRINTSRV class
Authorizing users to read the Printer Inventory
Setting up security for printers
Protecting printers with profiles in the PRINTSRV class
Protecting PSF printers with profiles in the OPERCMDS class
Setting up security for NetSpool logical units (LUs)
Setting up security for IP PrintWay job selection rules
Setting up security for print jobs
Protecting actions on print jobs with profiles in the OPERCMDS class
Protecting print jobs with profiles in the JESSPOOL class
Protecting the change priority action with a profile in the PRINTSRV class
Setting up security for Infoprint Server daemons
Setting up security for printer and printer pool definitions
Requesting RACF notification and auditing
Editing the system configuration definition for Infoprint Central
Customizing web browsers
Logging on to Infoprint Central from the web
Customizing JES3 console standards (CONSTD statement)
Re-creating the search database
Installing and customizing the Infoprint Server Windows client
Customizing PSF for z/OS to use the Printer Inventory
Identifying PSF software requirements
Creating PSF FSS and FSA definitions in the Printer Inventory
Customizing PSF for the Printer Inventory
Customizing PSF for z/OS to write messages to the common message log
Checklist of Infoprint Server customization tasks
Infoprint Server files
aopd.conf -- Infoprint Server configuration file
aopmsg.conf -- Infoprint Server message configuration file
aoprxf.conf -- Infoprint Server remote transform configuration file
aopxfd.conf -- Infoprint Server transform configuration file
aopsapd.conf -- Infoprint Server SAP callback daemon configuration file
Environment variables
Configuration attributes
AOPBATCH program
Application programming interface (API)
API files
API data structures
DocumentInfo - information about a document in a job
JobInfo - information about an Infoprint Server print job and each document in the job
JobToken - identifies an Infoprint Server print job
PrinterInfo - information about an Infoprint Server printer
QueryToken - identifies an Infoprint Server query request
Transform - information about a transform connection
API functions
AbortPrintFile -- terminate an Infoprint Server print job
BeginEnumJobs -- begin an enumeration of Infoprint Server print jobs for a printer
BeginEnumPrinters -- begin an enumeration of Infoprint Server printers
BufferSizeRequired -- return the required size of the buffer after a buffer overflow error
CancelJob -- cancel a print job
ClosePrintFile -- close an Infoprint Server print job
CreatePrintFile -- create an Infoprint Server print job
EndEnumJobs -- end the enumeration of Infoprint Server print jobs for a printer
EndEnumPrinters -- end the enumeration of Infoprint Server printers
EnumJobs -- enumerate Infoprint Server print jobs for a printer
EnumPrinters -- enumerate Infoprint Server printers
ErrorNumber -- return the API error code
ErrorString -- return a pointer to the API error message
GetAPIVersionNumber -- return the current API version number
GetJobInfo -- return the status of an Infoprint Server print job
GetPrinterInfo -- return information about an Infoprint Server printer
InitAPI -- initialize the API
ReleaseTransform -- release a connection with a transform daemon
RequestTransform -- establish a connection with a transform daemon
SetTerminationHandler -- register a termination function
TermAPI -- terminate the API
WritePrintFile -- write data to an Infoprint Server print job
Programming considerations
Customization requirements
Migrating from IP PrintWay basic mode to extended mode
Benefiting from new functions in z/OS V2R2
Glossary