MC_CONFIRMED
Das MC_CONFIRMED Verb 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 MC_CONFIRMED die Verarbeitung der beiden TPs.
Die folgende Struktur beschreibt den verb control block (VCB), der vom MC_CONFIRMED Verb verwendet wird.
Syntax
struct mc_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;
};
Member
opcode
Angegebener Parameter. Gibt den Verbvorgangscode AP_M_CONFIRMED an.
opext
Angegebener Parameter. Gibt die Verbvorgangserweiterung an, AP_MAPPED_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 MC_ALLOCATE beim Aufrufen von 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.
Hinweise
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 vom alten Zustand bestimmt– dem Zustand der Konversation, als der lokale TP MC_CONFIRMED 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:
MC_PREPARE_TO_RECEIVE , wenn ptr_type auf AP_SYNC_LEVEL festgelegt ist und die (von MC_ALLOCATE festgelegte) Synchronisierungsebene der Unterhaltung AP_CONFIRM_SYNC_LEVEL
MC_DEALLOCATE , wenn dealloc_type auf AP_SYNC_LEVEL festgelegt ist und die Synchronisierungsebene der Unterhaltung (durch MC_ALLOCATE festgelegt) AP_CONFIRM_SYNC_LEVEL
MC_SEND_DATA , wenn typ auf AP_SEND_DATA_CONFIRM festgelegt ist und die Synchronisierungsebene der Unterhaltung (durch MC_ALLOCATE festgelegt) AP_CONFIRM_SYNC_LEVEL
Eine Bestätigungsanforderung wird vom lokalen TP über den what_rcvd-Parameter eines der folgenden Verben empfangen:
-
MC_CONFIRMED wird nur vom lokalen TP 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