Mit dem Aufruf Deallocate (CMDEAL) wird die Conversation vom CPI-C-Programm abnormal beendet. Nach Ausführung des Aufrufs ist die conversation_ID keiner Conversation mehr zugeordnet. Im Normalfall wird eine Conversation mit dem UTM-Vorgang beendet. Eine Beendigung der Conversation durch das CPI-C-Programm gilt immer als abnormale Beendigung. Deshalb muss, bevor ein Deallocate-Aufruf gemacht wird, mit der Funktion Set_Deallocate_Type (CMSDT) der Wert für deallocate_type auf CM_DEALLOCATE_ABEND gesetzt werden.
CMDEAL (conversation_ID, return_code)
Parameter
--> conversation_ID | Identifikation der Conversation, die beendet werden soll. |
<-- return_code | Ergebnis des Funktionsaufrufs |
Ergebnis (return_code)
CM_OK
Aufruf ok
CM_PROGRAM_STATE_CHECK
Der Aufruf ist im aktuellen Zustand nicht erlaubt.
CM_PROGRAM_PARAMETER_CHECK
Der Wert für conversation_ID ist ungültig.
CM_PRODUCT_SPECIFIC_ERROR
Der Wert für deallocate_type ist nicht durch einen vorangegangenen Set_Deallocate_Type Aufruf auf CM_DEALLOCATE_ABEND gesetzt.
Zustandsänderung
Falls das Ergebnis CM_OK ist, geht das Programm in den Zustand "Reset" über. Bei allen anderen Fehlersituationen ändert das Programm seinen Zustand nicht.
Verhalten im Fehlerfall
CM_PROGRAM_STATE_CHECK
Programm ändern.
CM_PROGRAM_PARAMETER_CHECK
Programm ändern.
CM_PRODUCT_SPECIFIC_ERROR
Programm ändern und Set_Deallocate_Type-Aufruf einbauen.
CM_ENTRY Deallocate ( unsigned char CM_PTR conversation_ID, CM_RETURN_CODE CM_PTR return_code)