IBM SC34-6814-04 User Manual
Page 500
Note that the code in Figure 28 on page 477 is intended only as an illustration of a
recursive error handling technique and of the steps necessary to establish
addressability to the applicable control blocks.
EXEC CICS COLLECT STATISTICS TERMINAL(TEPCATID) SET(STATBAR)
*
Get statistics for this terminal
*
using TERMID passed in Commarea
*
MVC
PCISAVE,A06TENI
Save the current system counts. This
*
is a new error, or first time
*
through.
INCR
DS
0H
AP
PCICNT,=P’1’
Increment the number of times this
*
error has occurred (recursive count)
*
CP
PCICNT,=P’10’
Has the maximum recursive error
*
limit been reached?
BNE
RETRY
NO .... set action
*
ZAP
PCICNT,=P’0’
Clear and reset user fields for next
*
error set
EXEC CICS COLLECT STATISTICS TERMINAL(TEPCATID) SET(STATBAR)
*
Get statistics for this terminal
*
using TERMID passed in COMMAREA
*
MVC
PCISAVE,A06TENI
Get current system counts
B
NORETRY
Action indicators for no retry
*
CKCOUNT
DS
0H
EXEC CICS COLLECT STATISTICS TERMINAL(TEPCATID) SET(STATBAR)
*
Get statistics for this terminal
*
using TERMID passed in COMMAREA
*
CLC
PCISAVE,A06TENI
Has system count changed since last
*
entry to TEP?
BNE
RESET
YES .... this is a new error since
*
some I/O activity has occurred on
*
terminal.
B
INCR
NO
.... this is a recursive error,
*
so increment the recursive count and
*
check for retry.
RETRY
DS
0H
*
The user would include here the code
*
necessary to alter the flags in the
*
COMMAREA so that a retry can be
*
performed on the terminal.
NORETRY
DS
0H
*
The user would include here the code
*
necessary to allow DFHTACP to take
*
final actions on the terminal; that
*
is, abend task, put line out of
*
service, and others.
LTORG ,
END
Figure 29. DFHTEP recursive retry routine (part 2)
478
Customization Guide