Freigeben über


BESTÄTIGEN

Das CONFIRM-Verb sendet den Inhalt des Sendepuffers der lokalen logischen Einheit (LU) und eine Bestätigungsanforderung an das Partnertransaktionsprogramm (Partner Transaction Program, TP).

Die folgende Struktur beschreibt den Verb-Steuerelementblock, der vom Verb CONFIRM verwendet wird.

Syntax

  
struct confirm {  
    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_CONFIRM.

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_STARTED zurückgegeben.

conv_id
Zurückgegebener Parameter. Identifiziert die Konversation, die zwischen den beiden TPs eingerichtet wurde.

rts_rcvd
Zurückgegebener Parameter. Gibt an, ob der Partner-TP REQUEST_TO_SEND ausgestellt hat, wodurch der lokale TP aufgefordert wird, die Unterhaltung in den RECEIVE-Zustand zu ändern.

Um in den RECEIVE-Zustand unter Microsoft Windows zu wechseln, kann der lokale TP PREPARE_TO_RECEIVE, RECEIVE_AND_WAIT oder 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 nicht mit einem von APPC zugewiesenen Unterhaltungsbezeichner übereinstimmt.

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_CONFIRM_ON_SYNC_LEVEL_NONE

Sekundärer Rückgabecode; der lokale TP hat versucht , CONFIRM in einer Unterhaltung mit der Synchronisierungsebene AP_NONE zu verwenden. Die von ALLOCATE festgelegte Synchronisierungsebene muss AP_CONFIRM_SYNC_LEVEL sein.

AP_STATE_CHECK
Primärer Rückgabecode; das Verb wurde nicht ausgeführt, da es in einem ungültigen Zustand ausgegeben wurde.

AP_CONFIRM_BAD_STATE

Sekundärer Rückgabecode; die Unterhaltung befand sich nicht im SEND-Zustand.

AP_CONFIRM_NOT_LL_BDY

Sekundärer Rückgabecode; die Unterhaltung für den lokalen TP befand sich im SEND-Zustand, und der lokale TP hat das Senden eines logischen Datensatzes nicht abgeschlossen.

AP_ALLOCATION_ERROR
Primärer Rückgabecode; APPC konnte eine Unterhaltung nicht zuordnen. Der Unterhaltungszustand ist auf ZURÜCKSETZEN festgelegt.

Dieser Code kann über ein Verb zurückgegeben werden, das nach ALLOCATE ausgegeben wurde.

AP_ALLOCATION_FAILURE_NO_RETRY

Sekundärer Rückgabecode; die Konversation kann aufgrund einer dauerhaften Bedingung nicht zugeordnet werden, z. B. aufgrund eines Konfigurationsfehlers oder eines Sitzungsprotokollfehlers. Um den Fehler zu ermitteln, sollte der Systemadministrator sollte das Fehlerprotokoll untersuchen. Wiederholen Sie die Zuordnung erst, wenn der Fehler behoben wurde.

AP_ALLOCATION_FAILURE_RETRY

Sekundärer Rückgabecode; die Konversation konnte aufgrund einer temporären Bedingung, z. B. eines Linkfehlers, nicht zugeordnet 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 nicht den in der Zuordnungsanforderung angegebenen Konversationstyp (basic oder mapped).

AP_PIP_NOT_ALLOWED

Sekundärer Rückgabecode; In der Zuordnungsanforderung wurden PIP-Daten angegeben, aber entweder benötigt der Partner-TP 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; der in der Zuordnungsanforderung angegebene Benutzerbezeichner oder das Kennwort wurde von der Partner-LU nicht akzeptiert.

AP_SYNC_LEVEL_NOT_SUPPORTED

Sekundärer Rückgabecode; der Partner-TP unterstützt nicht die in der Zuordnungsanforderung angegebene sync_level (AP_NONE, AP_CONFIRM_SYNC_LEVEL oder AP_SYNCPT), oder der 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 permanent. Der Grund für den Fehler wird möglicherweise auf dem Remoteknoten protokolliert. 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 temporär sein, z. B. ein Timeout. Der Grund für den Fehler wird möglicherweise auf dem Remoteknoten protokolliert. Wiederholen Sie die Zuordnung.

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

  • Die 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_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; der TP hat sowohl grundlegende als auch zugeordnete Konversationsverben ausgegeben. Nur ein Typ kann in einer einzelnen Unterhaltung ausgegeben werden.

    AP_INVALID_VERB_SEGMENT
    Primärer Rückgabecode; der VCB wurde über das Ende des Datensegments hinaus erweitert.

    AP_PROG_ERROR_PURGING
    Primärer Rückgabecode; im Status RECEIVE, PENDING, PENDING_POST, CONFIRM, CONFIRM_SEND oder CONFIRM_DEALLOCATE Zustand hat der Partner-TP SEND_ERROR mit err_type auf AP_PROG festgelegt. 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. Vergrößern Sie die Stapelgröße Ihrer Anwendung.

