z/OS MVS IPCS Customization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Expanded Print Service

z/OS MVS IPCS Customization
SA23-1383-00

The expanded print service provides a means for exit routines to write data to both the terminal and the IPCS print data set, IPCSPRNT. The expanded print service differs from the standard print service, in that it requires a parameter list PPR2 (mapped by BLSUPPR2) to be passed that describes which new print functions are to be used. The expanded print service provides the following functions:
Conditional headings
Expanded print service saves a predetermined heading and writes it only if some future action occurs that calls the service to print data.

If the expanded print service is called to define a conditional heading when a conditional heading is already in place, the previous conditional heading is written out. 250 characters is the maximum size of a conditional header.

A flag in the PPR2 allows the user to request the cancelation of a conditional header.

For this call, the expanded print service sets a return code of 0 to indicate that the header was canceled and a return code of 4 to indicate that the conditional header was already written out. This allows the program establishing the conditional header to know whether any data was written following the conditional header.

A token field (PPR2TOKN) is provided to allow the user to identify a specific conditional header for cancelation.

If the PPR2TOKN field does not match the token saved at the time the conditional header was saved, the conditional header is not canceled. If the PPR2TOKN field is all blanks, any conditional header is canceled.

Indentation
The expanded print service uses the ADPLSCOL field to determine the number of spaces to indent the output. This function allows a service to generate output that appears in multiple reports at varying indentation levels without requiring any extra coding.
Print buffer
The user must specify the address of a print buffer that contains the data to be printed. The expanded print service requires the length of the print buffer. Specifying the address of a print buffer removes the burden of formatting and requesting multiple prints for data that is considered one logical line. The user of the expanded print service can specify the address of the print buffer in the print service parameter list.
Truncation avoidance
The expanded print service uses the recommended line width to break up the data, in the print buffer, into sections that fit within the recommended line width. As part of this function, the caller can specify the indentation level to be applied to all overflow lines. This allows generation of reports with consistent indentation.
Controlled truncation
The user can request truncating the line being printed at the recommended line width. This truncation occurs after all requested indentation has been applied to the output buffer.
Message support
The user can specify that the print buffer contains a message.

When this occurs, the message identifier is assumed to occupy all positions in the print buffer, up to the first blank. The expanded print service examines the user profile table (UPT) and either removes the message identifier (PROFILE NOMSGID) or leaves the identifier in the message (PROFILE MSGID). All truncation and indentation rules apply to messages.

New line support
The expanded print service recognizes the EBCDIC new line character (X'15') when requested by setting the new line flag on in the PPR2. The new line character causes the preceding data to be printed and the following data to be started on a new line.
Terminal only support
When OPTIONS(TERM) is specified on the BLSUPPR2 expansion, the print request is only sent to the terminal.
Print Line Width
When print line width is specified, the print request uses the current print data set line width as the criteria for where to split a line of text. This action allows old formatter exit routines to preserve their old output format while using the new expanded print service.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014