The SCS printer emulator

The SCS (LU type 1) printer emulator transforms the SNA Character Stream into a VBA (variable blocked with ASA carriage control) data set. The following table describes the code points that are undefined, unsupported, supported with defaults or fully supported. Undefined and unsupported code points are rejected with an SNA sense code of function error (X'10030000'). Supported code points with invalid parameters or without all parameters available in the same chain are rejected with an SNA sense code of parameter error (X'10050000').

Table 1. SCS code points
x0
x1
x2
x3
x4
x5
x6
x7
x8
x9
xA
xB
xC
xD
xE
xF
0x
Null
 
(1)
 
(1)
 
(1)
SEL
(9)
HT
RNL
(4)
 
(1)
GE
(2)
SPS
(3)
RPT
(3)
VT
FF
CR
SO
SI
1x
 
(1)
DC1
(3)
DC2
(3)
DC3
(3)
ENP
(3)
NL
BS
POC
(3)
 
(1)
 
(1)
UBS
(3)
CU1
(3)
IFS
(4)
IGS
(4)
IRS
(4)
IUS
(7)
2x
 
(1)
 
(1)
 
(1)
WUS
INP
(3)
LF
 
(1)
 
(1)
SA
(2)
 
(1)
SW
(3)
CSP
(10)
 
(1)
 
(1)
 
(1)
BEL
(3)
3x
 
(1)
 
(1)
SYN
(3)
IR
(4)
PP
TRN
(2)
EBS
(6)
 
(1)
SBS
(3)
IT
(3)
RFF
(5)
CU3
(3)
DC4
(3)
 
(1)
 
(1)
SUB
4x
 
RSP
(7)
                           
5x
                               
6x
                               
7x
                               
8x
                               
9x
                               
Ax
                               
Bx
                               
Cx
                   
SHY
(8)
         
Dx
                               
Ex
 
ESP
(7)
                           
Fx
                               

Notes on the table:

  1. Undefined code point - function error.
  2. Unsupported code point - function error.
  3. Defaults to no operation - function ignored.
  4. Defaults to new line (NL).
  5. Defaults to form feed (FF).
  6. Defaults to backspace (BS).
  7. Defaults to space (X'40').
  8. Defaults to dash (X'60').
  9. Vertical channel select is supported. Select left/right platten is ignored. Select magnetic stripe reader/writer is unsupported.
  10. Set Horizontal Format and Set Vertical Format are supported. Start of Format is ignored if at left margin, defaults to new line (NL) if not at left margin. Set Line Density, Set Graphic Escape Action, Set Chain Image and Set Print Density are ignored.

Double byte character strings (DBCS) begin with the shift_out (SO) code point and end with the shift_in (SI) code point. Valid characters between the SI and SO are X'4040' and any pair of bytes each in the range X'41' to X'FE'. Illegal characters found in a double byte character string or double byte character strings that do not complete in the same chain are rejected with an SNA sense code of data error (X'10010000').

All unspecified code points are passed to LPR as EBCDIC data. See the z/OS Communications Server: IP User's Guide and Commands to determine the EBCDIC-to-ASCII translation performed by LPR. See SNA - Sessions Between Logical Units for more information about SCS data streams.