A non-3270 printer is any printer that does not accept the 3270 data stream, such as an SNA character set (SCS) printer. The terminology is somewhat confusing, because a non-3270 printer can be a 3270-family device, and many devices, like the 3287 and 3262, can be either 3270 printers or SCS (non-3270) printers, depending on how they are defined at the control unit.
There are special considerations for non-3270 printers, although not so many as for 3270 printers. Non-3270 printers do not have page buffers, and therefore do not understand buffer control orders. Formatting is accomplished entirely with print control orders. For compatibility with 3270 printers, BMS formats for them by constructing an image of a page in memory, and always prints a full page at a time. However, you can define any size page, provided you do not exceed the platen width, as there is no hardware buffer involved. BMS transmits as many times as required to print the page, just as it does for a 3270 printer using the NLEOM option.
BMS formats for these printers with blanks and NL (new line) characters. It uses form feed (FF) characters as well if the definition of your terminal indicates form feed support.
BMS also uses horizontal tabs to format if the terminal definition has the HORIZFORM option and the map contains HTAB specifications. Similarly, it uses vertical tabs if the terminal definition specifies VERTICALFORM and your map includes VTAB. Tab characters can shorten the data stream considerably. If tabs are used, BMS assumes that the current task, or some earlier one, has already set the tabs on the printer. On an SCS printer, you set the tabs with a terminal control SEND command, as explained in the IBM CICS/OS/VS 3270 Data Stream Device Guide. For other non-3270 printers, you should consult the appropriate device guide.
For SEND TEXT to an SCS printer, BMS does not recognize any non-3270 control codes in the input datastream except newline (X'15') and set attribute (X'28'). All other characters are assumed to be display characters. In particular, the datastream might be affected if you attempt to use the transparency control order (X'35') under BMS. This control order normally causes the data that follows it to be ignored (the next byte contains the length of the data to be ignored). However, because BMS does not recognize the X'35' control order, it processes the data that follows the transparency control order as if it were a normal part of the datastream. If this data cannot be processed correctly, BMS might remove it from the datastream. For example, if the X'28' character is encountered in the transparency sequence it will be mistaken for a set attribute control order, in which case the two bytes following it will be mistaken for an attribute description, and all three bytes might be removed from the datastream. The X'0C' character (formfeed) is also liable to be removed from the datastream. If you want to send a datastream including a transparency sequence which contains characters that may be recognized and altered by BMS, the recommended method is to use a terminal control SEND command, rather than BMS.
SCS printers also have limited input capability, in the form of "program attention" keys. These keys are not like the PA keys described in Attention keys, however. Instead they transmit an unformatted data stream consisting of the characters ‘APAK nn’, where "nn" is the 2-digit PA key number--‘APAK 01’ for PA key 1, for example.
You can capture such input by defining a transaction named ‘APAK’ (APAK is the transaction identifier, not the TASKREQ attribute value, because SCS inputs do not look like other PA key inputs.) A program invoked by this transaction can determine which PA key was pressed by issuing a RECEIVE and numeric positions of the input.
[[ Contents Previous Page | Next Page Index ]]