&RETCODE and &ZFDBK

The &RETCODE system variable provides general completion information as follows:
nwmsol
The &RETCODE system variable provides general completion information as follows:
0
Operation successful
4
Conversation ended (or operation unsuccessful)
8
Remote program error
12
State error
16
LU6.2 architected error
These values can provide sufficient feedback information to control simple procedures; however, more detailed information is available to assist in debugging or real-time recovery of certain errors. This information is provided by the &ZFDBK system variable, which is set in conjunction with &RETCODE.
 
&RETCODE
 
 
&ZFDBK 
 
 
Meaning
 
0
Operation successful 
4
Normal conversation deallocation
4
Immediate request failure 
8
Program_error_purging
4
Program_error_no_truncation 
Program_error_truncation 
12
State error
16 
0
Parameter error 
Allocation_failure_retry 
Allocation_failure_no_retry 
12 
Sync_level_not_supported_by_LU 
16 
Deallocate_abend_prog 
20 
Deallocate_abend_svc 
24 
Deallocate_abend_timer 
28 
Svc_error_purging 
32 
Svc_error_no_truncation 
36 
Svc_error_truncation 
40 
Resource_failure_retry 
44 
Resource_failure_no_retry 
48 
FMH_data_not_supported 
52 
Mapping_not_supported 
56 
Map_not_found 
60 
Map_execution_failure 
64 
Security_not_valid 
68 
TPN_not_recognized 
72 
PIP_not_allowed 
76 
PIP_not_specified_correctly 
80 
Conversation_type_mismatched 
84 
Sync_level_not_supported_by_program 
88 
Trans_pgm_not_avail_retry 
92 
Trans_pgm_not_avail_no_retry 
&RETCODE 0 always signifies a successful operation and is equivalent to the LU6.2 architected RETURN_CODE value of OK.
&RETCODE 4 with &ZFDBK 0 is normally set when, following a receive operation, a deallocation flush is received indicating normal conversation termination.
&RETCODE 4 with &ZFDBK 4 is set when an immediate request is unsuccessful, for example, an ALLOCATE_IMMEDIATE or RECEIVE_IMMEDIATE cannot be satisfied.
&RETCODE 8 always signifies that the remote program issued an error through the SEND_ERROR request.
&RETCODE 12 always signifies that the procedure has issued a verb from an invalid state. This value usually indicates a programming error; however, in some cases the state is changed internally when severe errors occur. Recovery is possible depending upon the sophistication of the procedure.
&RETCODE 16 always signifies a serious error. In most cases, these errors are unrecoverable; however, some recovery is possible depending upon the sophistication of the procedure. 
For more information about &ZFDBK values, see IBM's 
SNA Transaction Programmer's Reference Manual for LU Type 6.2
 (GC30-3084-4).