Freigeben über


MC_SEND_ERROR

Das MC_SEND_ERROR Verb benachrichtigt das Partnertransaktionsprogramm (Partner Transaction Program, TP), dass beim lokalen TP ein Fehler auf Anwendungsebene aufgetreten ist.

Die folgende Struktur beschreibt den Verb-Kontrollblock (VCB), der vom MC_SEND_ERROR Verb verwendet wird.

Syntax

  
struct mc_send_error {  
    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;  
      unsigned char       err_type;  
    unsigned char       err_dir;  
    unsigned char       reserv4;  
    unsigned char       reserv5[2];  
    unsigned char       reserv6[4];  
};   

Member

opcode
Angegebener Parameter. Gibt den Code des Verbvorgangs an, AP_M_SEND_ERROR.

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 wird von TP_STARTED im aufrufenden TP oder von RECEIVE_ALLOCATE im aufgerufenen TP zurückgegeben.

conv_id
Angegebener Parameter. Stellt den Unterhaltungsbezeichner bereit. Der Wert dieses Parameters wird von MC_ALLOCATEim 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. Mögliche Werte sind:

  • AP_YES gibt an, dass der Partner-TP MC_REQUEST_TO_SEND ausgestellt hat, der anfordert, dass der lokale TP die Unterhaltung in DEN RECEIVE-Zustand ändert. Um in den RECEIVE-Zustand zu wechseln, kann der lokale TP MC_PREPARE_TO_RECEIVE, MC_RECEIVE_AND_WAIT oder MC_RECEIVE_AND_POST verwenden.

  • AP_NO gibt an, dass der Partner-TP keine MC_REQUEST_TO_SEND ausgestellt hat.

    err_type
    Für eine zugeordnete Unterhaltung wird dieser Parameter angegeben, wenn der Synchronisierungspunkt unterstützt wird. Gültige Werte sind:

    AP_PROG

    AP_BACKOUT_NO_RESYNC

    AP_BACKOUT_RESYNC

    err_dir
    Angegebener Parameter. Gibt an, ob der Fehler mit gerade empfangenen Daten oder mit Daten, die gesendet werden sollen, vorliegt. Verwenden Sie diesen Parameter nur, wenn sich die Unterhaltung in SEND_PENDING Zustand befindet. Der Parameter wird andernfalls ignoriert. Die folgenden Werte sind zulässig:

  • AP_RCV_DIR_ERROR gibt an, dass der TP MC_SEND_ERROR ausgestellt hat, nachdem ein Fehler erkannt wurde, der mit den soeben empfangenen Daten verknüpft ist.

  • AP_SEND_DIR_ERROR gibt an, dass der TP MC_SEND_ERROR ausgestellt hat, nachdem ein Fehler erkannt wurde, der mit daten verknüpft ist, die er senden wollte. Beispielsweise ist beim Tp beim Lesen von Daten vom Datenträgerlaufwerk ein Fehler aufgetreten.

    reserv3
    Ein reserviertes Feld.

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_BAD_ERROR_DIRECTION

Sekundärer Rückgabecode; der angegebene err_dir wurde von APPC nicht erkannt.

AP_SEND_ERROR_BAD_TYPE

Sekundärer Rückgabecode; Der Wert von err_type war ungültig.

AP_SEND_ERROR_LOG_LL_WRONG

Sekundärer Rückgabecode; Das LL-Feld der GDS-Variablen des Fehlerprotokolls stimmte nicht mit der tatsächlichen Länge der Daten überein.

Die folgenden Rückgabecodes können generiert werden, wenn MC_SEND_ERROR in einem beliebigen zulässigen Zustand ausgestellt wird:

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 werden oder wurde beendet. Folglich konnte die Kommunikation nicht stattfinden. Wenden Sie sich an den Systemadministrator, um Korrekturmaßnahmen zu ergreifen.

    Wenn dieser Rückgabecode mit MC_ALLOCATE verwendet wird, kann dies darauf hindeuten, dass kein Kommunikationssystem gefunden wurde, das die lokale logische Einheit (Local Logical Unit, LU) unterstützt. (Beispielsweise ist der mit TP_STARTED angegebene lokale LU-Alias falsch oder wurde nicht konfiguriert.) Wenn lu_alias oder mode_name weniger als acht Zeichen enthält, müssen Sie sicherstellen, dass diese Felder rechts mit Leerzeichen 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 MC_ALLOCATE Anforderung erfüllen kann.

    Wenn MC_ALLOCATE diesen Rückgabecode für ein Microsoft Host Integration Server-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 ausgestellt wird) ist nicht auf aktiven Knoten konfiguriert. Das Problem kann wie folgt aussehen:

  • 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; 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_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.

    Die folgenden Rückgabecodes können nur generiert werden, wenn MC_SEND_ERROR im SEND-Zustand ausgegeben wird:

    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 MC_ALLOCATE ausgestellt 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 die in der Zuordnungsanforderung angegebene sync_level (AP_NONE oder AP_CONFIRM_SYNC_LEVEL) nicht, 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_PROG_ERROR_PURGING
    Primärer Rückgabecode; im Status RECEIVE, PENDING, PENDING_POST, CONFIRM, CONFIRM_SEND oder CONFIRM_DEALLOCATE zustand, hat der Partner-TP MC_SEND_ERROR ausgestellt. Gesendete, aber noch nicht empfangene Daten werden gelöscht.

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

  • Der Partner-TP, der MC_DEALLOCATE ausgestellt hat , wobei dealloc_type auf AP_ABEND festgelegt ist.

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

    Der folgende Rückgabecode kann nur generiert werden, wenn MC_SEND_ERROR im RECEIVE-Status ausgestellt wird:

    AP_DEALLOC_NORMAL
    Primärer Rückgabecode; Dieser Rückgabecode weist nicht auf einen Fehler hin.

    Der Partner-TP, der MC_DEALLOCATE mit dealloc_type auf eine der folgenden Festgelegt ist:

  • AP_FLUSH

  • AP_SYNC_LEVEL mit der Synchronisierungsebene der Unterhaltung, die als AP_NONE

