Zum Eintragen eines Client oder Druckers müssen Sie KC_CREATE_OBJECT mit Objekttyp KC_PTERM aufrufen. Zum Eintragen eines LTERM-Partners müssen Sie den Objekttyp KC_LTERM angeben.
In UTM-Anwendungen auf Windows-Systemen werden Drucker nicht unterstützt.
Damit sich ein Client oder Drucker an die Anwendung anschließen kann, muss ihm ein LTERM-Partner zugeordnet werden. Geben Sie diesen LTERM-Partner beim Eintragen des Client bzw. Druckers an, dann muss der LTERM-Partner entweder bereits in der Konfiguration der Anwendung existieren oder in derselben Transaktion vor dem Client/Drucker eingetragen werden. Es gilt also allgemein die Regel:
LTERM-Partner (KC_LTERM) vor Client/Drucker (KC_PTERM) |
Beim Eintragen von Druckern/Clients sind folgende Fälle zu unterscheiden:
Terminals und Druckern,
TS-Anwendungen und UPIC-Clients.
Terminals und Drucker
Terminals und Drucker können Sie in die Konfiguration eintragen, ohne ihnen direkt einen LTERM-Partner zuzuordnen. In dem Fall müssen Sie also beim Eintragen keinen LTERM-Partner angeben. Den LTERM-Partner können Sie dem Terminal/Drucker dann zu einem späteren Zeitpunkt zuordnen. Dazu stehen Ihnen das Administrationskommando KDCSWTCH und der Aufruf KC_MODIFY_OBJECT (Objekttyp KC_PTERM) zur Verfügung. Die Zuordnung muss dann in einer eigenen Transaktion erfolgen.
Geben Sie beim Eintragen eines Terminals oder Druckers jedoch einen LTERM-Partner an, dann muss dieser nach obiger Regel bereits in der Konfiguration der Anwendung existieren oder in derselben Transaktion wie das Terminal bzw. der Drucker vor dem Terminal/Drucker eingetragen werden.
Einem Drucker können Sie einen LTERM-Partner zuordnen, der bereits einem anderen Drucker zugeordnet ist. Die alte Zuordnung wird nicht aufgehoben. Ein LTERM-Partner kann mehreren Druckern zugeordnet sein. Die Drucker bilden dann ein Druckerbündel und arbeiten die Message Queue des LTERM-Partners gemeinsam ab.
Einem Terminal können Sie nur einen LTERM-Partner zuordnen, der keinem anderen Client zugeordnet ist. Eine eventuell existierende Zuordnung zu einem anderen Terminal muss vor dem Erzeugen des Client in einer eigenen Transaktion aufgehoben werden (mit dem Administrationskommando KDCSWTCH oder dem Aufruf KC_MODIFY_OBJECT).
Soll für den Anschluss eines Terminals ein LTERM-Partner mit automatischem KDCSIGN erzeugt werden, dann müssen Sie dem LTERM-Partner die Benutzerkennung beim Eintragen zuordnen, für die das automatische KDCSIGN beim Verbindungsaufbau durchgeführt werden soll. Die Benutzerkennung muss vor dem Eintragen des LTERM-Partners in der Konfiguration enthalten sein oder in derselben Transaktion vor dem LTERM-Partner eingetragen werden. Allgemein gilt die Regel:
Benutzerkennung (KC_USER) vor LTERM-Partner (KC_LTERM) |
Auf BS2000-Systemen gilt allgemein: Die Eigenschaft usage_type (D für Dialog-Partner oder O für Ausgabemedium) des LTERM-Partners muss mit dem Wert übereinstimmen, den Sie beim Eintragen des Client/Druckers in usage angeben.
Wird ein LTERM-Partner für einen Drucker erzeugt, der über ein Druckersteuer-LTERM (CTERM) administriert werden soll, dann müssen Sie dem LTERM-Partner das Druckersteuer-LTERM beim Eintragen zuordnen. Das Druckersteuer-LTERM muss vor dem Eintragen des LTERM-Partners entweder bereits in der Konfiguration der Anwendung enthalten sein (statisch oder dynamisch eingetragen) oder in derselben Transaktion wie der LTERM-Partner, jedoch vor dem LTERM-Partner, eingetragen werden. Es gilt die Regel:
Druckersteuer-LTERM (KC_LTERM) vor LTERM-Partner (KC_LTERM) |
TS-Anwendungen und UPIC-Clients
TS-Anwendungen oder UPIC-Clients (Clients vom Typ APPLI, SOCKET, UPIC-R und UPIC-L) müssen Sie bereits beim Eintragen einen LTERM-Partner zuordnen. Dieser LTERM-Partner muss in derselben Transaktion wie der Client erzeugt werden, jedoch vor dem Client. D.h. der KC_CREATE_OBJECT-Aufruf, der den LTERM-Partner erzeugt, muss vor dem KC_CREATE_OBJECT-Aufruf, der den Client einträgt, in derselben Transaktion bearbeitet werden. Es gilt in diesem Fall die Regel:
LTERM-Partner (KC_LTERM) vor der TS-Anwendung/UPIC-Client (KC_PTERM) |
Die Zuordnung Client zu LTERM-Partner kann nicht aufgehoben werden, solange der Client in der Konfiguration enthalten ist.
Für einen LTERM-Partner eines derartigen Clients benötigt openUTM eine fest zugeordnete Benutzerkennung, die Verbindungs-Benutzerkennung.
Die Verbindungs-Benutzerkennung können Sie explizit generieren. In diesem Fall muss sie in derselben Transaktion wie LTERM-Partner und Client eingetragen werden. Die Benutzerkennung muss jedoch vor dem Client in die Konfiguration eingetragen werden. Bei der Zuordnung der Benutzerkennung zum LTERM-Partner sind folgende Fälle zu unterscheiden:
Sie erzeugen explizit eine Benutzerkennung mit dem Namen des LTERM-Partners. Dann erfolgt die Zuordnung automatisch beim Eintragen des LTERM-Partners.
Sie erzeugen eine Benutzerkennung mit einem beliebigen Namen. Dann müssen Sie den Namen beim Eintragen des LTERM-Partners explizit angeben (Feld kc_lterm_str.user_gen).
Wenn Sie die Verbindungs-Benutzerkennung nicht explizit generieren, dann erzeugt openUTM implizit eine Benutzerkennung mit dem Namen des LTERM-Partners.
Die Verbindungs-Benutzerkennung ist immer für diesen Client reserviert. Es kann sich kein anderer Benutzer oder Client mit dieser Benutzerkennung bei der Anwendung anmelden.
Für diese Benutzerkennung wird einer der reservierten Tabellenplätze belegt. Ist kein Tabellenplatz für eine Benutzerkennung mehr frei, dann werden LTERM-Partner und Client nicht in die Konfiguration eingetragen. Die KC_CREATE_OBJECT-Aufrufe werden abgewiesen.
Allgemein gilt:
In Anwendungen mit Benutzerkennungen benötigen Sie zum Eintragen eines Clients vom Typ APPLI, SOCKET oder UPIC-R/UPIC-L drei reservierte Tabellenplätze: einen für den Objekttyp PTERM, einen für den Objekttyp LTERM und einen für den Objekttyp USER.
Beim Eintragen gilt folgende Regel:
Benutzerkennung (KC_USER) vor LTERM-Partner (KC_LTERM) vor |
Eine Verbindungs-Benutzerkennung ist nicht administrierbar. Nach dem Eintragen der Benutzerkennung können ihre Eigenschaften nicht mehr geändert werden.
Beispiel für das Eintragen einer TS-Anwendung bzw. eines UPIC-Clients
Ein Programm, das eine TS-Anwendung bzw. einen UPIC-Client einträgt und ihr/ihm explizit eine Verbindungs-Benutzerkennung zuordnet, muss den im folgenden Schema dargestellten Aufbau haben. Die in eckige Klammern gesetzten KDCS-Aufrufe sind optional. Insbesondere können die einzelnen KC_CREATE_OBJECT-Aufrufe in verschiedenen KDCS-Programmen liegen. Die Programme müssen jedoch in derselben Transaktion ablaufen (Programmabschluss z.B. mit PEND PA).
#include <kcadminc.h> /* Definitionen aufnehmen */ INIT /* KDCS-Aufruf zum Anmelden bei UTM */ [MGET] /* KDCS-Aufruf zum Einlesen des */ /* aufrufenden TACs und der */ /* übergebenen Parameter */ KC_CREATE_OBJECT mit obj_type=KC_USER /* KDCADMI-Aufruf zum Eintragen der */ /* Benutzerkennung */ /* eventuell Fehlerbehandlung: Der folgende KC_CREATE_OBJECT-Aufruf sollte */ /* nur abgesetzt werden, wenn der vorherige Aufruf fehlerfrei war. */ KC_CREATE_OBJECT mit obj_type=KC_LTERM /* KDCADMI-Aufruf zum Eintragen des */ /* LTERM-Partners. */ /* eventuell Fehlerbehandlung */ KC_CREATE_OBJECT mit obj_type=KC_PTERM /* KDCADMI-Aufruf zum Eintragen des */ /* Client */ /* eventuell Fehlerbehandlung */ MPUT /* KDCS-Aufruf zum Senden einer */ .... /* Nachricht an den Auftraggeber */ PEND FI / RE / SP / FC /* KDCS-Aufruf zum Beenden der */ /* Transaktion */