Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Extract_Transaction_State - Vorgangs- und Transaktionsstatus des Servers abfragen

&pagelevel(4)&pagelevel

Mit dem Aufruf Extract_Transaction_State erhält ein Programm den von openUTM an den Client gesendeten Vorgangs- und Transaktionsstatus.

Der Aufruf Extract_Transaction_State ist nur im Zustand "Send" und "Receive" und im Zustand "Reset" unmittelbar nach einem Receive-/Receive_Mapped_Data-Aufruf erlaubt.

Diese Funktion ist nicht Bestandteil der CPI-C Spezifikation, sondern eine zusätzliche Funktion des UPIC-Trägersystems.

Syntax
CMETS (conversation_ID, transaction_state, requested_length, transaction_state_length, return_code)

Parameter

--> conversation_ID

Identifikation der Conversation

<-- transaction_state

Transaktions- und Vorgangs-Status

--> requested_length

Maximale Länge der Daten, die empfangen werden können

<-- transaction_state_length

Länge der empfangenen Nachricht

<-- return_code

Ergebnis des Funktionsaufrufs

Ergebnis ( return_code )

CM_OK

Aufruf OK

CM_PROGRAM_PARAMETER_CHECK

Der Wert in conversation_ID ist ungültig.
Der Wert der conversation_ID ist ungültig, wenn die Funktion nach Ende der Conversation mehr als einmal aufgerufen wurde oder wenn noch keine Conversation existierte (nach dem Enable_UTM_UPIC-Aufruf ist noch kein Initialize_Conversation-Aufruf erfolgt).

CM_PRODUCT_SPECIFIC_ERROR

Die UPIC-Instanz konnte nicht gefunden werden.

CM_PROGRAM_STATE_CHECK

Die Conversation ist nicht im Zustand "Reset", "Send" oder "Receive"

Zustandsänderung

Der Aufruf ändert den Zustand der Conversation nicht.

Hinweis

  • Falls der Returncode von CM_OK verschieden ist, hat der Wert von transaction_state keine Bedeutung.

  • Der Wert der conversation_ID bleibt für diesen Funktionsaufruf nach dem Ende einer Conversation so lange gültig, bis ein Initialize_Conversation- oder ein Extract_Transaction_State-Aufruf erfolgt ist.

  • Wenn der Wert von transaction_state_length gleich 0 ist, dann wurde kein neuer transaction_state empfangen.

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.

Beschreibung transaction_state

Die ersten beiden Byte des transaction_state enthalten die Information über den Vorgangs- und Transaktionsstatus des Servers und können entsprechend ausgewertet werden, die restlichen Byte (dd dd) enthalten interne Diagnoseinformationen.

transaction_state
(hexadezimal)

Bedeutung

17 08 dd dd
18 08 dd dd

Ende des Verarbeitungsschritts; die Transaktion ist nicht abgeschlossen, der Vorgang ist noch offen (PEND/PGWT KP).

15 06 dd dd
16 06 dd dd

Ende des Verarbeitungsschritts; die Transaktion ist abgeschlossen, der Vorgang ist noch offen (PGWT CM/PEND RE).

1A 04 dd dd

Ende eines Vorgangs und Ende der Transaktion (PEND FI).

30 04 dd dd

Ende eines Vorgangs mit Speicherabzug (PEND ER).

31 04 dd dd

Ende eines Vorgangs (System PEND ER, d.h. PEND ER durch openUTM).

32 04 dd dd

Ende eines Vorgangs wegen abnormaler Taskbeendigung (nur openUTM auf BS2000-Systemen)

20 04 dd dd
21 04 dd dd

Rücksetzen der ersten Transaktion eines Vorgangs und Vorgang beenden (PEND RS).

20 06 dd dd
21 06 dd dd

Rücksetzen einer Folgetransaktion auf den letzten Sicherungspunkt; der Vorgang ist noch offen (PEND RS).

Näheres zum PEND- und PGWT-Aufruf siehe openUTM-Handbuch „Anwendungen programmieren mit KDCS“.

Funktionsdeklaration: Extract_Transaction_State
CM_ENTRY Extract_Transaction_State( 
                         unsigned char      CM_PTR  conversation_ID, 
                         unsigned char      CM_PTR  transaction_state,
                         CM_INT32           CM_PTR  requested_length,
                         CM_INT32           CM_PTR  transaction_state_length, 
                         CM_RETURN_CODE     CM_PTR  return_code )