Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Send_Data - Daten an einen UTM-Service senden

&pagelevel(4)&pagelevel

Mit dem Aufruf Send_Data (CMSEND) sendet ein Programm Daten an einen UTM-Vorgang. Jedesmal nachdem ein Programm das Senderecht erhalten hat, muss es einen Send_Data oder einen Send_Mapped_Data-Aufruf absetzen. Dies ist der Fall

  • unmittelbar nach einem erfolgreichen Allocate-Aufruf

  • wenn nach dem Receive- bzw. Receive_Mapped_Data-Aufruf die Characteristic status_received den Wert CM_SEND_RECEIVED hat (d.h. wenn das Programm das Senderecht empfangen hat).

Syntax
CMSEND (conversation_ID, buffer, send_length, control_information_received, return_code)

Parameter

--> conversation_ID

Identifikation der Conversation

--> buffer

Puffer mit den zu sendenden Daten. Die Länge der Daten wird im Parameter send_length angegeben.

--> send_length

Länge der zu sendenden Daten in Bytes.

Minimum: 0, Maximum: 32767

Ein Send_Data-Aufruf mit der Länge 0 bewirkt, dass eine Nachricht der Länge 0 gesendet wird.

<-- control_information_received


Wird nur syntaktisch unterstützt und kann nur den Wert CM_REQ_TO_SEND_NOT_RECEIVED annehmen.

Der Wert in control_information_received ist undefiniert, wenn das Ergebnis in return_code ungleich CM_OK ist.

<-- return_code

Ergebnis des Funktionsaufrufs

Ergebnis ( return_code )

CM_OK

Aufruf ok

CM_TPN_NOT_RECOGNIZED

Dieser Returncode kann nur beim ersten Send_Data-Aufruf nach einem Allocate-Aufruf auftreten.

CM_DEALLOCATED_ABEND

mögliche Ursachen:

  • UTM-Anwendungsende

  • Verbindungsabbau durch UTM-Administration

  • Verbindungsabbau durch das Transportsystem

CM_RESOURCE_FAILURE_RETRY

Ein vorübergehender Betriebsmittelengpass führte zur Beendigung der Conversation. Möglicherweise können im UTM-Pagepool keine Daten mehr zwischengespeichert werden.

Tritt der Fehler häufiger auf sollte der Pagepool der UTM-Anwendung vergrößert werden (MAX-Anweisung, PGPOOL=).

CM_PROGRAM_STATE_CHECK

Der Aufruf ist im aktuellen Zustand nicht erlaubt.

CM_PROGRAM_PARAMETER_CHECK

Der Wert in conversation_ID ist ungültig oder der Wert in send_length ist größer als 32767 oder kleiner als 0.

Zustandsänderung

Falls das Ergebnis CM_OK ist, bleibt das Programm im Zustand "Send".

Beim Ergebnis CM_TPN_NOT_RECOGNIZED, CM_DEALLOCATED_ABEND oder CM_RESOURCE_FAILURE_RETRY/NO_RETRY geht das Programm in den Zustand "Reset" über.

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

Hinweis

UPIC puffert die zu sendenden Daten und schickt sie erst zu einem späteren Zeitpunkt an den UTM-Server. Aus diesem Grund kann es passieren, dass eine Beendigung der UTM-Anwendung nicht unmittelbar, sondern erst bei einem Folgeaufruf als Ergebnis geliefert wird.

Verhalten im Fehlerfall

CM_RESOURCE_FAILURE_RETRY

Conversation neu einrichten.

CM_PROGRAM_STATE_CHECK

Programm ändern.

CM_PROGRAM_PARAMETER_CHECK

Programm ändern.


Funktionsdeklaration: Send_Data
CM_ENTRY Send_Data ( unsigned char CM_PTR  conversation_ID,
    unsigned char                  CM_PTR  buffer,
    CM_INT32                       CM_PTR  send_length,
    CM_CONTROLINFORMATION_RECEIVED CM_PTR  control_information_received,
    CM_RETURN_CODE                 CM_PTR  return_code )