Hinweise

Die Unterhaltung kann sich in einem beliebigen Zustand befinden, mit Ausnahme von RESET, wenn das TP dieses Verb ausgibt. Der Unterhaltungszustand muss SEND_PENDING werden, wenn err_dir verwendet wird.

Der lokale TP sendet die Fehlerbenachrichtigung sofort an den Partner-TP. Sie enthält die Informationen nicht im Sendepuffer der lokalen LU.

Nach erfolgreicher Ausführung dieses Verbs befindet sich die Konversation im SEND-Zustand für das lokale TP und im RECEIVE-Status für den Partner-TP.

Der neue Zustand wird durch primary_rc bestimmt. Mögliche Zustandsänderungen sind in der folgenden Tabelle zusammengefasst.

primary_rc Neuer Zustand
AP_OK SEND
AP_ALLOCATION_ERROR RESET
AP_CONV_FAILURE_RETRY RESET
AP_CONV_FAILURE_NO_RETRY RESET
AP_DEALLOC_ABEND RESET
AP_DEALLOC_ABEND_PROG RESET
AP_DEALLOC_ABEND_SVC RESET
AP_DEALLOC_ABEND_TIMER RESET
AP_DEALLOC_NORMAL RESET
AP_PROG_ERROR_PURGING RECEIVE
AP_SVC_ERROR_PURGING RECEIVE

Wenn sich die Unterhaltung im RECEIVE-Zustand befindet, wenn der TP MC_SEND_ERROR ausgibt, werden eingehende Daten von APPC gelöscht. Diese Daten umfassen Folgendes:

  • Von MC_SEND_DATA gesendete Daten.

  • Zurückgeben von Codeindikatoren.

  • Bestätigungsanforderungen.

  • Zuordnungsanforderungen aufheben.

    APPC löscht einen eingehenden Anforderungs-zu-Sende-Indikator nicht. APPC ersetzt gelöschte Indikatoren für eingehende Rückgabecodes durch andere Rückgabecodes. Der primäre Rückgabecode AP_OK ersetzt die folgenden gelöschten Rückgabecodeindikatoren:

    AP_PROG_ERROR_NO_TRUNC

    AP_PROG_ERROR_PURGING

    AP_PROG_ERROR_TRUNC

    AP_SVC_ERROR_NO_TRUNC

    AP_SVC_ERROR_PURGING

    AP_SVC_ERROR_TRUNC

    Der primäre Rückgabecode AP_DEALLOC_NORMAL ersetzt die folgenden gelöschten Rückgabecodeindikatoren:

    AP_ALLOCATION_ERROR

    AP_ALLOCATION_FAILURE_NO_RETRY

    AP_ALLOCATION_FAILURE_RETRY

    AP_CONVERSATION_TYPE_MISMATCH

    AP_DEALLOC_ABEND

    AP_DEALLOC_ABEND_PROG

    AP_DEALLOC_ABEND_SVC

    AP_DEALLOC_ABEND_TIMER

    AP_PIP_NOT_ALLOWED

    AP_PIP_NOT_SPECIFIED_CORRECTLY

    AP_SECURITY_NOT_VALID

    AP_SYNC_LEVEL_NOT_SUPPORTED

    AP_TP_NAME_NOT_RECOGNIZED

    AP_TRANS_PGM_NOT_AVAIL_NO_RETRY

    AP_TRANS_PGM_NOT_AVAIL_RETRY

    Wenn sich die Unterhaltung in SEND_PENDING Zustand befindet, meldet APPC die folgenden Rückgabecodes an den Partner-TP basierend auf dem Wert in err_dir:

    AP_PROG_ERROR_PURGING
    Das lokale TP, das MC_SEND_ERROR mit RECEIVE als err_dir ausgestellt wurde.

    AP_PROG_ERROR_NO_TRUNC
    Das lokale TP, das MC_SEND_ERROR mit SEND als err_dir ausgestellt wurde.