Um eine neue Benutzerkennung zu erzeugen, müssen Sie die Datenstruktur kc_user_str über den Datenbereich legen.
Jeder Benutzerkennung steht automatisch eine permanente Queue zu Verfügung, die mit dem Namen der Benutzerkennung angesprochen wird. Der Zugriff von fremden Benutzern auf diese USER-Queue wird mit den Werten in den Feldern q_read_acl und q_write_acl gesteuert. Die maximale Anzahl von Nachrichten, die zwischengespeichert werden können, und das Verhalten von UTM, wenn dieser Wert erreicht ist, wird von den Werten in den Feldern qlev und q_mode bestimmt.
Der folgenden Tabelle können Sie entnehmen, wie die Felder der Datenstruktur zu versorgen sind.
| Feldname 1 | Bedeutung | ||
| m | us_name[8] | Name der Benutzerkennung. Er kann bis zu 8 Zeichen lang sein.  | |
| o | kset[8] | Keyset der Benutzerkennung. Das Keyset muss zuvor dynamisch erzeugt oder statisch generiert worden sein. Das Keyset legt die Zugriffsrechte des Benutzers/Clients fest, der sich unter dieser Benutzerkennung bei der Anwendung anmeldet. | |
| o | state | Legt fest, ob die Benutzerkennung zunächst gesperrt sein soll oder nicht. Mit einer gesperrten Benutzerkennung kann sich kein Benutzer/Client bei der Anwendung anmelden. Sie muss vom Administrator explizit freigegeben werden. | |
| 'Y': Die Benutzerkennung soll nicht gesperrt werden (ON). 'N': Die Benutzerkennung soll gesperrt werden (OFF). | |||
| o | card_position[3] 
 | Nur auf BS2000-Systemen: | |
| In den einzelnen Feldern müssen Sie Folgendes angeben: | |||
| card_position  | |||
| card_position  und  card_string_lth   | |||
| card_string_type  | |||
| 'X' | Die Ausweisinformation wird als hexadezimaler String übergeben. | ||
| 'C' | Die Ausweisinformation wird als Character-String übergeben. | ||
| card_string  | |||
| Für die Übergabe der Ausweisinformation steht die Union kc_string zur Verfügung (siehe im Abschnitt "kc_user_str, kc_user_fix_str, kc_user_dyn1_str bzw. kc_user_dyn2_str - Benutzerkennungen" ). | |||
| o | password16 
 | Passwort für diese Benutzerkennung.   | |
| Für die Übergabe des Passworts steht Ihnen die Union kc_pw16 zur Verfügung. | |||
| 
 | |||
