Sample node error program

The CICS®-supplied sample node error program (NEP) is a generalized program structure for handling errors detected from logical units. It provides a general environment for the execution of error processing routines (error processors), each of which is specific to certain error codes generated by the node abnormal condition program. Sufficient optional error processors for normal operation of interactive logical unit networks are provided; these can be easily supplemented or replaced by user-supplied error processors. None of the sample NEP's components is generated as part of the standard CICS generation process, but instead can be optionally generated by means of DFHSNEP macros as needed.

About the sample node error program

The sample NEP that CICS provides is designed with two main features:
  • It assumes that you want to invoke separate user-supplied error processors to handle different groups of error types. You specify which of the DFHZNAC internal error codes are to be regarded as a “group” for processing by any one routine, and then supply the code for that routine. CICS has some standard cases to help you.
  • The supplied error processors may work in association with a separately generated module called a node error table. This can be used to build up statistics for each error group that the NEP processes. This table is analogous to the terminal error table, DFHTEPT, used by the sample terminal error program.

    Some of the CICS-supplied error processors use the node error table, for example, that for errors affecting 3270 LUs (GROUP=1) (see DFHSNEP TYPE=DEF3270 (Including error processors for 3270 LUs)).

There are three types of error that may occur in an SNA network:
  • Errors in the host system
  • Communication errors, such as session failures
  • Abnormal conditions at the terminal, such as intervention required and invalid requests.
The sample node error program can be used as the basis of each subsequent node error program that you write. This provides you with:
  • A general environment within which your error processing programs can be added.
  • The default node error program in a system that has several node error programs.

Compatibility with the sample terminal error program

Receipt of sense or status codes corresponds to error codes X'D9', X'DC', X'DD', and X'F2'. Weighted counts of these messages are maintained against numeric and time thresholds. If the numeric threshold is exceeded, default actions are taken. If the time threshold is reached, the count is reset. This is equivalent to the function in the sample TEP, except that sense or status arising out of the “from” device on a COPY command is now presented to the node error program as an error on the “to” device; this causes the threshold to be exceeded, resulting in the request being terminated, although the terminal remains in service. Some of the weights for errors that occur on the 3270 display device have been revised, but otherwise the weight and threshold values are the same as the defaults used in the sample TEP. Time threshold maintenance for the sample NEP is mandatory, and not optional as in the sample TEP.

For further information about time and threshold count limits, see the information about the sample terminal error program in Writing a terminal error program.

The 3270 message ‘unavailable printer' corresponds to error code X'42' (interval control PUT request has failed). The algorithm used for printer selection differs in z/OS Communications Server support. The retry algorithm in the sample node error program is similar to this new selection algorithm.