IBM SC34-6814-04 Server User Manual


 
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