| In UTM-Anwendungen auf BS2000-Systemen können Sie das  Passwort entweder als Character-String oder als hexadezimale  Zeichenfolge angeben.  | |||
| In UTM-Anwendungen auf Unix-, Linux- und Windows-Systemen müssen Sie das Passwort immer als Character-String übergeben (Feld password16.c ). Geben Sie ein Passwort ein, das aus weniger als 16 Zeichen besteht, dann muss password16.c rechts mit Leerzeichen aufgefüllt werden. | |||
| password16 müssen Sie angeben, wenn password_type ='C' oder 'X' ist. password16 dürfen Sie nicht angeben, wenn password_type = 'R' oder 'N' ist. | |||
| Soll eine Benutzerkennung ohne Passwort erzeugt werden, dann dürfen Sie in password16 und in password_type nichts angeben. Für protect_pw_compl muss dann '0' und für protect_pw16_lth '00' gesetzt werden (Standard). | |||
| o | password_type | In password_type müssen Sie angeben, wie das Passwort in password zu interpretieren ist. Folgende Angaben sind möglich: | |
| 'C' | Das Passwort in password ist als Character-String zu interpretieren. | ||
| 'X' | Das Passwort in password ist als hexadezimales Passwort zu interpretieren. Nur für Benutzerkennungen einer UTM- Anwendung auf einem BS2000-System erlaubt. | ||
| 'N' | Kein Passwort. Im Feld password darf nichts angegeben werden | ||
| 'R' | Als Passwort wird ein zufälliges Passwort erzeugt (random). Bevor sich der so generierte Benutzer anmelden kann, muss der Administrator das Passwort explizit neu setzen. | ||
| o | password_dark | Legt fest, ob das Passwort am Terminal dunkelgesteuert eingegeben werden muss. | |
| 'Y' | UTM fordert den Benutzer nach dem KDCSIGN in einem Zwischen-Dialog auf, das Passwort in ein dunkelgesteuertes Feld einzugeben. | ||
| 'N' | Der Benutzer übergibt das Passwort direkt beim KDCSIGN.   | ||
| Sie können password_dark ='Y' auch setzen, wenn Sie kein Passwort angeben. Wird der Benutzerkennung dann zu einem späteren Zeitpunkt ein Passwort zugeordnet (z.B. mit KC_MODIFY_ OBJECT), ist es dunkelgesteuert. | |||
| Hinweis :  | |||
| o | format_attr | Nur auf BS2000-Systemen:  | |
| Voraussetzung für das Zuweisen eines Startformats ist, dass ein Formatierungssystem generiert ist (KDCDEF-Anweisung FORMSYS). Ist das Startformat ein #Format, dann muss zusätzlich ein Anmelde-Vorgang generiert sein. | |||
| In format_attr geben Sie das Formatkennzeichen des Startformats an: | |||
| 'A' | für das Formatattribut ATTR (+Format).   | ||
| Bedeutung der Formatattribute siehe im Abschnitt "kc_user_str, kc_user_fix_str, kc_user_dyn1_str bzw. kc_user_dyn2_str - Benutzerkennungen" (format_attr, format_name). | |||
| In format_name geben Sie den Namen des Startformats an. Der Name kann bis zu 7 Zeichen lang sein und darf nur alphanumerische Zeichen enthalten. | |||
| o | locale_lang_id[2] 
 | Nur auf BS2000-Systemen:  | |
| In locale_lang_id geben Sie das Sprachkennzeichen der Landessprache an, in der Meldungen und Nachrichten übergeben werden sollen. Es ist maximal 2 Byte lang. | |||
| In  locale_terr_id  geben Sie das Territorialkennzeichen an.  | |||
| In locale_ccsname geben Sie den CCS-Namen des erweiterten Zeichensatzes an ( c oded c haracter s et), der für die Ausgabe verwendet werden soll. Der CCS-Name ist bis zu 8 Byte lang. Er muss zu einem auf dem BS2000-System definierten EBCDIC- Zeichensatz gehören (siehe auch Benutzerhandbuch zu XHCS). | |||
| o | protect_pw16_lth | Legt fest, wie viele Zeichen das Passwort der Benutzerkennung mindestens haben muss, damit es von UTM akzeptiert wird (minimale Länge des Passworts). Das Passwort einer Benutzerkennung kann nur gelöscht werden, wenn protect_pw16_lth ='00' ist. | |
| Maximalwert: '16',   | |||
| o | protect_pw_compl | Legt die Komplexitätsstufe fest, der das Passwort der Benutzerkennung genügen muss. | |
| '0' | (NONE)                                                             | ||
| '1' | (MIN)   | ||
| '2' | (MEDIUM)   | ||
| '3' | (MAX)   
 | ||
| o | protect_pw_time[3] 
 | Legt fest, wieviele Tage das Passwort maximal gültig ist (Gültigkeitsdauer). | |
