Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Prepare_To_Receive - Vom Sende- in den Empfangsstatus wechseln

&pagelevel(4)&pagelevel

Der Aufruf Prepare_To_Receive (CMPTR) bewirkt folgendes:

  • Alle Daten, die zum Zeitpunkt des Aufrufs noch im lokalen Sendepuffer gespeichert sind, werden zusammen mit dem Senderecht an den UTM-Vorgang übertragen.

  • Nachdem die Daten aus dem Sendepuffer an den UTM-Vorgang übergeben sind, geht die Conversation vom Zustand "Send" in den Zustand "Receive" über.

Prepare_To_Receive darf nur aufgerufen werden, wenn sich die Conversation im Zustand "Send" befindet, jedoch nicht direkt nach dem Allocate-Aufruf bzw. nach dem Empfang des Senderechts vom Partner. In diesen beiden Ausnahmefällen muss ein Send_Data- oder Send_Mapped_Data-Aufruf vor dem Prepare_To_Receive-Aufruf abgesetzt werden.

Nach dem Prepare_To_Receive-Aufruf muss als nächstes Receive bzw. Receive_Mapped_Data aufgerufen werden. Vor dem Receive- bzw. Receive_Mapped_Data-Aufruf darf jedoch Set_Receive_Timer oder Set_Receive_Type aufgerufen werden.

Syntax
CMPTR (conversation_ID, return_code)

Parameter

--> conversation_ID

Identifikation der Conversation

<-- return_code

Ergebnis des Funktionsaufrufs

Ergebnis (return_code)

CM_OK

Aufruf ok. Die Conversation ist von "Send" in den Zustand "Receive" übergegangen.

CM_DEALLOCATED_ABEND

mögliche Ursachen:

  • Abnormale Beendigung des UTM-Vorgangs

  • UTM-Anwendungsende

  • Verbindungsabbau durch die UTM-Administration

  • Verbindungsabbau durch das Transportsystem

  • Verbindungsabbau durch openUTM wegen Überschreitung der maximal zulässigen Anzahl von Benutzern (MAX-Anweisung, CONN-USERS=). Die Ursache kann auch darin liegen, dass beim Aufruf Set_Conversation_Security_User_ID() zwar eine Administrator-Benutzerkennung übergeben wurde, aber die per UTM-Generierung der Verbindung implizit zugeordnete Benutzerkennung oder die explizit (mit der Anweisung LTERM..., USER=) zugeordnete (Verbindungs-)Benutzerkennung keine Administrator-Benutzerkennung ist (CONN-USERS wirkt nur für Benutzer ohne Administrationsberechtigung).

Das Programm geht in den Zustand "Reset" über.

CM_PRODUCT_SPECIFIC_ERROR

mögliche Ursachen:

  • Die UPIC-Instanz konnte nicht gefunden werden.

  • Der Prepare_To_Receive-Aufruf erfolgte unmittelbar nach einem Allocate-Aufruf anstatt eines Send_Data- bzw. Send_Mapped_Data-Aufrufs.

CM_PROGRAM_STATE_CHECK

Der Aufruf ist im aktuellen Zustand der Conversation nicht erlaubt.

CM_PROGRAM_PARAMETER_CHECK

Der Wert in conversation_ID ist ungültig.

CM_RESOURCE_FAILURE_NO_RETRY

Es ist ein Fehler aufgetreten, der zu einer vorzeitigen Beendigung der Conversation führte (z.B. ein Protokollfehler oder vorzeitiger Verlust der Netzverbindung). Das Programm geht in den Zustand "Reset" über.

Zustandsänderung

  • Ist das Ergebnis des Aufrufs CM_OK, dann ändert sich der Zustand der Conversation von "Send" nach "Receive".

  • Bei folgenden Ergebnissen geht das Programm in den Zustand "Reset" über:
    CM_DEALLOCATED_ABEND
    CM_RESOURCE_FAILURE_NO_RETRY

  • Bei allen anderen Fehlersituationen ändert das Programm seinen Zustand nicht.

Verhalten im Fehlerfall

CM_PRODUCT_SPECIFIC_ERROR

  • Programm ändern.

  • 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_PROGRAM_STATE_CHECK

Programm ändern.

CM_PROGRAM_PARAMETER_CHECK

Programm ändern.

CM_RESOURCE_FAILURE_NO_RETRY

Systemdienst informieren und Diagnoseunterlagen erstellen. Es kann auch eine Störung im Transportsystem die Ursache für diesen Fehlercode sein.

Funktionsdeklaration: Prepare_To_Receive
CM_ENTRY Prepare_To_Receive (unsigned char CM_PTR conversation_ID,
                            CM_RETURN_CODE CM_PTR return_code )