Der Aufruf Set_Function_Key (CMSFK) setzt den Wert für die Characteristic function_key. function_key spezifiziert eine Funktionstaste der UTM-Partner-Anwendung.
Der Wert von function_key wird zusammen mit den Daten des nächsten Send_Data- bzw. Send_Mapped_Data-Aufrufs an die UTM-Anwendung übertragen und die Funktion, die dieser Funktionstaste in der UTM-Anwendung zugeordnet ist, ausgeführt. Das CPI-C-Programm hat dann „die Funktionstaste gedrückt“.
Der Aufruf Set_Function_Key ist nur im Zustand "Send" oder "Receive" erlaubt.
Set_Function_Key ist nicht Bestandteil der CPI-C-Spezifikation, sondern eine zusätzliche Funktion des UPIC-Trägersystems.
CMSFK (conversation_ID, function_key, return_code)
Parameter
--> conversation_ID | Identifikation der Conversation |
--> function_key | „Funktionstaste“, die das lokale CPI-C-Programm in der fernen UTM-Anwendung „drücken“ will. Die Funktionstasten sind in der Form CM_FKEY_ftaste anzugeben. Dabei ist für ftaste die Nummer der K- bzw. F-Taste anzugeben, die „gedrückt“ werden soll. openUTM auf Unix-, Linux- und Windows-Systemen unterstützt die Funktionstasten F1 bis F20. openUTM auf BS2000-Systemen unterstützt die Funktionstasten K1 bis K14 und F1 bis F24. Der Wert CM_UNMARKED bedeutet, dass keine Funktionstaste gesetzt wird. |
<-- return_code | Ergebnis des Funktionsaufrufs |
Ergebnis (return_code)
CM_OK
Aufruf ok
CM_PROGRAM_STATE_CHECK
Die Conversation ist nicht im Zustand "Send" oder "Receive".
CM_PROGRAM_PARAMETER_CHECK
Der Wert in conversation_ID oder der Wert in function_key ist ungültig.
CM_PRODUCT_SPECIFIC_ERROR
Die
UPIC-Instanz konnte nicht gefunden werden.
Zustandsänderung
Im fehlerfreien Fall liefert die Funktion das Ergebnis CM_OK zurück. Dieser Aufruf ändert den Zustand des Programms nicht.
Hinweis
Bei openUTM auf Unix-, Linux- und Windows-Systemen haben Funktionstasten nur im Formatmodus eine Wirkung, d.h. wenn zum Austausch der Daten die Aufrufe Send-Mapped_Data und Receive_Mapped_Data verwendet werden.
Die in Set_Function_Key spezifizierte Funktionstaste wird erst zusammen mit den Daten des folgenden Send_Data- bzw. Send_Mapped_Data-Aufrufs an die UTM-Partner-Anwendung übergeben. Sobald der Wert von function_key an openUTM gesendet wird, wird function_key im lokalen CPI-C-Programm auf CM_UNMARKED (keine Funktionstaste) zurückgesetzt.
Empfängt die UTM-Partner-Anwendung von einem UPIC-Client eine Funktionstaste, so wird nur der Parameter RET der Steueranweisung SFUNC, die die Funktionstaste beschreibt, ausgewertet. RET enthält den Returncode, der nach dem MGET-Aufruf des UTM-Vorgangs im Feld KCRCCC des Kommunikationsbereichs steht. Ist der Parameter RET für die Funktionstaste nicht generiert, dann liefert openUTM beim MGET-Aufruf immer den Returncode 19Z (Funktionstaste nicht generiert oder Sonderfunktion ungültig).
Verhalten im Fehlerfall
CM_PROGRAM_STATE_CHECK
Programm ändern.
CM_PROGRAM_PARAMETER_CHECK
Programm ändern.
CM_PRODUCT_SPECIFIC_ERROR
Das Betriebssystem kann nicht genügend Speicherplatz für interne Puffer bereitstellen. Überprüfen Sie Ihr Programm auf zu hohe Speicherplatzanforderung und starten Sie ggf. Ihr System neu.
CM_ENTRY Set_Function_Key ( unsigned char CM_PTR conversation_ID, CM_INT32 CM_PTR function_key, CM_RETURN_CODE CM_PTR return_code)