IBM SC34-6814-04 User Manual

Page 500

Advertising
background image

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

Advertising