z/OS Infoprint Server Operation and Administration
Previous topic | Next topic | Contents | Index | Contact z/OS | Library | PDF


End-of-file rules

z/OS Infoprint Server Operation and Administration
SA38-0693-00

End-of-file rules

Print data for a logical printer is received as a stream of VTAM® request units (RUs). The SNA architecture defines two groupings of RUs that are of interest:

  • A chain consists of one or more RUs.
  • A bracket consists of all of the RUs in one or more related chains.

From an SNA-theory point of view, the use of brackets is the most logical way to determine data-set boundaries. Using this technique, a request marked BB (Begin Bracket) indicates the start of a new data set, and the end of a chain marked EB (End Bracket) marks the end of the data set. This is the default end-of-file rule that NetSpool uses unless you change it. It is called the end-of-bracket rule.

The end-of-bracket rule works with both CICS® and IMS™ LU type 1 sessions, with CICS LU type 3 sessions, and with other applications able to control the use of the BB and EB bracket bits. However, for some applications, the end-of-bracket rule does not work well, as indicated by these examples:

  1. In a CICS application with an LU type 0 session:
    • BB is sent on the session's first request.
    • No EB is sent at the end of the transaction.
    • Result: The output for the entire session is treated as one data set, causing a potentially long delay in printing.
  2. In an IMS application with a non-SNA 3270 printer:
    • Each line of output is sent as a separate chain marked BB, EB.
    • Result: Each line is treated as a separate data set, causing unnecessary overhead and increasing the chances of data sets from other applications intruding.

NetSpool lets you specify five end-of-file rules. NetSpool uses only one of these rules for any one session:

  • End-of-bracket (default): NetSpool ends the data set when the RU chain is marked EB (End Bracket) and starts a new data set when a request unit (RU) is marked BB (Begin Bracket).
  • End-of-session: NetSpool ends the data set at the end of the VTAM session for this printer definition.
  • End-of-chain: NetSpool ends the data set at the end of a chain.
  • String: NetSpool ends the data set when the last RU in a chain contains a specified string of data. You can also specify whether NetSpool is to keep or delete the specified string of data in the output data set.
  • Timer: NetSpool ends the data set when the time interval specified in either the Timeout idle interval field or the Busy interval field expires and NetSpool has received the last RU in the chain.

    The Timer idle interval field specifies the amount of time NetSpool waits for input data before printing the data already received. If NetSpool does not receive any input data during this time and a reasonable stopping point has been reached (end of an RU chain), NetSpool closes the output data set so it can be printed.

    The Busy interval field specifies the amount of time for which NetSpool receives data without printing it. After this time interval expires, NetSpool closes the output data set when a reasonable stopping point is reached (end of an RU chain and the top of a new page).

    Use the timer method only when none of the other end-of-file rules makes sense because:

    • The use of timers to detect data-set boundaries is an inexact method. Tuning is required to choose the best timer values, and even then the results are inexact.
    • Under each of the other end-of-file rules, exact data-set boundaries can be determined directly from the received print data requests.

    These rules apply when you select the Timer option:

    • Specify this option only for LU types 0 and 3.
    • Do not select this option when you select the None formatting option or when you use the Embedded attributes prefix field on the NetSpool Options panel.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014