| Minimalwert: '0', Maximalwert: '180' | |||
| o | restart | Legt fest, ob UTM Vorgangsdaten für die Benutzerkennung sichert, damit beim nächsten Anmelden unter dieser Benutzerkennung ein Vorgangswiederanlauf möglich ist. | |
| 'Y':UTM sichert Vorgangsdaten.  | |||
| o | permit | Legt die Administrationsberechtigung der Benutzerkennung fest. | |
| 'A' | (ADMIN)  | ||
| 'N' | (NONE)  | ||
| 'B' | (BOTH)  | ||
| 'S' | (SAT)  | ||
| o | satsel | Nur auf BS2000-Systemen:  | |
| 'B' | Es sollen erfolgreiche und nicht erfolgreiche Ereignisse protokolliert werden (BOTH). | ||
| 'S' | Es sollen nur erfolgreiche Ereignisse protokolliert werden (SUCC). | ||
| 'F' | Es sollen nur nicht erfolgreiche Ereignisse protokolliert werden (FAIL). | ||
| 'N' | Es wird keine Benutzer-spezifische SAT-Protokollierung definiert (NONE). | ||
| Voraussetzung für die Protokollierung ist, dass die SAT-Protokollierung für die Anwendung eingeschaltet ist (zur SAT-Protokollierung siehe openUTM-Handbuch „Anwendungen generieren“ und openUTM-Handbuch „Einsatz von UTM-Anwendungen auf BS2000-Systemen“) | |||
| o | protect_pw_min_time[3] 
 | Legt die minimale Gültigkeitsdauer des Passworts in Tagen fest. | |
| Nach der Änderung des Passworts darf der Benutzer das Passwort  frühestens nach Ablauf der minimalen Gültigkeitsdauer erneut   | |||
| Nach einer Passwortänderung durch den Administrator bzw. nach einer Neugenerierung kann der Benutzer das Passwort immer ändern, unabhängig davon, ob die minimale Gültigkeitsdauer abgelaufen ist oder nicht. | |||
| protect_pw_min_time darf nicht größer als protect_pw_time (maximale Gültigkeitsdauer) sein. | |||
| Minimum: '0'   | |||
| o | qlev[5] | legt fest, wieviele Nachrichten in der Nachrichten-Queue des  Benutzers maximal zwischengespeichert werden können. Wird der  Schwellwert überschritten, dann hängt das Verhalten vom Wert im  Feld  q_mode  ab.  | |
| o | q_read_acl[8] | legt die Rechte fest (Name eines Keysets), die ein fremder Benutzer  benötigt, um Nachrichten aus dieser USER-Queue lesen und  löschen zu können.  | |
| o | q_write_acl[8] | legt die Rechte fest (Name eines Keysets), die ein fremder Benutzer benötigt, um Nachrichten in diese USER-Queue zu schreiben. Ein fremder Benutzer kann nur dann schreibend auf diese Queue zugreifen, wenn das Keyset der Benutzerkennung und das Keyset des logischen Terminals, über das der Benutzer angemeldet ist, jeweils mindestens einen Keycode enthalten, der auch in dem angegebenen Keyset enthalten ist. Enthält q_write_acl keinen Wert, dann können alle Benutzer Nachrichten in diese Queue schreiben. | |
| o | q_mode | legt fest, wie sich UTM verhält, wenn die maximale Anzahl der noch  nicht ausgeführten Aufträge in der Queue des Benutzers erreicht ist.   | |
| 'S' | UTM lehnt weitere Aufträge ab (Standard). | ||
| 'W' | UTM nimmt weitere Nachrichten auf, löscht aber die ältesten in der Queue stehenden Nachrichten. | ||
| o | principal[100] 
 | Nur auf BS2000-Systemen:  | |
| 1 | Alle nicht aufgeführten Felder der Datenstruktur kc_user_str und alle für das verwendete Betriebssystem nicht relevanten Felder sind mit binär null zu versorgen. Die Datenstruktur ist im Abschnitt "kc_user_str, kc_user_fix_str, kc_user_dyn1_str bzw. kc_user_dyn2_str - Benutzerkennungen" vollständig beschrieben. |