The Extract_Secondary_Return_Code (CMESRC) call provides the program with secondary return codes that relate to the primary return code of the last CPI-C call.
This function is one of the additional functions of the UPIC carrier system; it is not a component of the CPI-C interface.
CMESRC (conversation_ID, call_ID, secondary_return_code, return_code)
Parameters
--> conversation_ID | Identifier of the conversation already initialized (is supplied by the Initialize call). |
--> call_ID | Specifies the function whose secondary return code is to be output. Supplies the secondary return code of the last CPI-C call. If the result is not CM_OK, the value of secondary_return_code is undefined. |
<-- secondary_return_code | Returns the secondary return code of the last CPI-C call. |
<-- return_code | Result of the function call. |
Result (return_code)
CM_OK
The call is OK
CM_NO_SECONDARY_RETURN_CODE
There is no secondary return code for the call of the specified conversation.
CM_PROGRAM_PARAMETER_CHECK
The value in conversation_ID is invalid, the call_ID specifies CMESRC or an invalid value.
CM_PRODUCT_SPECIFIC_ERROR
The UPIC instance could not be found.
Secondary return code ( secondary_return_code )
CM_SECURITY_USER_UNKNOWN
The specified user ID is not configureded.
CM_SECURITY_STA_OFF
The specified user ID is locked by configuration or administration.
The administrator of the UTM application can remove the lock.
CM_SECURITY_USER_IS_WORKING
Somebody has already signed on to this UTM application with this user ID.
CM_SECURITY_OLD_PSWORD_WRONG
The old password entered is incorrect.
CM_SECURITY_NEW_PSWORD_WRONG
The new password information cannot be used. Possible cause: minimum period of validity not yet expired.
Use the old password until its validity expires.
CM_SECURITY_NO_CARD_READER
The user is configured with a magnetic stripe card and cannot sign on via UPIC.
CM_SECURITY_CARD_INFO_WRONG
The user is configured with a chipcard and cannot sign on via UPIC.
CM_SECURITY_NO_RESOURCES
Sign-on is not possible at the moment. Possible cause:
a resource bottleneck, or
the maximum number of simultaneous users signed on has been reached (see KDCDEF statement MAX CONN-USERS=), or
an inverse KDCDEF is running
Try again later.
CM_SECURITY_NO_KERBEROS_SUPPORT
The user is configuredwith a Kerberos principal and cannot sign on via UPIC.
CM_SECURITY_TAC_KEY_MISSING
The current LTERM is not authorized to resume the service.
CM_SECURITY_PWD_EXPIRED_NO_RETRY
The validity period of the user password has expired, the UTM application is configured with SIGNON GRACE=NO.
The client user can no longer sign on. He or she must request the administrator of the UTM application to issue a new password.
CM_SECURITY_COMPLEXITY_ERROR
The new password is not sufficiently complex. See KDCDEF control statement USER PROTECT-PW= .
CM_SECURITY_PASSWORD_TOO_SHORT
The new password is too short.
See KDCDEF control statement USER PROTECT-PW=.
CM_SECURITY_UPD_PSWORD_WRONG
The password transferred by KDCUPD does not satisfy the complexity or minimum length requirement defined in application configuration.
See KDCDEF control statement USER PROTECT-PW= .
The password must be changed by administration before the user can sign on again.
CM_SECURITY_TA_RECOVERY
A transaction restart is required for the specified user ID.
CM_SECURITY_PROTOCOL_CHANGED
The user has an open service that cannot be resumed from a UPIC client.
CM_SECURITY_SHUT_WARN
The application run is terminated, only users with administration authorization may still sign on.
Sign on is not possible until the UTM application has been restarted.
CM_SECURITY_ENC_LEVEL_TOO_HIGH
The encryption mechanism required to resume the open service is not available on the connection.
CM_SECURITY_PWD_EXPIRED_RETRY
The validity period of the user password has expired, the UTM application is cofigured with SIGNON GRACE=YES.
The client can nevertheless sign on by entering a suitable new password in addition to the old password.
If the new password is the same as the old password, openUTM rejects sign-on. In this case, the secondary return code set by UPIC is CM_SECURITY_NEW_PSWORD_WRONG .
The following secondary return codes only occur in the context of UTM cluster applications:
CM_SECURITY_USER_GLOBALLY_UNKNOWN
The specified user ID is not recognized in the cluster user file.
CM_SECURITY_USER_SIGNED_ON_OTHER_NODE
A user has already signed on to another node application with this user ID.
CM_SECURITY_TRANSIENT_ERROR
A temporary error occurred during signon. The cluster user file could not be accessed in the time configured in the node application.
Try signing on again later.
Notes
The program should issue this call immediately after receipt of a return code. Subsequent CPI-C calls may overwrite the secondary return code. The conversation_ID is ignored if no conversation exists, i.e. the library is in the "Reset" state.
If the Extract_Secondary_Return_Code call terminates successfully, the secondary return code supplied is no longer saved. The same return code is then no longer available in the next Extract_Secondary_Return_Code call.
The program cannot use the call to obtain a secondary return code from a preceding Extract_Secondary_Return_Code call.
The secondary return code and associated description can be found in the individual UPIC calls.
State change
No state change.
Behavior in the event of errors
CM_PROGRAM_PARAMETER_CHECK
Modify program.
CM_PRODUCT_SPECIFIC_ERROR
The operating system cannot provide sufficient memory for internal buffers. Check whether the memory requirement of your program is too high and if necessary reboot your system.
CM_ENTRY Extract_Secondary_Return_Code ( unsigned char CM_PTR conversation_ID, CM_INT32 CM_PTR call_ID, CM_RETURN_CODE CM_PTR secondary_return_code, CM_RETURN_CODE CM_PTR return_code )