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 verb SEND_CONVERSATION weist eine Sitzung zwischen der lokalen logischen Einheit (LU) und partner LU zu, sendet Daten an die Sitzung und behandelt dann die Sitzung.
In der folgenden Struktur wird der verbsteuerungsblock (VCB) beschrieben, der vom SEND_CONVERSATION Verb verwendet wird.
Syntax
struct send_conversation {
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[8];
unsigned char rtn_ctl;
unsigned char reserv4;
unsigned long conv_group_id;
unsigned long sense_data;
unsigned char plu_alias[8];
unsigned char mode_name[8];
unsigned char tp_name[64];
unsigned char security;
unsigned char reserv6[11];
unsigned char pwd[10];
unsigned char user_id[10];
unsigned short pip_dlen;
unsigned char FAR * pip_dptr;
unsigned char reserv6;
unsigned char fqplu_name[17];
unsigned char reserv7[8];
unsigned short dlen;
unsigned char FAR * dptr;
};
Elemente
opcode
Angegebener Parameter. Gibt den Verbvorgangscode AP_B_SEND_CONVERSATION 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. Identifies the local transaction program (TP). Der Wert dieses Parameters wurde von TP_STARTED zurückgegeben.
conv_id
Angegebener Parameter. Stellt den Unterhaltungsbezeichner bereit.
Der Wert dieses Parameters wird von ALLOCATE im aufgerufenen TP oder von RECEIVE_ALLOCATE im aufgerufenen TP zurückgegeben.
rtn_ctl
Angegebener Parameter. Gibt an, wie APPC eine Sitzung auswählen soll, die für die Unterhaltung zugewiesen werden soll, und wann die lokale LU die Steuerung an das lokale TP zurückgeben soll. Die zulässigen Werte sind:
AP_IMMEDIATE gibt an, dass die LU eine Inhaltsgewinnersitzung zuweist, sofern eine sofort verfügbar ist, und gibt die Steuerung an den TP zurück.
AP_WHEN_SESSION_ALLOCATED gibt an, dass die LU die Steuerung erst an den TP zurückgibt, wenn sie eine Sitzung zuweist oder auf einen der in Rückgabecodes in diesem Thema beschriebenen Fehler stößt. Wenn der Sitzungsgrenzwert null ist, gibt die LU die Steuerung sofort zurück. Beachten Sie, dass, wenn eine Sitzung nicht verfügbar ist, der TP auf eine sitzung wartet.
AP_WHEN_SESSION_FREE gibt an, dass die LU eine Contention-Gewinner- oder Contention-Loser-Sitzung zuweist, wenn eine verfügbar ist oder aktiviert werden kann, und gibt die Steuerung an den TP zurück. Wenn ein Fehler auftritt (wie in rückgabecodes in diesem Thema beschrieben), wird der Aufruf sofort mit dem Fehler in den Feldern primary_rc und secondary_rc zurückgegeben.
AP_WHEN_CONWINNER_ALLOC gibt an, dass die LU die Steuerung erst zurückgibt, wenn sie eine Sitzung mit Inhaltsgewinner zuweist oder einen der in den Rückgabecodes in diesem Thema beschriebenen Fehler auftritt. Wenn der Sitzungsgrenzwert null ist, gibt die LU die Steuerung sofort zurück. Beachten Sie, dass, wenn eine Sitzung nicht verfügbar ist, der TP auf eine sitzung wartet.
AP_WHEN_CONV_GROUP_ALLOC gibt an, dass die LU keine Steuerung an den TP zurückgibt, bis sie die durch conv_group_id angegebene Sitzung zuweist oder auf einen der in Rückgabecodes in diesem Thema beschriebenen Fehler stößt. Wenn die Sitzung nicht verfügbar ist, wartet der TP darauf, dass sie frei wird.
conv_group_id
Bereitgestellter/zurückgegebener Parameter. Wird als angegebener Parameter verwendet, wenn rtn_ctl WHEN_CONV_GROUP_ALLOC ist, um die Identität der Unterhaltungsgruppe anzugeben, der die Sitzung zugewiesen werden soll. Wenn rtn_ctl einen anderen Wert angibt und die primary_rc AP_OK ist, handelt es sich um einen zurückgegebenen Wert. Der Zweck dieses Parameters besteht darin, einen TP mit der Gewissheit bereitzustellen, dass die gleiche Sitzung neu zugeordnet wird und daher die über die Sitzung durchgeführten Unterhaltungen in derselben Sequenz auftreten, die sie initiiert haben.sense_data
Zurückgegebener Parameter. Wenn die primären und sekundären Rückgabecodes auf einen Zuordnungsfehler (Wiederholung oder keinen Wiederholungsversuche) hinweisen, wird ein SNA-definierter Sinnescode zurückgegeben.plu_alias
Angegebener Parameter. Gibt den Alias an, mit dem die Partner-LU dem lokalen TP bekannt ist. Dieser Parameter muss mit dem Namen einer Partner-LU übereinstimmen, die während der Konfiguration eingerichtet wurde. Der Parameter ist ein 8-Byte-Zeichensatz vom Typ G ASCII, der Folgendes umfasst:Großbuchstaben
Ziffern 0 bis 9
Leerzeichen
Sonderzeichen $, #, %und @
Wenn der Wert dieses Parameters weniger als acht Bytes beträgt, legen Sie ihn auf der rechten Seite mit ASCII-Leerzeichen (0x20).
mode_name
Angegebener Parameter. Gibt den Namen einer Gruppe von Netzwerkmerkmalen an, die während der Konfiguration definiert sind. Dieser Parameter muss dem Namen eines Modus entsprechen, der der Partner-LU während der Konfiguration zugeordnet ist.Der Parameter ist eine 8-Byte EBCDIC-Zeichenfolge. Er kann aus Zeichen vom Typ A EBCDIC-Zeichensatz bestehen, einschließlich aller EBCDIC-Leerzeichen. Diese Zeichen sind:
Großbuchstaben
Ziffern 0 bis 9
Sonderzeichen $, #und @
Das erste Zeichen in der Zeichenfolge muss ein Großbuchstaben oder Sonderzeichen sein.
Die Verwendung des Namens SNASVCMG (reservierter Modusname, der intern von APPC verwendet wird) in einer einfachen Unterhaltung wird nicht empfohlen.
tp_name
Angegebener Parameter. Gibt den Namen des aufgerufenen TP an. Der Wert von tp_name, der in der aufrufenden TP angegeben wird, muss mit dem Wert von tp_name übereinstimmen, der von RECEIVE_ALLOCATE im aufgerufenen TP angegeben wird.Der Parameter ist eine 64-Byte-, Groß-/Kleinschreibung, EBCDIC-Zeichenfolge. Dieser Parameter kann aus Zeichen des Typs "AE EBCDIC" bestehen. Diese Zeichen sind:
Groß- und Kleinbuchstaben
Ziffern 0 bis 9
Sonderzeichen $, #, @und Punkt (.)
Wenn der TP-Name weniger als 64 Bytes beträgt, verwenden Sie EBCDIC-Leerzeichen (0x40), um ihn auf der rechten Seite zu speichern.
Die SNA-Konvention zum Benennen eines Dienst-TP ist bis zu vier Zeichen. Das erste Zeichen ist ein hexadezimales Byte zwischen 0x00 und 0x3F. Die anderen Zeichen stammen aus dem EBCDIC AE-Zeichensatz.
Sicherheit
Angegebener Parameter. Gibt die Informationen an, die die Partner-LU benötigt, um den Zugriff auf das aufgerufene TP zu überprüfen.AP_NONE gibt an, dass die aufgerufene TP keine Unterhaltungssicherheit verwendet.
AP_PGM gibt an, dass das aufgerufene TP Unterhaltungssicherheit verwendet und einen Benutzerbezeichner und ein Kennwort erfordert. Verwenden Sie user_id und pwd , um diese Informationen zur Verfügung zu stellen.
AP_SAME gibt an, dass das aufgerufene TP, das mit einem gültigen Benutzerbezeichner und Kennwort aufgerufen wird, wiederum einen anderen TP aufruft.
Angenommen, TP A ruft TP B mit einem gültigen Benutzerbezeichner und Kennwort auf, und TP B ruft wiederum TP C auf. Wenn TP B den Wert AP_SAME angibt, sendet APPC die LU für TP C an die Benutzer-ID von TP A und einen bereits überprüften Indikator. Dieser Indikator gibt an, dass TP C das Kennwort nicht erfordert (wenn TP C für die Annahme eines bereits überprüften Indikators konfiguriert ist).
Pwd
Angegebener Parameter. Gibt das Kennwort an, das user_id zugeordnet ist. Dieser Parameter ist nur erforderlich, wenn der Sicherheitsparameter auf AP_PGM festgelegt ist und mit dem Kennwort für user_id übereinstimmen muss, das während der Konfiguration eingerichtet wurde.Dieser Parameter ist eine 10-Byte-, Groß-/Kleinschreibung, EBCDIC-Zeichenfolge. Er kann aus Zeichen aus dem Typ AE EBCDIC-Zeichensatz bestehen. Diese Zeichen sind:
Groß- und Kleinbuchstaben
Ziffern 0 bis 9
Sonderzeichen $, #, @und Punkt (.)
Wenn das Kennwort weniger als 10 Bytes beträgt, verwenden Sie EBCDIC-Leerzeichen (0x40), um es auf der rechten Seite zu speichern.
user_id
Angegebener Parameter. Gibt den Benutzerbezeichner an, der für den Zugriff auf den Partner-TP erforderlich ist. Dieser Parameter ist nur erforderlich, wenn der Sicherheitsparameter auf AP_PGM festgelegt ist und mit einem der für den Partner-TP konfigurierten Benutzerbezeichner übereinstimmen muss.Der Parameter kann aus Zeichen des Typs "AE EBCDIC" bestehen. Diese Zeichen sind:
Groß- und Kleinbuchstaben
Ziffern 0 bis 9
Sonderzeichen $, #, @und Punkt (.)
Wenn der Benutzerbezeichner weniger als 10 Bytes beträgt, verwenden Sie EBCDIC-Leerzeichen (0x40), um sie auf der rechten Seite zu speichern.
pip_dlen
Angegebener Parameter. Gibt die Länge der PIP an, die an den Partner-TP übergeben werden soll. Der Bereich für diesen Parameter liegt zwischen 0 und 32767.pip_dptr
Angegebener Parameter. Gibt die Adresse des Puffers an, der PIP-Daten enthält. Verwenden Sie diesen Parameter nur, wenn pip_dlen größer als 0 ist.PIP-Daten können aus Initialisierungsparametern oder Umgebungseinrichtungsinformationen bestehen, die von einem Partner TP oder Remotebetriebssystem benötigt werden. Die PIP-Daten müssen dem GDS-Format entsprechen. Weitere Informationen finden Sie in Ihren IBM SNA-Handbüchern.For more information, see your IBM SNA manual(s).
Für das Microsoft Windows-Betriebssystem kann sich der Datenpuffer in einem statischen Datenbereich oder in einem global zugewiesenen Bereich befinden.
fqplu_name
Angegebener Parameter. Gibt den vollqualifizierten Namen der lokalen LU an. Dieser Parameter muss mit dem vollqualifizierten Namen der lokalen LU übereinstimmen, die im Remoteknoten definiert ist. Der Parameter besteht aus zwei EBCDIC-Zeichenzeichenfolgen vom Typ A (jeweils bis zu acht Zeichen), die den Netzwerknamen (NETID) und den LU-Namen der Partner-LU darstellen. Die Namen werden durch einen EBCDIC-Punkt (.) getrennt. Die NETID kann weggelassen werden, und wenn dies der Fall ist, sollte der Zeitraum ebenfalls weggelassen werden.Dieser Name muss angegeben werden, wenn keine plu_alias angegeben wird.
Typ A EBCDIC-Zeichen enthalten:
Großbuchstaben
Ziffern 0 bis 9
Sonderzeichen $, #und @
Wenn der Wert dieses Parameters kleiner als 17 Byte ist, legen Sie ihn auf der rechten Seite mit EBCDIC-Leerzeichen (0x40).
dlen
Angegebener Parameter. Gibt die Anzahl der Bytes an, die in den Sendepuffer der lokalen LU eingefügt werden sollen. Der Bereich für diesen Parameter liegt zwischen 0 und 65535.dptr
Angegebener Parameter. Gibt die Adresse des Puffers an, der die Daten enthält, die im Sendepuffer der lokalen LU platziert werden sollen.Für das Windows-Betriebssystem kann sich der Datenpuffer in einem statischen Datenbereich oder in einem global zugewiesenen Bereich befinden. Der Datenpuffer muss vollständig in diesen Bereich passen.
Rückgabecodes
AP_OK
Primärer Rückgabecode; das Verb erfolgreich ausgeführt wurde.
AP_UNSUCCESSFUL
Primärer Rückgabecode; der angegebene Parameter rtn_ctl die sofortige Rückgabe des Steuerelements an den TP (AP_IMMEDIATE) angegeben, und die lokale LU verfügte nicht über eine verfügbare Inhaltsgewinnersitzung.
AP_PARAMETER_CHECK
Primärer Rückgabecode; das Verb wurde aufgrund eines Parameterfehlers nicht ausgeführt.
AP_BAD_RETURN_CONTROL
Sekundärer Rückgabecode; Der für rtn_ctl angegebene Wert war ungültig.
AP_BAD_SECURITY
Sekundärer Rückgabecode; Der für die Sicherheit angegebene Wert war ungültig.
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_PIP_LEN_INCORRECT
Sekundärer Rückgabecode; der Wert von pip_dlen größer als 32767 war.
AP_UNKNOWN_PARTNER_MODE
Sekundärer Rückgabecode; Der für mode_name angegebene Wert war ungültig.
AP_BAD_PARTNER_LU_ALIAS
Sekundärer Rückgabecode; APPC hat die angegebene partner_lu_alias nicht erkannt.
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_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 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_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.
Bemerkungen
Dieses Verb wird von dem aufrufenden TP ausgegeben, um eine ganze Unterhaltung mit dem Remote-TP durchzuführen. Wenn der Remote-TP entweder die Initiierung der Unterhaltung oder die Daten ablehnt, erhält der aufrufende TP keine Benachrichtigung über die Ablehnung.
Der Unterhaltungszustand wird ZURÜCKGESETZT, wenn das TP dieses Verb ausgibt. Es gibt keine Zustandsänderung.
Mehrere Parameter von SEND_CONVERSATION sind EBCDIC- oder ASCII-Zeichenfolgen. Ein TP kann die CSV CONVERT verwenden, um eine Zeichenfolge aus einem Zeichensatz in den anderen zu übersetzen.
Normalerweise muss der Wert von mode_name mit dem Namen eines Modus übereinstimmen, der für den Knoten des aufgerufenen TP konfiguriert und während der Konfiguration mit der Partner-LU verknüpft ist. Wenn einer der dem Partner-LU zugeordneten Modi auf dem Knoten des aufgerufenen TP ein impliziter Modus ist, wird die zwischen den beiden LUs festgelegte Sitzung dem impliziten Modus zugeordnet, wenn kein Modusname, der der Partner-LU zugeordnet ist, mit dem Wert von mode_name übereinstimmt.