BESTÄTIGT
Das Verb CONFIRMED antwortet auf eine Bestätigungsanforderung vom Partnertransaktionsprogramm (TP). Der Partner-TP wird darüber informiert, dass der lokale TP keinen Fehler in den empfangenen Daten erkannt hat. Da der TP, der die Bestätigungsanforderung ausgibt, auf eine Bestätigung wartet, synchronisiert CONFIRMED die Verarbeitung der beiden TPs.
Die folgende Struktur beschreibt den Verb-Kontrollblock (VCB), der vom Verb CONFIRMED verwendet wird.
Syntax
struct confirmed {
unsigned short opcode;
unsigned char opext;
unsigned char reserv2;
unsigned short primary_rc;
unsigned long secondary_rc;
unsigned char tp_id[8];
unsigned long conv_id;
unsigned char rts_rcvd;
};
Hinweise
Mitglieder
opcode
Angegebener Parameter. Gibt den Code des Verbvorgangs an, AP_B_CONFIRMED.
opext
Angegebener Parameter. Gibt die Verbvorgangserweiterung an, AP_BASIC_CONVERSATION.
reserv2
Ein reserviertes Feld.
primary_rc
Zurückgegebener Parameter. Gibt den primären Rückgabecode an, der von APPC nach Abschluss des Verbs festgelegt wird. Die gültigen Rückgabecodes variieren je nach ausgegebenem APPC-Verb. Gültige Fehlercodes für dieses Verb finden Sie unter „Rückgabecodes“.
secondary_rc
Zurückgegebener Parameter. Gibt den sekundären Rückgabecode an, der von APPC nach Abschluss des Verbs festgelegt wird. Die gültigen Rückgabecodes variieren je nach ausgegebenem APPC-Verb. Gültige Fehlercodes für dieses Verb finden Sie unter „Rückgabecodes“.
tp_id
Angegebener Parameter. Identifiziert den lokalen TP. Der Wert dieses Parameters wurde von TP_STARTEDim aufrufenden TP oder von RECEIVE_ALLOCATE im aufgerufenen TP zurückgegeben.
conv_id
Angegebener Parameter. Identifiziert die Konversation, die zwischen den beiden TPs eingerichtet wurde. Der Wert dieses Parameters wird von ALLOCATE im aufrufenden TP oder von RECEIVE_ALLOCATE im aufgerufenen TP zurückgegeben.
rts_rcvd
Zurückgegebener Parameter. Gibt an, ob der Partner-TP MC_REQUEST_TO_SEND ausgestellt hat, der den lokalen TP auffordert, die Unterhaltung in den EMPFANGSzustand zu ändern.
Um in den EMPFANGSzustand zu wechseln, kann der lokale TP MC_PREPARE_TO_RECEIVE, MC_RECEIVE_AND_WAIT oder MC_RECEIVE_AND_POST verwenden.
Rückgabecodes
AP_OK
Primärer Rückgabecode; das Verb wurde erfolgreich ausgeführt.
AP_PARAMETER_CHECK
Primärer Rückgabecode; das Verb wurde aufgrund eines Parameterfehlers nicht ausgeführt.
AP_BAD_CONV_ID
Sekundärer Rückgabecode; Der Wert von conv_id stimmte nicht mit einem von APPC zugewiesenen Konversationsbezeichner überein.
AP_BAD_TP_ID
Sekundärer Rückgabecode; Der Wert von tp_id stimmte nicht mit einem TP-Bezeichner überein, der von APPC zugewiesen wurde.
AP_STATE_CHECK
Primärer Rückgabecode; das Verb wurde nicht ausgeführt, da es in einem ungültigen Zustand ausgegeben wurde.
AP_CONFIRMED_BAD_STATE
Sekundärer Rückgabecode; Die Unterhaltung befindet sich nicht im Status CONFIRM, CONFIRM_SEND oder CONFIRM_DEALLOCATE.
AP_COMM_SUBSYSTEM_ABENDED
Primärer Rückgabecode; weist darauf hin, dass eine der folgenden Bedingungen aufgetreten ist:
Der von dieser Konversation verwendete Knoten hat einen ABEND gefunden.
Die Verbindung zwischen dem TP und dem PU 2.1-Knoten wurde unterbrochen (LAN-Fehler).
SnaBase auf dem Computer des TP hat einen ABEND gefunden.
Der Systemadministrator sollte das Fehlerprotokoll untersuchen, um den Grund für den ABEND zu ermitteln.
AP_COMM_SUBSYSTEM_NOT_LOADED
Primärer Rückgabecode; eine erforderliche Komponente konnte während der Verarbeitung des Verbs nicht geladen oder beendet werden. Folglich konnte die Kommunikation nicht stattfinden. Wenden Sie sich an den Systemadministrator, um Korrekturmaßnahmen zu ergreifen.AP_CONVERSATION_TYPE_MIXED
Primärer Rückgabecode; der TP hat sowohl grundlegende als auch zugeordnete Konversationsverben ausgegeben. In einer einzelnen Unterhaltung kann nur ein Typ ausgegeben werden.AP_INVALID_VERB_SEGMENT
Primärer Rückgabecode; der VCB wurde über das Ende des Datensegments hinaus erweitert.AP_STACK_TOO_SMALL
Primärer Rückgabecode; die Stapelgröße der Anwendung ist zu klein, um das Verb auszuführen. Vergrößern Sie die Stapelgröße Ihrer Anwendung.AP_CONV_BUSY
Primärer Rückgabecode; es kann jeweils nur ein ausstehendes Konversationsverb gleichzeitig geben. Dies kann auftreten, wenn das lokale TP über mehrere Threads verfügt und mehr als ein Thread APPC-Aufrufe mit demselben conv_id ausgibt.AP_THREAD_BLOCKING
Primärer Rückgabecode; der aufrufende Thread befindet sich bereits in einem blockierenden Aufruf.AP_UNEXPECTED_DOS_ERROR
Primärer Rückgabecode; das Betriebssystem hat bei der Verarbeitung eines APPC-Aufrufs vom lokalen TP einen Fehler an APPC zurückgegeben. Der Rückgabecode des Betriebssystems wurde über secondary_rc zurückgegeben. Er wird in Intel-Bytetauschreihenfolge angezeigt. Wenn das Problem weiterhin besteht, wenden Sie sich an Ihren Systemadministrator.Anmerkungen
Die Konversation muss sich in einem der folgenden Zustände befinden, wenn das TP dieses Verb ausgibt:
BESTÄTIGEN
CONFIRM_SEND
CONFIRM_DEALLOCATE
Der neue Zustand wird durch den alten Zustand bestimmt– der Zustand der Unterhaltung, als der lokale TP BESTÄTIGT ausgestellt hat. Der alte Zustand wird durch den Wert des what_rcvd-Parameters des vorangehenden Empfangsverbs angegeben. Folgende Zustandsänderungen sind möglich:
Alter Zustand | Neuer Zustand |
---|---|
BESTÄTIGEN | RECEIVE |
CONFIRM_SEND | SEND |
CONFIRM_DEALLOCATE | RESET |
Bestätigungsanforderungen
Eine Bestätigungsanforderung wird von einem der folgenden Verben im Partner-TP ausgegeben:
PREPARE_TO_RECEIVE , wenn ptr_type auf AP_SYNC_LEVEL festgelegt ist und die (von ALLOCATE festgelegte) Synchronisierungsebene der Konversation AP_CONFIRM_SYNC_LEVEL
DEALLOCATE , wenn dealloc_type auf AP_SYNC_LEVEL festgelegt ist und die (von ALLOCATE festgelegte) Synchronisierungsebene der Konversation AP_CONFIRM_SYNC_LEVEL
SEND_DATA , wenn typ auf AP_SEND_DATA_CONFIRM festgelegt ist und die Synchronisierungsebene der Unterhaltung (durch ALLOCATE festgelegt) AP_CONFIRM_SYNC_LEVEL
Eine Bestätigungsanforderung wird vom lokalen TP über den parameter what_rcvd eines der folgenden Verben empfangen:
-
CONFIRMED wird vom lokalen TP nur ausgegeben, wenn what_rcvd einen der folgenden Werte enthält:
AP_CONFIRM_WHAT_RECEIVED
AP_CONFIRM_SEND
AP_CONFIRM_DEALLOCATE
Wenn der parameter rtn_status auf AP_YES festgelegt ist, kann what_rcvd auch die folgenden Werte enthalten:
AP_DATA_COMPLETE_CONFIRM
AP_DATA_COMPLETE_CONFIRM_SEND
AP_DATA_COMPLETE_CONFIRM_DEALL
Für einfache Unterhaltungen können what_rcvd auch die folgenden Werte enthalten:
AP_DATA_CONFIRM
AP_DATA_CONFIRM_SEND
AP_DATA_CONFIRM_DEALLOCATE