Mit SIGN CL (Change Local) kann das Benutzer-spezifische Locale für die aktuelle Benutzerkennung geändert werden, d.h. das Sprachkennzeichen, das Territorialkennzeichen und der Namen des verwendeten Zeichensatzes können neu gesetzt werden, wenn es sich bei der aktuellen Benutzerkennung um eine echte Benutzerkennung handelt (keine Verbindungs-Benutzerkennung).
SIGN CL ist nur in Dialog-Teilprogrammen einer UTM-Anwendung erlaubt, die mit Benutzerkennungen konfiguriert ist. Administrationsberechtigung ist nicht erforderlich.
Ist der Aufruf erfolgreich, so gilt vom nächsten Transaktionsende an das neue Locale für diese Benutzerkennung. Alle Nachrichten innerhalb der aktuellen Transaktion werden noch unter Verwendung des alten Zeichensatznamens aufbereitet. Deshalb ist es sinnvoll, das Teilprogramm mit Transaktionsende, aber ohne Ausgabe einer Dialog-Nachricht an das Terminal zu beenden, wenn der Zeichensatzname des Benutzers geändert wurde.
Wollen Sie nur bestimmte Komponenten des Locale ändern, so müssen Sie die restlichen Komponenten mit binär null versorgen.
Änderungen, die mit SIGN CL vorgenommen wurden, bleiben auch nach einem KDCUPD-Lauf erhalten. KDCUPD überträgt implizit für jeden Benutzer die aktuellen Werte seines Locale in die neue KDCFILE.
SIGN CL ist eine aufwärtskompatible Erweiterung gegenüber DIN 66265.
Versorgung des KDCS-Parameterbereichs (1. Parameter) bei SIGN CL
Funktion des Aufrufs | Einträge im KDCS-Parameterbereich | ||||
---|---|---|---|---|---|
KCOP | KCOM | KCLANGID | KCTERRID | KCCSNAME | |
Das Locale der Benutzerkennung ändern | SIGN | CL | neues Sprachkennzeichen der Benutzerkennung | neues Territorialkennzeichen der Benutzerkennung | CCS-Name des neuen Zeichensatzes für die Benutzerkennung |
Versorgen der Parameter | |
Feldname im KDCS-Parameterbereich | Inhalt |
"SIGN" | |
"CL" | |
Sprachkennzeichen des Benutzers / binär null | |
Territorialkennzeichen des Benutzers / binär null | |
Zeichensatzname des Benutzers / binär null |
KDCS-Aufruf | |
2. Parameter | |
KDCS-Parameterbereich | — |
C/C++Makroaufruf | |
Parameter | |
KDCS_SIGNCL | (nb,kclangid,kcterrid,kcccsname) |
Im KDCS-Parameterbereich machen Sie für den SIGN-Aufruf mit Operationsmodifikation CL folgende Einträge:
KCOP
im Feld KCOP den Operationsnamen SIGN.
KCOM
im Feld KCOM die Operationsmodifikation
- CL (Change Locale): Locale der Benutzerkennung ändern.
KCLANGID
im Feld KCLANGID das neue Sprachkennzeichen, das der Benutzerkennung, von der der Vorgang gestartet wurde, zugeordnet werden soll. Die Länge des Sprachkennzeichens ist 2 Byte. Soll das Sprachkennzeichen nicht geändert werden, ist für KCLANGID binär null anzugeben.
KCTERRID
im Feld KCTERRID das neue Territorialkennzeichen, das der Benutzerkennung, von der der Vorgang gestartet wurde, zugeordnet werden soll. Die Länge des Territorialkennzeichens ist 2 Byte. Soll das Territorialkennzeichen nicht geändert werden, ist für KCTERRID binär null anzugeben.
KCCSNAME
im Feld KCCSNAME der CCS-Name des neuen Zeichensatzes, der der Benutzerkennung zugeordnet werden soll. Die Länge des CCS-Namens ist maximal 8 Byte. Soll kein neuer Zeichensatz zugeordnet werden, ist für KCCSNAME binär null anzugeben.
Beim KDCS-Aufruf geben Sie an:
1. Parameter
als 1. Parameter: die Adresse des KDCS-Parameterbereichs
Makronamen
Wie Sie Makroaufrufe für C/C++ nutzen, ist in Abschnitt „C/C++-Makroschnittstelle" ausführlich beschrieben.
openUTM gibt zurück:
KCRCCC
im Feld KCRCCC den KDCS-Returncode (Länge 3 Byte). Die möglichen Returncodes und ihre Bedeutung siehe unten.
KCRCDC
im Feld KCRCDC den internen Returncode von openUTM (siehe openUTM-Handbuch „Meldungen, Test und Diagnose“).
KDCS-Returncodes im Feld KCRCCC beim SIGN CL-Aufruf
Im Programm sind auswertbar:
000 | Die Operation wurde ausgeführt, die angegebene(n) Komponente(n) des Locale geändert. |
40Z | Das System konnte die Operation nicht ausführen (Generierungsfehler). |
41Z | Der Aufruf SIGN CL ist an dieser Stelle nicht erlaubt:
|
46Z | Die Angaben zum neuen Locale sind falsch. Das Locale der Benutzerkennung wird nicht geändert. Die genauere Ursache liefert openUTM im Feld KCRCDC. |
49Z | Felder des KDCS-Parameterbereichs, die von diesem Aufruf nicht verwendet werden, sind nicht mit binär null gelöscht. |
Ein weiterer Returncode ist dem DUMP zu entnehmen:
71Z | In dem Teilprogrammlauf wurde noch kein INIT-Aufruf gegeben. |