Design overview

The terminal abnormal condition program (DFHTACP) is used by terminal control to analyze any abnormal conditions. Appropriate action is taken with regard to terminal statistics, line statistics, terminal status, and line status; the task (transaction) can be terminated. Messages are logged to the transient data master terminal destination (CSMT) or the terminal log destination (CSTL). DFHTACP links to the user-supplied (or sample) terminal error program, passing a parameter list via a COMMAREA that is mapped by the DFHTEPCA DSECT. This allows the user to attempt recovery from transmission errors and to take appropriate action for the task.

Table 24 lists the various TACP message processing routines, which assemble the text of the messages and write them to one of three destinations depending on the type of error.

The matrix shown in Table 25 shows the the sequence in which the message routines are called for each error code. For example, for error code X'88', the processing routines are executed in the following order: ME, F, W, X, N, BA, and finally R.

Table 26 gives a generalization of TACP’s default error handling upon completion of the message processing. For each error code, it shows the first routine to be called.

Table 24. TACP message routines
Routine Function
A Establish DFHTC message number 2501 (Msg too long, please resubmit)
D Establish DFHTC message number 2502 (TCT search error)
F Establish DFHTC message number 2507 (Input event rejected)
H Establish DFHTC message number 2506 (Output event rejected)
I Establish DFHTC message number 2513 (Output length zero)
J Establish DFHTC message number 2514 (No output area provided)
K Establish DFHTC message number 2515 (Output area exceeded)
L Establish DFHTC message number 2517 (Unit check SNS=ss, S.N.O.)
M Establish DFHTC message number 2519 (Unit exception, S.N.O.)
N Generate standard message inserts, for example, ‘at term tttt’
O Generate special inserts for message DFHTC2500
Q Write to terminal causing the error, after retrieving the message text from ME domain using an MEME RETRIEVE_MESSAGE call
R Write to destination (CSMT or CSTL) using an MEME SEND_MESSAGE call to ME domain
T Obtain terminal main storage area (message build area)
V Establish DFHTC message number 2511 (Incorrect write request)
W Establish ‘return code xx’ message insert
X Convert hexadecimal byte into 2 printable characters
AB Establish DFHTC message number 2534 (Incorrect destination)
AE Establish DFHTC message number 2500 (Line|CU|Terminal out of service)
AF Obtain terminal statistics
BA Obtain line statistics
BB Establish DFHTC message number 2516 (Unit check SNS=ss)
BC Establish DFHTC message number 2518 (Unit exception)
BF Establish DFHTC message number 2521 (Undetermined unit error)
CA Establish DFHTC message number 2522 (Intercept required)
DB Establish DFHTC message number 2529 (Unsolicited input)
ME Initialize parameter list for calling ME domain
Table 25. TACP message construction matrix
Error codes
X'81' X'82' X'84' X'85' X'87' X'88' X'8C' X'8D' X'8E' X'8F' X'94' X'95' X'96' X'97' X'99' X'9A' X'9F'
ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME
T
AE
D
V
DB
F
H
I
J
K
BB
L
BC
M
BF
CA
AB
A
O
W W
AF
Q
X X X X
N N N N N N N N N N N N N N N
BA BA BA
R R R R R R R R R R R R R R R R
Table 26. TACP default error handling
Error code Default action
X'81' Abend transaction
X'82' none
X'84' Put line in or out of service, as required
X'85' Abend transaction
X'87' Unsolicited input message
X'88' Put line (or terminal) out of service
X'8C' Put line (or terminal) out of service
X'8D' Abend transaction
X'8E' Abend transaction
X'8F' Abend transaction
X'94' I/O error test
X'95' I/O error test
X'96' I/O error test
X'97' I/O error test
X'99' Put line (or terminal) out of service
X'9A' Test line for next operation
X'9F' Abend transaction
[[ Contents Previous Page | Next Page Index ]]