The application programming interface for writing to a printer terminal is essentially the same as for writing to a display. (This section does not discuss the problem of arranging that your task have the printer as its principal facility; this is discussed in Using CICS printers.)
You can use terminal control commands (SENDs) for any CICS® printer, and most of them are supported by BMS too (SEND MAP, SEND TEXT, and SEND CONTROL). BMS support levels lists the devices that BMS supports. For printers that are components of an outboard controller or LU Type 4, you can use batch data interchange (BDI) commands as well as terminal control and BMS. BDI commands are described in Using batch data interchange.
The choice between using BMS and terminal control is based on the same considerations as it is for a display terminal. Like displays, printers differ widely from one another, both in function and in the implementation of that function, and the differences are reflected in the data streams and device controls they accept.
When you use terminal control commands, your application code must format the output in the manner required by the printer. For line printers and similar devices, formatting has little programming impact. For high-function printers, however, the data stream often is very complex; formatting requires significant application code and introduces device dependencies into program logic.
For some of these terminals, coding effort is greatly reduced by using BMS, which relieves the programmer of creating or even understanding device data streams. BMS also removes most data stream dependencies from the application code so that the same program can support many types of printers, or a mixture of printers and displays, without change. BMS does not remove all device dependencies and imposes a few restrictions on format. It also involves extra path length; the amount depends on how many separate BMS requests you make, the complexity of your requests, and the corresponding path length avoided in your own program.
[[ Contents Previous Page | Next Page Index ]]