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_Mapped_Data - Daten und Formatkennzeichen senden

&pagelevel(4)&pagelevel

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

  • unmittelbar nach einem erfolgreichen Allocate-Aufruf oder

  • 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
CMSNDM (conversation_ID, map_name, map_name_length, buffer, send_length, control_information_received, return_code)

Parameter

--> conversation_ID

Identifikation der Conversation

--> map_name

Formatkennzeichen, das an die UTM-Anwendung gesendet wird. Das Formatkennzeichen spezifiziert die Strukturierungsmerkmale für den Empfänger der Daten.

--> map_name_length

 Länge des Formatkennzeichens in Byte.

--> buffer

Adresse des Puffers 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 Byte.

Minimum: 0, Maximum: 32767

Ein Send_Mapped_Data-Aufruf mit der Länge 0 bewirkt, dass eine Nachricht der Länge Null 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_Mapped_Data-Aufruf nach einem Allocate-Aufruf auftreten. Nach dem Einrichten der Conversation ist ein Fehler aufgetreten, der zur Beendigung der Conversation führte.

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 Null.

CM_MAP_ROUTINE_ERROR

mögliche Ursache:


  • Die Länge des Formatkennzeichens ist kleiner 0 oder größer 8.

Zustandsänderung

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

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

CM_TPN_NOT_RECOGNIZED
CM_DEALLOCATED_ABEND
CM_RESOURCE_FAILURE_RETRY/NO_RETRY

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

Hinweis

  • Die Daten werden immer transparent übertragen. Die gesendeten Daten werden dem Partner-UTM-Vorgang beim MGET-Aufruf angezeigt.
    Das Formatkennzeichen in map_name wird dem UTM-Vorgang im Feld KCMF/kcfn beim MGET-Aufruf übergeben.

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

  • Sobald der Wert von map_name an openUTM gesendet wird, wird map_name zurückgesetzt.

Verhalten im Fehlerfall

CM_RESOURCE_FAILURE_RETRY

Conversation neu einrichten.

CM_PROGRAM_STATE_CHECK

Programm ändern.

CM_PROGRAM_PARAMETER_CHECK

Programm ändern.

Funktionsdeklaration: Send_Mapped_Data
CM_ENTRY Send_Mapped_Data(unsigned char CM_PTR  conversation_ID,
        unsigned char                   CM_PTR  map_name,
        CM_INT32                        CM_PTR  map_name_length,
        unsigned_char                   CM_PTR  buffer,
        CM_INT32                        CM_PTR  send_length,
        CM_CONTROL_INFORMATION_RECEIVED CM_PTR  control_information_received,
        CM_RETURN_CODE                  CM_PTR  return_code )