Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Format of the return codes

Each return code consists of a subcode2, a subcode1 and the maincode.
The field for these return codes has the following format:

The field with the return code can be addressed with DSECT after a macro call (field xxxRETC, generated with the macro FHDR).

Subcode1

The error codes are divided into error classes. These are found in subcode. The following error classes exist:

Value
(decimal)

Meaning

0

No error.
The call was successfully completed

1

Syntax error.
No repeat is possible, there was a syntax error or equivalent parameter error.

32

System error.
An internal error occurred during macro processing.

64

Permanent error.
Repeat after correction of user input.

128

Temporary error.
Wait and repeat.

The corresponding equates are defined in the macro YNDEQU with the prefix YNDC.

Subcode2

This field contains additional information or is zero.

Maincode

This field contains the exact error. It is divided into two bytes.

  • If subcode 1 has the value 1 (syntax error, see above), then the flush-right byte (byte 1) specifies the maincode for the cause of error and the flush-left byte (byte 2) specifies the parameter. The flush-right byte can have the following values:

    Value of
    Byte 1
    (decimal)

    Meaning
    (if the value of Subcode 1 is 1)

    Permanent error

    1

    the parameter field is partially or entirely in an invalid address space

    2

    the address or length field contradicts the keyword field

    3

    the parameter entry contradicts another parameter

    4

    the parameter value is too long or does not respect the syntax rules;
    e.g. FILENAME, PASSWORD

    Errors which can be eliminated

    10

    the buffer is too small; this error code is reserved for future expansions

    11

    the arithmetic parameter value (e.g. RECSIZE value) is invalid

    12

    the keyword entered is not permitted for this parameter

    13

    a mandatory parameter is missing

    The corresponding equates for byte 1 are defined in the macro YNDEQU with the prefix YND1.

    The corresponding equates for byte 2 are defined in the macro YNDEQU with the prefix YND2.

  • If subcode1 has the value 32, 64 or 128 (decimal), then the maincode contains the message number as the result of the call, see the table on "Return codes for NCOPY, NDEL, NLMOD, NLSHOW, NMOD and NSHOW".

Examples

  • In the case of a syntax error in the partner name, the subcode1 is X‘01‘ and the maincode is X‘0204‘.

  • If the remote transfer admission is violated, the subcode1 is X‘40‘ and the maincode is X‘879‘.

Exception

If the maincode contains the value X’FFFF’, the request could not be executed for reasons specified uniquely throughout the system. The equates valid in this case for maincode, subcode1 and subcode2 are defined in the macro FHDR, which generates the default header.

Subcode 2 (SC2), subcode 1 (SC1) and maincode (MC) are specified as hexadecimal values in the following tables. In the case of SC1 =X’20’, X’40’ and X’80’, MC corresponds to the message number of the FTR message (decimal).