Previous Page Contents Page Next Page

Appendix A: Common Return Codes

This appendix describes the return codes that are common to several CPI-C calls. The return codes are listed in alphabetical order. Return codes generated when the partner program is a non-CPI-C LU 6.2 program are listed separately.

Call-specific return codes are described in the documentation for the individual calls in CPI-C Calls.

A.1 Return Codes from Any Partner Program

The following return codes can occur with any partner program. (Other return codes, which can only occur when the partner program is not a CPI-C program, are listed separately.)

CM_ALLOCATION_FAILURE_NO_RETRY

The conversation cannot be allocated because of a permanent condition, such as a configuration error or session protocol error. To determine the error, the System Administrator should examine the error log file. Do not attempt to retry the allocation until the error has been corrected.

CM_ALLOCATION_FAILURE_RETRY

The conversation could not be allocated because of a temporary condition, such as a link failure. The reason for the failure is logged in the system error log. Retry the allocation.

CM_CALL_NOT_SUPPORTED

This return code is used only in Java CPI-C applications.

The application used a CPI-C function that is defined in the Java CPI-C class but is not supported.

CM_CONVERSATION_TYPE_MISMATCH

The partner LU or program does not support the conversation type (basic or mapped) specified in the allocation request.

CM_DEALLOCATED_ABEND

The conversation has been deallocated for one of the following reasons:

  • The partner program has issued the Deallocate call with the deallocate type set to CM_DEALLOCATE_ABEND. If the conversation is in Receive state for the partner program when this call is issued by the local program, data sent by the local program and not yet received by the partner program is purged.

  • The partner program has terminated normally but did not deallocate the conversation before terminating.

  • The local program issued the Cancel_Conversation call, which cancels all outstanding asynchronous CPI-C calls on the conversation.

CM_DEALLOCATED_NORMAL

This return code does not indicate an error.

The partner program issued the Deallocate call with the deallocate type set to one of the following:

  • CM_DEALLOCATE_FLUSH

  • CM_DEALLOCATE_SYNC_LEVEL with the synchronization level of the conversation specified as CM_NONE

CM_OK

The call executed successfully.

CM_OPERATION_INCOMPLETE

The call was issued successfully, and is operating in nonblocking mode; that is, control has been returned to the program even though processing for the call has not yet completed.

The program can continue with any processing not related to this conversation (including issuing CPI-C calls on other conversations). On this conversation, it can issue a limited range of CPI-C calls (such as the Extract_* calls). This is different from the IBM CPI-C 2.0 specification in which the program cannot issue any calls on this conversation except Wait_For_Conversation or Cancel_Conversation.

At a later time, the application can issue Check_For_Completion to determine whether the outstanding nonblocking call has completed, Wait_For_Conversation to wait for it to complete, or Cancel_Conversation to cancel the outstanding call and end the conversation.

If the application has used Specify_Windows_Handle to receive notification of asynchronous call completion, it should not issue further calls on this conversation until it has received this notification. Otherwise, the application can issue Wait_For_Conversation to wait for the nonblocking call to complete, or Cancel_Conversation to cancel the outstanding call and end the conversation.

CM_OPERATION_NOT_ACCEPTED

The call cannot be issued because of one of the following conditions:

  • There is a nonblocking call outstanding on this conversation. The program can continue with any processing not related to this conversation (including issuing CPI-C calls on other conversations), but cannot issue most CPI-C calls on this conversation.

    At a later time, the application can issue Check_For_Completion to determine whether an outstanding nonblocking call has completed, Wait_For_Conversation to wait for it to complete, or Cancel_Conversation to cancel the outstanding call and end the conversation.

  • The program is running in a DCE multi-threaded environment, and there is a call outstanding on this conversation from another thread of the program. Only one call for each conversation can be outstanding at any one time.

    If the application has used Specify_Windows_Handle to receive notification of asynchronous call completion, it should not issue further calls on this conversation until it has received this notification. Otherwise, the application can issue Wait_For_Conversation to wait for the nonblocking call to complete, or Cancel_Conversation to cancel the outstanding call and end the conversation.

CM_PARAMETER_ERROR

A parameter referred to by CPI-C is not valid. The parameter that is not valid is one that can be supplied either by the program or by another component outside the program's control (such as the configuration file). For example, the mode_name parameter may have been specified by the program using Set_Mode_Name, or may have been taken from the side information entry specified by the sym_dest_name parameter.

CM_PRODUCT_SPECIFIC_ERROR

When CPI-C generates a CM_PRODUCT_SPECIFIC_ERROR return code, it makes an entry in the log file indicating the cause of the error and any action required. Refer to the SNAP-IX Administration Guide for more information about interpreting these messages.

CM_PROGRAM_ERROR_NO_TRUNC

The partner program has issued the Send_Error call while in Send state or in Send-Pending state with the error direction set to CM_SEND_ERROR. Data was not truncated.

CM_PROGRAM_ERROR_PURGING

One of the following conditions has occurred:

  • The partner program issued the Send_Error call while in Receive or Confirm state. Data sent but not yet received is purged.

  • The partner program has issued the Send_Error call while in Send-Pending state with the error direction set to CM_RECEIVE_ERROR. Data was not purged.

CM_PROGRAM_ERROR_TRUNC

The partner program in a basic conversation has issued a Send_Error call while in Send state, before finishing sending a complete logical record. The local program may have received the first part of the logical record through a Receive call.

CM_PROGRAM_PARAMETER_CHECK

The program supplied a parameter that is not valid to the call. For details, see individual calls in CPI-C Calls.

CM_PROGRAM_STATE_CHECK

The call issued is not allowed in the current conversation state, or is not appropriate because of the current setting of a conversation characteristic. For details, see individual calls in CPI-C Calls.

CM_RESOURCE_FAILURE_NO_RETRY

One of the following conditions has occurred:

  • The conversation was terminated prematurely because of a permanent condition. Do not attempt to retry until the error has been corrected.

  • The partner program did not deallocate the conversation before terminating normally.

CM_RESOURCE_FAILURE_RETRY

The conversation was terminated prematurely because of a temporary condition, such as modem failure. Retry the conversation.

CM_SECURITY_NOT_VALID

The user ID or password specified in the allocation request was not accepted by the partner LU.

CM_SYNC_LVL_NOT_SUPPORTED_PGM

The partner program does not support the synchronization level specified in the allocation request.

CM_SYNC_LVL_NOT_SUPPORTED_LU

The partner LU does not support the synchronization level specified in the allocation request.

CM_TP_NOT_AVAILABLE_NO_RETRY

The partner LU cannot start the program specified in the allocation request because of a permanent condition. The reason for the error may be logged on the remote node. Do not retry the allocation until the cause of the error has been corrected.

CM_TP_NOT_AVAILABLE_RETRY

The partner LU cannot start the program specified in the allocation request because of a temporary condition. The reason for the error may be logged on the remote node. Retry the allocation.

CM_TPN_NOT_RECOGNIZED

The partner LU does not recognize the program name specified in the allocation request.

CM_UNSUCCESSFUL

The call was not executed successfully. This return code occurs in the following cases:

  • The program issued Allocate with the return_control parameter set to CM_IMMEDIATE, and SNAP-IX was unable to assign a session for the conversation immediately.

  • The program issued Receive with the receive_type parameter set to CM_RECEIVE_IMMEDIATE , and no data or control information from the partner program was currently available.

  • The program issued Check_For_Completion, and no outstanding nonblocking function had completed on any of the program's conversations.

Previous Page Contents Page Top of Page Next page