IBM SC34-6814-04 User Manual

Page of 953
CSVTESBL
DS
A
NEPESBL - ESB locate routine
CSVTNEBD
DS
A
NEPNEBD - NEB delete routine
CSVTECUP
DS
A
NEPECUP - error count update
routine
Writing your own node error program
You can write your own NEP in any of the CICS-supported languages. However,
CICS-supplied NEP code is provided in assembler language only. The
communication area parameter list is supplied in assembler-language and C
versions. The names of the supplied source files, copy books, and macros, and the
libraries in which they can be found, are listed in Table 26.
Table 26. Supplied source files, copy books, and macros
Name
Type
Description
Library
DFHZNEP0
Program
Default node error
program (assembler
language)
CICSTS32.CICS.SDFHSAMP
DFHZNEPX
Source
Default NEP (embedded
by DFHZNEP0 via COPY
statement)
CICSTS32.CICS.SDFHSAMP
DFHSNEP
Macro
Sample NEP program
generator (assembler
language)
CICSTS32.CICS.SDFHMAC
DFHZNEPI
Macro
NEP interface generator
(for multiple NEPs)
CICSTS32.CICS.SDFHMAC
DFHNEPCA
Macro
Assembler-language
communication area
CICSTS32.CICS.SDFHMAC
DFHNEPCA
Copy
book
C-language
communication area
CICSTS32.CICS.SDFHC370
If you code in assembler language, you can use the sample NEP as a framework
on which to construct your own node error program.
Restrictions on the use of EXEC CICS commands
There are certain restrictions on the commands that a NEP can issue. The use of
any commands which require a principal facility causes unpredictable results,
and should be avoided
. In particular, you should not use commands which invoke
the following functions:
v
Terminal control. For example, issuing EXEC CICS DELAY may cause the CSNE
task to suspend and never resume, which can cause shutdown of the region to
hang. (“CEMT-type” commands, such as EXEC CICS INQUIRE TERMINAL, are
permissible)
v
BMS (except routing)
v
ISC communication (including function shipping). This includes START requests
for remote transactions. Such requests are not recommended because CSNE
(Node Abnormal Condition task) might become suspended while doing an
ALLOCATE to the remote system.
If you need to start a remote transaction, start a local transaction which starts a
remote one in turn.
Chapter 9. Writing a node error program
505