Communications protocol return codes
The communication protocols used by IBM MQ for z/OS can issue their own return codes. Use these tables to identify the return codes used by each protocol.
The tables in this topic show the common return codes from TCP/IP and APPC/MVS returned in messages from the distributed queuing component:
If the return code is not listed, or if we want more information, see to the documentation mentioned in each table.
If the return code you received is X'7D0' or more, it is one of the MQRC_* return codes issued by IBM MQ. These codes are listed in API completion and reason codes.
TCP/IP UNIX System Services Sockets return codes
See the TCP/IP UNIX System Services Messages and Codes manual for more information and for further return codes.
Return code (Hexadecimal) | Explanation |
---|---|
0001 | Error in the domain |
0002 | Result is too large |
006F | Permission is denied |
0070 | The resource is temporarily unavailable |
0071 | The file descriptor is incorrect |
0072 | The resource is busy |
0073 | No child process exists |
0074 | A resource deadlock is avoided |
0075 | The file exists |
0076 | The address is incorrect |
0077 | The file is too large |
0078 | A function call is interrupted |
0079 | The parameter is incorrect |
007A | An I/O error occurred |
007B | The file specified is a directory |
007C | Too many files are open for this process |
007D | Too many links occurred |
007E | The file name is too long |
007F | Too many files are open in the system |
0080 | No such device exists |
0081 | No such file, directory, or IPC member exists |
0082 | The exec call contained a format error ( DFSMS error) |
0083 | No locks are available |
0084 | Not enough space is available |
0085 | No space is left on the device, or no space is available to create the IPC member ID |
0086 | The function is not implemented |
0087 | Not a directory |
0088 | The directory is not empty |
0089 | The I/O control operator is inappropriate |
008A | No such device or address exists |
008B | The operation is not permitted |
008C | The pipe is broken |
008D | The specified file system is read only |
008E | The seek is incorrect |
008F | No such process or thread exists |
0090 | A link to a file on another file system was attempted |
0091 | The parameter list is too long, or the message to receive was too large for the buffer |
0092 | A loop is encountered in symbolic links |
0093 | The byte sequence is incorrect |
0095 | A value is too large to be stored in the data type |
0096 | OpenMVS kernel is not active |
0097 | Dynamic allocation error |
0098 | Catalog Volume Access Facility error |
0099 | Catalog obtain error |
009C | Process Initialization error |
009D | An MVS environmental or internal error has occurred |
009E | Bad parameters were passed to the service |
009F | File system encountered a permanent file error |
00A2 | File system encountered a system error |
00A3 | SAF/RACF extract error |
00A4 | SAF/RACF error |
00A7 | Access to the OpenMVS version of the C RTL is denied |
00A8 | The password for the specified resource has expired |
00A9 | The new password specified is not valid |
00AA | A WLM service ended in error |
03EA | Socket number assigned by client interface code (for socket() and accept()) is out of range |
03EB | Socket number assigned by client interface code is already in use |
03ED | Offload box error |
03EE | Offload box restarted |
03EF | Offload box down |
03F0 | Already a conflicting call outstanding on socket |
03F1 | Request canceled using SOCKcallCANCEL request |
03F3 | SetIbmOpt specified a name of a PFS that either was not configured or was not a Sockets PFS |
044C | Block device required |
044D | Text file busy |
044E | The descriptor is marked nonblocking, and the requested function cannot complete immediately |
044F | Operation now in progress |
0450 | Operation already in progress |
0451 | Socket operation on a non-socket |
0452 | Destination address required |
0453 | The message is too large to be sent in a single transmission, as required |
0454 | The socket type is incorrect |
0455 | Protocol or socket option unavailable |
0456 | Protocol not supported |
0457 | Socket type not supported |
0458 | The referenced socket is not a type that supports the requested function |
0459 | Protocol family not supported |
045A | The address family is not supported |
045B | The address is already in use |
045C | Cannot assign requested address |
045D | Network is down |
045E | Network is unreachable |
045F | Network dropped connection on reset |
0460 | Software caused connection abort |
0461 | Connection reset by peer |
0462 | Insufficient buffer space available |
0463 | The socket is already connected |
0464 | The socket is not connected |
0465 | Cannot send after socket shutdown |
0466 | Too many references: Cannot splice |
0467 | Connection timed out |
0468 | The attempt to connect was rejected |
0469 | Host is down |
046A | No route to host |
046B | Too many processes |
046C | Too many users |
046D | Disk quota exceeded |
046E | Stale NFS file handle |
046F | Too many levels of remote in path |
0470 | Device is not a stream |
0471 | Timer expired |
0472 | Out of streams resources |
0473 | No message of the required type |
0474 | Trying to read unreadable message |
0475 | Identifier removed |
0476 | Machine is not on the network |
0477 | Object is remote |
0478 | The link has been severed |
0479 | Advertise error |
047A | srmount error |
047B | Communication error on send |
047C | Protocol error |
047D | Protocol error |
047E | Cross mount point |
047F | Remote address change |
0480 | The asynchronous I/O request has been canceled |
0481 | Socket send/receive gotten out of order |
0482 | Unattached streams error |
0483 | Streams push object error |
0484 | Streams closed error |
0485 | Streams link error |
0486 | Tcp error |
Other | See the OS/390 UNIX System Services Messages and Codes manual |
APPC/MVS return codes
The tables in this section document the following return codes:
See the Writing Transaction Programs for APPC/MVS and Writing Servers for APPC/MVS documentation for more information.
- APPC return codes
-
This table documents the return codes that can be returned from APPC/MVS in messages from the distributed queuing component if we are using APPC/MVS as your communications protocol. These return codes can be returned to the local program in response to a call.
Return code (Hexadecimal) Explanation 00 The call issued by the local program ran successfully. If the call specified a Notify_type of ECB, the call processing is performed asynchronously, and the ECB is posted when the processing is complete. 01 The caller specified an allocate_type that was other than immediate. Either APPC/MVS can not establish a session with the partner LU, or VTAM can not establish the conversation. In this case (when allocate_type is immediate ), APPC/MVS converts this return code to unsuccessful
.02 The conversation cannot be allocated on a session because of a condition that might be temporary. The program can try again the allocation request. The system returns this code when the allocate_type specified on a CMALLOC verb is other then immediate. 03 The partner LU rejected the allocation request because the local program issued an Allocate call with the Conversation_type parameter set to either Basic_conversation or Mapped_conversation, and the partner program does not support the mapped or basic conversation protocol boundary. This return code is returned on a call made after the Allocate. 05 The partner LU rejected an ATBALLC or ATBALC2 (allocate) request because the partner program has one or more initialization parameter (PIP) variables defined. APPC/MVS does not support these parameters. This return code is returned on a call made after the Allocate. It is not returned for allocate requests made using CPI Communications. 06 The partner LU rejected the allocation request because the access security information is not valid. This return code is returned on a call subsequent to the Allocate. 08 The partner LU rejected the allocation request because the local program specified a synchronization level (with the Sync_level parameter) that the partner program does not support. This return code is returned on a call subsequent to the Allocate. 09 The partner LU rejected the allocation request because the local program specified a partner program that the partner LU does not recognize. This return code is returned on a call subsequent to the Allocate. 0A The partner LU rejected the allocation request because the local program specified a partner program that the partner LU recognizes but cannot start. The condition is not temporary, and the program should not try again the allocation request. This return code is returned on a call subsequent to the Allocate. 0B The partner LU rejected the allocation request because the local program specified a partner program that the partner LU recognizes but currently cannot start. The condition might be temporary, and the program can try again the allocation request. This return code is returned on a call subsequent to the Allocate. 11 The partner program issued a Deallocate call with a Deallocate_type of Deallocate_abend, or the partner LU has done so because of a partner program abnormal ending condition. If the partner program was in receive state when the call was issued, information sent by the local program and not yet received by the partner program is purged. This return code is reported to the local program on a call the program issues in Send or Receive state. 12 The partner program issued a Deallocate call on a basic or mapped conversation with a Deallocate_type of Deallocate_sync_level or Deallocate_flush. This return code is reported to the local program on a call the program issues in Receive state. 13 The local program issued a call specifying an argument that was not valid. Specific reasons for the return code apply to the following callable services: - ATBALC2 or ATBALLC (LU 6.2 Allocate)
-
- The TP name was not 1 - 64 characters long
- Either the SYMDEST name or the TP name length were not specified
- SNASVCMG is specified as mode name
- X'06' is used as the first character of a TP name
- An SNA service TP name is used with a mapped conversation verb
- The partner LU name was not valid
- The mode name was not valid
- The local LU name specified is either undefined or not permitted
- CMALLC (CPI-C Allocate)
-
- SNASVCMG is specified as mode name
- X'06'is used as the first character of a TP name
- An SNA service TP name is used with a mapped conversation verb
- The mode name was not valid
14 A product-specific error has been detected. The system writes symptom records that describe the error to SYS1.LOGREC. 15 Indicates one of the following: - The partner program made a Send_error call on a mapped conversation and the conversation for the partner program was in Send state. No truncation occurs at the mapped conversation protocol boundary. This return code is reported to the local program on a Receive call before receiving any data records or after receiving one or more data records.
- The partner program made a Send_error call specifying the Type parameter with a value of PROG, the conversation for the partner program was in Send state, and the call did not truncate a logical record. No truncation occurs at the basic conversation protocol boundary when a program performs a Send_error before sending any logical records, or after sending a complete logical record. This return code is reported to the local program on a Receive call before receiving any logical records or after receiving one or more complete logical records.
16 The partner program made a Send_error call on a mapped conversation, or made a Send_error call on a basic conversation specifying the Type parameter with a value of PROG, and the conversation for the partner program was in Receive or Confirm state. The call might have caused information to be purged. Purging occurs when a program issued Send_error in receive state before receiving all the information sent by its partner program. No purging occurs when a program issues the call in Confirm state or in Receive state after receiving all the information sent by its partner program. The return code is normally reported to the local program on a call it issues before sending any information, depending on the call and when it is made. 17 The partner program made a Send_error call specifying the Type parameter with a value of PROG, the conversation for the partner program was in Send state, and the call truncated a logical record. Truncation occurs at the basic conversation protocol boundary when a program begins sending a logical record and then makes a Send_error call before sending the complete logical record. This return code is reported to the local program on a Receive call it issues after receiving the truncated logical record. 18 The local program issued a call in which a programming error has been found in one or more parameters. Specific reasons for the return code apply to the following callable services: - ATBALC2 or ATBALLC (LU 6.2 Allocate)
-
- An unauthorized caller passed a nonzero TP_ID
- For Sec_pgm-type security, both the user ID and password were not specified
- For Sec_Pgm-type security, a user ID was specified with a blank password, or a password was specified with a blank user ID
- The SYMDEST name was not found in the side information
- The specified TP_ID is not associated with the address space
- An unauthorized caller specified a Notify_Type of ECB
- ATBCFM (LU 6.2 Allocate)
-
- An unauthorized caller specified a Notify_type of ECB
- The Sync_Level field for the conversation was equal to sync_level_none
- ATBDEAL (LU 6.2 Allocate)
-
- A Deallocate_type of deallocate_confirm was specified, and the Sync_Level field for the conversation was equal to sync_level_none
- ATBPTR (LU 6.2 Prepare to Receive)
-
- A Prepare_To_Receive_Type of Prep_to_receive_sync_level was specified, and the Sync_Level field for the conversation was equal to sync_level_none
- ATBSEND (LU 6.2 Send)
-
- The value in the 2 byte LL field was not valid
- A Send_Type of Send_and_Confirm was specified, and the Sync_Level field for the conversation was equal to sync_level_none
- CMINIT (CPI-C Initialize Conversation)
- The SYMDEST name was not found in the side information
19 The local program issued a call in a state that was not valid for that call. The program should not examine any other returned variables associated with the call as nothing is placed in the variables. The state of the conversation remains unchanged. If the error occurs in one of the following callable services, the conversation was in send state and the program started, but the program did not finish sending a logical record: - ATBCFM (LU 6.2 Allocate)
- ATBDEAL (LU 6.2 Allocate)
- ATBPTR (LU 6.2 Allocate)
- ATBRCVW and ATBRCVI (LU 6.2 Receive and Wait and Receive Immediate)
- ATBSEND (LU 6.2 Send)
1A A failure occurred that caused the conversation to be prematurely terminated. The condition is not temporary, and the program should not try the transaction again until the condition is corrected. 1B A failure occurred that caused the conversation to be prematurely terminated. The condition might be temporary, and the program can try the transaction again. 1C The call issued by the local program did not run successfully. This return code is returned on the unsuccessful call. If this code is returned by the ATBRCVI (LU 6.2 Receive_Immediate) callable service, there is no data to be returned.
1E The partner program issued a Deallocate call with a Deallocate_type of Deallocate_abend_SVC. If the partner program was in Receive state when the call was issued, information sent by the local program and not yet received by the partner program is purged. This return code is reported to the local program on a call the program issues in Send or Receive state. 1F The partner program issued a Deallocate call with a Deallocate_type of Deallocate_abend_timer. If the partner program was in Receive state when the call was issued, information sent by the local program and not yet received by the partner program is purged. This return code is reported to the local program on a call the program issues in Send or Receive state. 20 The partner program issued a Send_error call specifying a Type parameter of SVC, the conversation for the partner program was in Send state, and the call did not truncate a logical record. This return code is returned on a Receive call. It is not returned for Send_error requests using CPI Communications. 21 The partner program issued a Send_error call specifying a Type parameter of SVC, the conversation for the partner program was in Receive, Confirm, or Sync_Point state, and the call might have caused information to be purged. This return code is normally returned to the local program on a call that the local program issues after sending some information to the partner program. However the return code can be returned on a call that the local program issues before sending any information, depending on when the call is issued. This code is not returned for Send_error requests using CPI Communications.
22 The partner program issued a Send_error call specifying a Type parameter of SVC, the conversation for the partner program was in Send state, and the call truncated a logical record. Truncation occurs when a program begins sending a logical record and then issues Send_error before sending the complete record. This return code is returned to the local program on a Receive call that the local program issues after receiving the truncated logical record. The code is not returned for Send_error requests using CPI Communications.
40 APPC/MVS is not currently active. Call the service again after APPC is available. Other See the Writing Transaction Programs for APPC/MVS and Writing Servers for APPC/MVS manuals. - APPC allocate services return codes
-
This table documents the return codes that can be returned from APPC/MVS allocate queue services in messages from the distributed queuing component if we are using APPC/MVS as your communications protocol.
Return code (Hex) Explanation 0 The service completed as requested. 4 The service completed, but possibly not as expected. See the reason code parameter for a description of the warning condition. 8 A user-supplied parameter was found to be in error. For example, a parameter contains characters not in the required character set. See the reason code parameter to determine which parameter is in error. 10 The service was unsuccessful. The cause is most likely a parameter error other than a syntax error, or an environmental error. For example, a syntactically valid LU name was specified, but the LU is not defined to APPC/MVS. An example of an environmental error is that the caller called the service while holding locks. See the reason code parameter for the specific cause of the error, and to determine whether the error can be corrected and the service issued again. 20 APPC/MVS service failure. Record the return and reason code, and give them to the system programmer, who should contact the appropriate IBM support personnel. 40 APPC/MVS is not currently active. Call the service again after APPC is available. Other See the Writing Transaction Programs for APPC/MVS and Writing Servers for APPC/MVS manuals. - APPC reason codes
-
This table documents the reason codes that can be returned from APPC/MVS allocate queue services in messages from the distributed queuing component if we are using APPC/MVS as your communications protocol.
Note: Some of the APPC return codes are not accompanied by a reason code; in these cases, the value in the reason code field can be ignored. See the documentation shown in APPC/MVS return codes for more information.Return code (Hex) Explanation 1 The address space issued a Register_For_Allocates call that duplicated a previous Register_For_Allocate call (that is, the values specified for TP name, local LU name, partner LU name, user ID, and profile all matched those specified on a previous call to the Register_For_Allocates service). 2 A TP name is required, but none was specified. 3 The specified TP name contains characters that are not valid 4 The specified TP name length is outside the allowable range. 5 A local LU name is required, but none was specified. 7 An asynchronous call failed because a specified parameter was found to be inaccessible. 8 The caller held one or more locks when calling the service. 0A A transaction scheduler called the Register_For_Allocate service, which is not allowed 0B The specified symbolic destination name can not be found in the side information data set. 0C The specified local LU is undefined. 0D The specified local LU is not receiving inbound allocate requests. 0E The Register_For_Allocate service was called, but the caller is not authorized to serve the specified TP name on the specified local LU. 0F The specified local LU is inaccessible to the caller. 10 The service failed because of an APPC failure. 11 The specified allocate queue token does not represent an allocate queue for which this address space is registered. 12 The specified notify type is not valid. 13 The specified timeout value is not valid. 14 The request was canceled while in progress. This might have been caused by a call to the Unregister_For_Allocates service, or the termination of the caller's address space. 15 A Receive_Allocate call completed, but no allocate request was available to be received. 1A The specified event notification type is not valid. 1B The specified event code is not supported or is not valid for this service. 1C The netid retrieved from the side information data set does not match the local netid. 1D The specified event code qualifier is not valid or supported. 1E The Get_Event call completed, but no event element was available to be received. 1F The call to the Get_Event service was interrupted because all event notification requests were canceled for this address space. 20 The call to the Get_Event service was rejected because a previous Get_Event call is currently outstanding. 21 The Get_Event call was rejected because no event notification is in effect for this address space. 22 The specified allocate queue keep time is outside the allowable range. 24 A call to the Unregister_For_Allocates service specified unregister all
(that is, the allocate_queue_token was set to binary zeros), but this address space is not registered for any allocate queues.25 The specified event get type is not valid. 26 The specified receive allocate type is not valid. 27 APPC/MVS cannot determine if the specified netid is valid. 29 The service failed because the supplied buffer was not large enough to contain the requested information. Other See the Writing Transaction Programs for APPC/MVS and Writing Servers for APPC/MVS manuals.
Parent topic: IBM MQ for z/OS messages, completion, and reason codes