Freigeben über


TEST_RTS_AND_POST

Das TEST_RTS_AND_POST Verb ermöglicht einer Anwendung, in der Regel ein Emulator von 5250, asynchrone Benachrichtigungen anzufordern, wenn ein Partnertransaktionsprogramm (TP) die Senderichtung anfordert.

In der folgenden Struktur wird der verbsteuerungsblock (VCB) beschrieben, der vom TEST_RTS_AND_POST Verb verwendet wird.

Syntax

  
struct test_rts {  
    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       reserv3;  
    unsigned long       handle;  
};  

Elemente

opcode
Angegebener Parameter. Gibt den Verbvorgangscode AP_B_TEST_RTS_AND_POST 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 wurde 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 wurde von ALLOCATE im aufgerufenen TP oder von RECEIVE_ALLOCATE im aufgerufenen TP zurückgegeben.

Reserv3
Ein reserviertes Feld.

behandeln
Angegebener Parameter. Unter Microsoft Windows stellt dieses Feld das festzulegende Ereignishandle bereit.

Rückgabecodes aus dem anfänglichen Verb

AP_OK
Primärer Rückgabecode; das Verb erfolgreich ausgeführt wurde. Beachten Sie insbesondere, dass ein Rückgabecode von AP_OK aus dem anfänglichen Verb nicht angibt, dass REQUEST_TO_SEND Verb, das vom Partner-TP empfangen wurde. Sie weist einfach darauf hin, dass die Einrichtung für den Empfang asynchroner Benachrichtigungen registriert wurde.

AP_UNSUCCESSFUL
Primärer Rückgabecode; Die Anforderungs-zu-Senden-Benachrichtigung wurde nicht empfangen.

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_INVALID_SEMAPHORE_HANDLE

Sekundärer Rückgabecode, der Wert des Handles war ungültig.

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 nicht geladen oder beendet werden, während das Verb verarbeitet wird. 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 es darauf hindeuten, dass kein Kommunikationssystem gefunden werden konnte, um die lokale logische Einheit (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_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_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.

Zurückgeben von Codes aus asynchroner Vervollständigung

AP_OK
Primärer Rückgabecode; die Anforderungs-zu-Senden-Benachrichtigung vom Partner-TP empfangen wurde.

AP_CANCELLED
Das ausstehende TEST_RTS_AND_POST Verb wurde beendet. Dies tritt auf, wenn die zugrunde liegende Unterhaltung abgeglichen oder eine AP_TP_ENDED ausgegeben wurde. Beachten Sie, dass wie bei RECEIVE_AND_POST der TP weiterhin dafür verantwortlich ist, die Unterhaltung ordnungsgemäß zu beenden und möglicherweise den TP zu beenden. Wenn Sie ein weiteres Verb ausgeben, z. B. RECEIVE_IMMEDIATE, wird an diesem Punkt der Grund für den Unterhaltungsfehler angegeben.

Die Unterhaltung kann sich in einem beliebigen Zustand befinden, mit Ausnahme von RESET, wenn das TP dieses Verb ausgibt. Es gibt keine Zustandsänderung.

Ein gängiges Feature vieler APPC-Anwendungen, z. B. 5250-Emulatoren, ist eine Anforderung zum Erkennen der Anforderung eines Partners zum Senden. Derzeit kann dies durch Abfragen der APPC-Schnittstelle erfolgen, um die Anforderung des Partners zu erkennen. Beispielsweise kann eine Anwendung gelegentlich eines der folgenden Verben ausgeben:

  • TEST_RTS

Bemerkungen

  • RECEIVE_IMMEDIATE und überprüfen Sie das Feld rts_rcvd

  • SEND_DATA null Bytes, überprüfen Sie erneut das feld rts_rcvd .

    Einige der Probleme im Zusammenhang mit diesem Abrufansatz sind:

  • Die Anwendung muss ihre Hauptarbeit kontinuierlich unterbrechen, um APPC abzufragen.

  • Die Anfrage des Partners wird nicht erkannt, sobald sie verfügbar ist.

  • Diese Ansätze sind prozessorintensiv.

    Das verb TEST_RTS_AND_POST ermöglicht es einer Anwendung, die unter Windows ausgeführt wird, in der Regel einen 5250-Emulator, asynchrone Benachrichtigung anzufordern, wenn der Partner TP die Senderichtung anfordert.

    Eine APPC-Anwendung gibt in der Regel das TEST_RTS_AND_POST Verb im SEND-Zustand aus und setzt dann die Hauptverarbeitung fort. Eine Anforderung für die Senderichtung vom Partner-TP wird asynchron für die Anwendung angegeben. Nach dem Umgang mit der Anforderung des Partners kehrt die Anwendung in der Regel zum SEND-Zustand zurück, führt TEST_RTS_AND_POST erneut aus und setzt fort.

    Das TEST_RTS_AND_POST Verb wird synchron abgeschlossen, und der Rückgabecode AP_OK gibt an, dass eine Anforderung für asynchrone Benachrichtigung registriert wurde. Es ist wichtig zu betonen, dass dies nicht darauf hinweist, dass die Anforderung zum Senden vom Partner TP empfangen wurde.

    Wenn die Anforderung des Partners zum Senden empfangen wird, tritt der asynchrone Abschluss des Ereignisses auf. Es ist wichtig zu beachten, dass dies vor dem Abschluss des ursprünglichen TEST_RTS_AND_POST Verbs des lokalen TP erfolgen kann. Dies ist der Fall, wenn die Anfrage des Partners zum Senden empfangen wurde, bevor das TEST_RTS_AND_POST Verb des lokalen TP ausgestellt wurde, oder wenn das TEST_RTS_AND_POST Verb des lokalen TP verarbeitet wurde.