    AP_CONV_BUSY
    Primärer Rückgabecode; es kann nur ein herausragendes Konversationsverb gleichzeitig für jede Unterhaltung geben. Dies kann auftreten, wenn der 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.

    AP_DEALLOC_ABEND_PROG
    Primärer Rückgabecode; die Konversation wurde aus einem der folgenden Gründe behandelt:

  • Der Partner-TP hat DEALLOCATE mit dealloc_typeauf AP_ABEND_PROG festgelegt.

  • Der Partner-TP ist auf ein ABEND-Ereignis gestoßen, sodass die Partner-LU eine DEALLOCATE-Anforderung sendet.

    AP_DEALLOC_ABEND_SVC
    Primärer Rückgabecode; die Konversation wurde zugeordnet, weil der Partner TP DEALLOCATE mit dealloc_type auf AP_ABEND_SVC festgelegt hat.

    AP_DEALLOC_ABEND_TIMER
    Primärer Rückgabecode; die Konversation wurde aufgehoben, da der Partner TP DEALLOCATE mit dealloc_type auf AP_ABEND_TIMER festgelegt hat.

    AP_SVC_ERROR_PURGING
    Primärer Rückgabecode; die Partner-TP (oder Partner-LU), die SEND_ERROR ausgestellt hat und err_type im Status RECEIVE, PENDING_POST, CONFIRM, CONFIRM_SEND oder CONFIRM_DEALLOCATE auf AP_SVC festgelegt ist. Daten, die an die Partner-TP gesendet wurden, wurden möglicherweise gelöscht.

    Anmerkungen

    Als Antwort auf CONFIRM gibt der Partner tp normalerweise CONFIRM aus, um zu bestätigen, dass er die Daten ohne Fehler empfangen hat. (Wenn beim Partner-TP ein Fehler auftritt, wird SEND_ERROR oder die Zuordnung der Unterhaltung anormal behoben.)

    Der TP kann CONFIRM nur ausstellen, wenn die von ALLOCATE festgelegte Synchronisierungsebene der Konversation AP_CONFIRM_SYNC_LEVEL ist.

    Die Unterhaltung muss sich im SEND-Zustand befinden, wenn das TP dieses Verb ausgibt. Zustandsänderungen, die in der folgenden Tabelle zusammengefasst sind, basieren auf dem Wert des primary_rc.

primary_rc Neuer Zustand
AP_OK Keine Änderung
AP_ALLOCATION_ERROR RESET
AP_COMM_SUBSYSTEM_ABENDED AP_COMM_SUBSYSTEM_NOT_LOADED ZURÜCKSETZEN
AP_CONV_FAILURE_RETRY AP_CONV_FAILURE_NO_RETRY ZURÜCKSETZEN
AP_DEALLOC_ABEND AP_DEALLOC_ABEND_PROG AP_DEALLOC_ABEND_SVC AP_DEALLOC_ABEND_TIMER ZURÜCKSETZEN ZURÜCKSETZEN ZURÜCKSETZEN ZURÜCKSETZEN
AP_PROG_ERROR_PURGING AP_SVC_ERROR_PURGING EMPFANGEN

CONFIRM wartet auf eine Antwort vom Partner-TP. Eine Antwort wird von einem der folgenden Verben im Partner-TP generiert:

  • BESTÄTIGT

  • SEND_ERROR

  • DEALLOCATE with dealloc_type auf AP_ABEND_PROG, AP_ABEND_SVC oder AP_ABEND_TIMER festgelegt ist

  • TP_ENDED

    Durch Die Ausgabe VON CONFIRM nachALLOCATE kann der aufrufende TP sofort feststellen, ob die Zuordnung erfolgreich war (wenn synclevel auf AP_CONFIRM_SYNC_LEVEL festgelegt ist).

    Normalerweise muss der Wert des mode_name Parameters des ALLOCATE-Verbs mit dem Namen eines Modus übereinstimmen, der für den Knoten des aufgerufenen TP konfiguriert und während der Konfiguration der Partner-LU zugeordnet ist.

    Wenn einer der Modi, die der Partner-LU auf dem Knoten des aufgerufenen TP zugeordnet sind, ein impliziter Modus ist, wird die zwischen den beiden LUs eingerichtete Sitzung vom impliziten Modus verwendet, wenn kein der Partner-LU zugeordneter Modusname mit dem Wert von mode_name übereinstimmt. Weitere Informationen finden Sie unter Hilfe zu Host Integration Server.

    Mehrere Parameter von ALLOCATE sind EBCDIC- oder ASCII-Zeichenfolgen. Ein TP kann das common service verb (CSV) CONVERT verwenden, um eine Zeichenfolge von einem Zeichensatz in den anderen zu übersetzen.

    Um die ALLOCATE-Anforderung sofort zu senden, kann der aufrufende TP sofort nach ALLOCATEFLUSH oder CONFIRM ausgeben. Andernfalls wird die ALLOCATE-Anforderung mit anderen Daten im Sendepuffer der lokalen LU akkumuliert, bis der Puffer voll ist.