Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das PREPARE_TO_RECEIVE Verb ändert den Status der Unterhaltung für das lokale Transaktionsprogramm (TP) von SEND zu RECEIVE.
In der folgenden Struktur wird der verbsteuerungsblock (VCB) beschrieben, der vom PREPARE_TO_RECEIVE Verb verwendet wird.
Syntax
struct prepare_to_receive {
unsigned short opcode;
unsigned char opext;
unsigned char primary_rc;
unsigned short reserv2;
unsigned long secondary_rc;
unsigned char tp_id[8];
unsigned long conv_id;
unsigned char ptr_type;
unsigned char locks;
};
Elemente
opcode
Angegebener Parameter. Gibt den Verbvorgangscode AP_B_PREPARE_TO_RECEIVE an.
opext
Angegebener Parameter. Gibt die Verbvorgangserweiterung AP_BASIC_CONVERSATION an.
reserv2
Ein reserviertes Feld.
primary_rc
Zurückgegebener Parameter. Gibt den primären Rückgabecode an, der von APPC am Ende des Verbs festgelegt wurde. Die gültigen Rückgabecodes variieren je nach ausgegebenen APPC-Verb. Informationen zu gültigen Fehlercodes für dieses Verb finden Sie unter "Rückgabecodes".
secondary_rc
Zurückgegebener Parameter. Gibt den von APPC festgelegten sekundären Rückgabecode am Ende des Verbs an. Die gültigen Rückgabecodes variieren je nach ausgegebenen APPC-Verb. Informationen zu gültigen Fehlercodes für dieses Verb finden Sie unter "Rückgabecodes".
tp_id
Angegebener Parameter. Identifiziert das lokale TP. Der Wert dieses Parameters wird von TP_STARTED im aufrufenden TP oder vonRECEIVE_ALLOCATE im aufgerufenen TP zurückgegeben.
conv_id
Angegebener Parameter. Stellt den Unterhaltungsbezeichner bereit. Der Wert dieses Parameters wird von ALLOCATEim aufgerufenen TP oder von RECEIVE_ALLOCATE im aufgerufenen TP zurückgegeben.
ptr_type
Angegebener Parameter. Gibt an, wie die Zustandsänderung ausgeführt wird.
Verwenden Sie AP_FLUSH, um den Inhalt der lokalen logischen Einheit (LU) senden Puffer an die Partner-LU (und TP) zu senden, bevor Sie den Status der Unterhaltung in EMPFANGEN ändern.
Der wert AP_SYNC_LEVEL verwendet die Synchronisierungsebene der Unterhaltung (festgelegt durch ZUWEISEN), um zu bestimmen, wie die Zustandsänderung ausgeführt wird.
Wenn die Synchronisierungsebene der Unterhaltung AP_NONE ist, sendet APPC den Inhalt des Sendepuffers der lokalen LU an den Partner-TP, bevor der Status der Unterhaltung in EMPFANGEN geändert wird. Wenn die Synchronisierungsebene AP_CONFIRM_SYNC_LEVEL ist, sendet APPC den Inhalt des Sendepuffers der lokalen LU und eine Bestätigungsanforderung an den Partner-TP. Nach Erhalt der Bestätigung des Partner-TP ändert APPC den Status der Unterhaltung in RECEIVE. Wenn der Partner TP jedoch einen Fehler meldet, ändert sich der Zustand in RECEIVE oder RESET. Weitere Informationen finden Sie in den Anmerkungen in diesem Thema.
Schlösser
Angegebener Parameter. Gibt an, wann APPC die Steuerung an das lokale TP zurückgeben soll.
Verwenden Sie diesen Parameter nur, wenn ptr_type auf AP_SYNC_LEVEL festgelegt ist und die Synchronisierungsebene der Unterhaltung, die durch ZUWEISEN eingerichtet wurde, AP_CONFIRM_SYNC_LEVEL ist. (Andernfalls wird der Parameter ignoriert.)
Verwenden Sie AP_LONG, um anzugeben, dass APPC die Steuerung an den lokalen TP zurückgibt, wenn die Bestätigung und nachfolgende Daten des Partner-TP bei der lokalen LU eingehen. (Diese Methode führt zu einer effizienteren Verwendung des Netzwerks, erfordert jedoch längere Zeit, um die Steuerung an das lokale TP zurückzugeben.)
Verwenden Sie AP_SHORT, um anzugeben, dass APPC die Steuerung an den lokalen TP zurückgibt, wenn die Bestätigung des Partner-TP bei der lokalen LU eintrifft.
Rückgabecodes
AP_OK
Primärer Rückgabecode; das Verb erfolgreich ausgeführt wurde.
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 nicht mit einem Unterhaltungsbezeichner übereinstimmt, der von APPC zugewiesen wurde.
AP_BAD_TP_ID
Sekundärer Rückgabecode; der Wert von tp_id nicht mit einem TP-Bezeichner übereinstimmt, der von APPC zugewiesen wurde.
AP_P_TO_R_INVALID_TYPE
Sekundärer Rückgabecode; der parameter ptr_type wurde nicht auf einen gültigen Wert festgelegt.
AP_STATE_CHECK
Primärer Rückgabecode; das Verb wurde nicht ausgeführt, weil es in einem ungültigen Zustand ausgegeben wurde.
AP_P_TO_R_NOT_SEND_STATE
Sekundärer Rückgabecode; die Unterhaltung war nicht im SEND-Zustand.
AP_P_TO_R_NOT_LL_BDY
Sekundärer Rückgabecode; Das Senden eines logischen Datensatzes wurde vom lokalen TP nicht abgeschlossen.
AP_ALLOCATION_ERROR
Primärer Rückgabecode; APPC konnte eine Unterhaltung nicht zuordnen. Der Unterhaltungszustand ist auf RESET festgelegt.
Dieser Code kann über ein Verb zurückgegeben werden, das nach ZUWEISUNG ausgegeben wurde.
AP_ALLOCATION_FAILURE_NO_RETRY
Sekundärer Rückgabecode; die Unterhaltung kann aufgrund einer dauerhaften Bedingung nicht zugewiesen werden, z. B. aufgrund eines Konfigurationsfehlers oder sitzungsprotokollfehlers. Um den Fehler zu ermitteln, sollte der Systemadministrator die Fehlerprotokolldatei untersuchen. Wiederholen Sie die Zuordnung erst, wenn der Fehler behoben wurde.
AP_ALLOCATION_FAILURE_RETRY
Sekundärer Rückgabecode; die Unterhaltung konnte aufgrund einer temporären Bedingung, z. B. aufgrund eines Verknüpfungsfehlers, nicht zugewiesen werden. Der Grund für den Fehler wird im Systemfehlerprotokoll protokolliert. Wiederholen Sie die Zuordnung.
AP_CONVERSATION_TYPE_MISMATCH
Sekundärer Rückgabecode; die Partner-LU oder TP unterstützt den in der Zuordnungsanforderung angegebenen Unterhaltungstyp (einfach oder zugeordnet) nicht.
AP_PIP_NOT_ALLOWED
Sekundärer Rückgabecode; Die zuordnungsanforderung angegebene PIP-Daten, aber entweder der Partner TP erfordert diese Daten nicht, oder die Partner-LU unterstützt sie nicht.
AP_PIP_NOT_SPECIFIED_CORRECTLY
Sekundärer Rückgabecode; Der Partner-TP erfordert PIP-Daten, aber die Zuordnungsanforderung hat entweder keine PIP-Daten oder eine falsche Anzahl von Parametern angegeben.
AP_SECURITY_NOT_VALID
Sekundärer Rückgabecode; Die in der Zuordnungsanforderung angegebene Benutzer-ID oder das kennwort wurde von der Partner-LU nicht akzeptiert.
AP_SYNC_LEVEL_NOT_SUPPORTED
Sekundärer Rückgabecode; der Partner-TP unterstützt die in der Zuordnungsanforderung angegebenen sync_level (AP_NONE oder AP_CONFIRM_SYNC_LEVEL) nicht, oder die sync_level wurde nicht erkannt.
AP_TP_NAME_NOT_RECOGNIZED
Sekundärer Rückgabecode; die Partner-LU erkennt den in der Zuordnungsanforderung angegebenen TP-Namen nicht.
AP_TRANS_PGM_NOT_AVAIL_NO_RETRY
Sekundärer Rückgabecode; die Remote-LU hat die Zuordnungsanforderung abgelehnt, da sie den angeforderten Partner-TP nicht starten konnte. Die Bedingung ist dauerhaft. Der Grund für den Fehler kann auf dem Remoteknoten protokolliert werden. Wiederholen Sie die Zuordnung erst, wenn der Fehler behoben wurde.
AP_TRANS_PGM_NOT_AVAIL_RETRY
Sekundärer Rückgabecode; die Remote-LU hat die Zuordnungsanforderung abgelehnt, da sie den angeforderten Partner-TP nicht starten konnte. Die Bedingung kann vorübergehend sein, z. B. ein Timeout. Der Grund für den Fehler kann auf dem Remoteknoten protokolliert werden. Wiederholen Sie die Zuordnung.
AP_COMM_SUBSYSTEM_ABENDED
Primärer Rückgabecode; gibt eine der folgenden Bedingungen an:
Der von dieser Unterhaltung verwendete Knoten hat einen ABEND gefunden.
Die Verbindung zwischen dem TP und dem PU 2.1-Knoten wurde unterbrochen (LAN-Fehler).
Die SnaBase auf dem Computer des TP ist ein ABEND aufgetreten.
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 beim Verarbeiten des Verbs nicht geladen oder beendet werden. So konnte die Kommunikation nicht stattfinden. Wenden Sie sich an den Systemadministrator, um Korrekturmaßnahmen zu ergreifen.Wenn dieser Rückgabecode mit ALLOCATE verwendet wird, kann er angeben, dass kein Kommunikationssystem gefunden werden konnte, um die lokale LU zu unterstützen. (Der mit TP_STARTED angegebene lokale LU-Alias ist beispielsweise falsch oder wurde nicht konfiguriert.) Wenn lu_alias oder mode_name weniger als acht Zeichen enthält, müssen Sie sicherstellen, dass diese Felder mit Leerzeichen rechts gefüllt sind. Dieser Fehler wird zurückgegeben, wenn diese Parameter nicht mit Leerzeichen gefüllt sind, da kein Knoten verfügbar ist, der die ALLOCATE-Anforderung erfüllen kann.
Wenn ALLOCATE diesen Rückgabecode für ein Hostintegrationsserver-Clientsystem erzeugt, das mit mehreren Knoten konfiguriert ist, gibt es zwei sekundäre Rückgabecodes wie folgt:
0xF0000001
Sekundärer Rückgabecode; es wurden keine Knoten gestartet.
0xF0000002
Sekundärer Rückgabecode; mindestens ein Knoten wurde gestartet, aber die lokale LU (wenn TP_STARTED ausgegeben wird) ist für keine aktiven Knoten konfiguriert. Das Problem könnte eine der folgenden sein:
Der Knoten mit der lokalen LU wird nicht gestartet.
Die lokale LU ist nicht konfiguriert.
AP_CONV_FAILURE_NO_RETRY
Primärer Rückgabecode; Die Unterhaltung wurde aufgrund einer dauerhaften Bedingung beendet, z. B. aufgrund eines Sitzungsprotokollfehlers. Der Systemadministrator sollte das Systemfehlerprotokoll untersuchen, um die Ursache des Fehlers zu ermitteln. Wiederholen Sie die Unterhaltung erst, wenn der Fehler behoben wurde.AP_CONV_FAILURE_RETRY
Primärer Rückgabecode; Die Unterhaltung wurde aufgrund eines temporären Fehlers beendet. Starten Sie den TP neu, um festzustellen, ob das Problem erneut auftritt. Wenn dies der Fall ist, sollte der Systemadministrator das Fehlerprotokoll untersuchen, um die Ursache des Fehlers zu ermitteln.AP_CONVERSATION_TYPE_MIXED
Primärer Rückgabecode; das TP sowohl grundlegende als auch zugeordnete Unterhaltungsverben ausgestellt hat. In einer einzigen Unterhaltung kann nur ein Typ ausgegeben werden.AP_INVALID_VERB_SEGMENT
Primärer Rückgabecode; die VCB über das Ende des Datensegments hinaus erweitert wurde.AP_PROG_ERROR_PURGING
Primärer Rückgabecode; während der Status "RECEIVE", "PENDING", "PENDING_POST", "CONFIRM", "CONFIRM_SEND" oder "CONFIRM_DEALLOCATE" hat der Partner-TP SEND_ERROR ausgestellt, wobei err_type auf AP_PROG festgelegt ist. Gesendete, aber noch nicht empfangene Daten werden gelöscht.AP_STACK_TOO_SMALL
Primärer Rückgabecode; Die Stapelgröße der Anwendung ist zu klein, um das Verb auszuführen. Erhöhen Sie die Stapelgröße Ihrer Anwendung.AP_CONV_BUSY
Primärer Rückgabecode; es kann jeweils nur ein herausragendes Unterhaltungsverb für jede Unterhaltung vorhanden sein. Dies kann auftreten, wenn der lokale TP über mehrere Threads verfügt und mehrere Threads APPC-Aufrufe mit demselben conv_id ausgeben.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 beim Verarbeiten eines APPC-Aufrufs vom lokalen TP einen Fehler an APPC zurückgegeben. Der Rückgabecode des Betriebssystems wird über die secondary_rc zurückgegeben. Es wird in intel byte-getauschter Reihenfolge angezeigt. Wenn das Problem weiterhin besteht, wenden Sie sich an den Systemadministrator.AP_DEALLOC_ABEND_PROG
Primärer Rückgabecode; die Unterhaltung wurde aus einem der folgenden Gründe umgestellt:Der Partner TP hat DEALLOCATE mit dealloc_type auf AP_ABEND_PROG festgelegt.
Der Partner TP hat einen ABEND gefunden, der dazu führt, dass der Partner LU eine DEALLOCATE-Anforderung sendet.
AP_DEALLOC_ABEND_SVC
Primärer Rückgabecode; die Unterhaltung wurde abgeglichen, da der Partner TP DEALLOCATE mit dealloc_type auf AP_ABEND_SVC festgelegt hat.AP_DEALLOC_ABEND_TIMER
Primärer Rückgabecode; die Unterhaltung wurde zugeordnet, da der Partner TP DEALLOCATE mit dealloc_type auf AP_ABEND_TIMER festgelegt hat.AP_SVC_ERROR_PURGING
Primärer Rückgabecode; der Partner TP (oder partner LU) hat ein SEND_ERROR Verb ausgegeben, bei dem err_type auf AP_SVC festgelegt ist, während in RECEIVE, PENDING_POST, CONFIRM, CONFIRM_SEND oder CONFIRM_DEALLOCATE Zustand. Die an den Partner-TP gesendeten Daten wurden möglicherweise gelöscht.
Bemerkungen
Bevor Sie den Unterhaltungszustand ändern, führt dieses Verb das Äquivalent eines der folgenden Aktionen aus:
FLUSH, indem der Inhalt des Sendepuffers der lokalen LU an die Partner-LU (und TP) gesendet wird.
BESTÄTIGEN Sie, indem Sie den Inhalt des Sendepuffers der lokalen LU und eine Bestätigungsanforderung an den Partner-TP senden.
Nachdem dieses Verb erfolgreich ausgeführt wurde, kann das lokale TP Daten empfangen.
Die Unterhaltung muss sich im SEND-Zustand befinden, wenn das TP dieses Verb ausgibt.
Statusänderungen, zusammengefasst in der folgenden Tabelle, basieren auf dem Wert von primary_rc.
| primary_rc | Neuer Zustand |
|---|---|
| AP_OK | EMPFANGEN |
| AP_ALLOCATION_ERROR | ZURÜCKSETZEN |
| AP_CONV_FAILURE_RETRY | ZURÜCKSETZEN |
| AP_CONV_FAILURE_NO_RETRY | ZURÜCKSETZEN |
| AP_DEALLOC_ABEND | ZURÜCKSETZEN |
| AP_DEALLOC_ABEND_PROG | ZURÜCKSETZEN |
| AP_DEALLOC_ABEND_SVC | ZURÜCKSETZEN |
| AP_DEALLOC_ABEND_TIMER | ZURÜCKSETZEN |
| AP_PROG_ERROR_PURGING | EMPFANGEN |
| AP_SVC_ERROR_PURGING | EMPFANGEN |
Die Unterhaltung ändert sich erst dann in den SEND-Zustand für den Partner-TP, wenn der Partner-TP einen der folgenden Werte über den what_rcvd Parameter eines nachfolgenden Empfangsverbs empfängt:
AP_SEND
AP_CONFIRM_SEND und Antworten mit BESTÄTIGT
AP_DATA_COMPLETE_CONFIRM_SEND und Antworten mit BESTÄTIGT
AP_DATA_CONFIRM_SEND und Antworten mit BESTÄTIGT
Die empfangenen Verben sind RECEIVE_AND_POST, RECEIVE_IMMEDIATE und RECEIVE_AND_WAIT.