Systemvariablen mit Bezug zur Natural-Umgebung

#### Search Results

Search

# Systemvariablen mit Bezug zur Natural-Umgebung

Dieses Dokument behandelt folgende Systemvariablen:

- *BROWSER-IO

- *DEVICE

- *GROUP

- *HARDCOPY

- *INIT-USER

- *LANGUAGE

- *NATVERS

- *NET-USER

- *PARM-USER

- *PATCH-LEVEL

- *PID

- *SCREEN-IO

- *SERVER-TYPE

- *UI

- *USER

- *USER-NAME

- *UUID

## *BROWSER-IO

Format/Länge: | A8
Inhalt modifizierbar | Nein

Diese Systemvariable gibt an, ob die Anwendung in einem Web Browser läuft.

Damit eine Anwendung in einem Web Browser laufen kann, müssen Sie entweder das Natural Web I/O Interface oder Natural for Ajax benutzen.

In einer Anwendung, die über das Natural Web I/O Interface läuft, können Maps verwendet werden. In einer Anwendung, die über Natural for Ajax läuft, können (mittels `PROCESS PAGE`-Statement) sowohl Maps als auch Rich UI-Pages verwendet werden.

Diese Systemvariable kann einen der folgenden Werte enthalten:

Wert | Beschreibung
--- | ---
(empty) | Die Anwendung läuft nicht in einem Web Browser.
WEB | Die Anwendung läuft über das Natural Web I/O Interface. Die Verwendung des `PROCESS PAGE`-Statements ist nicht möglich.
RICHGUI | Die Anwendung läuft über Natural for Ajax. Die Verwendung des `PROCESS PAGE`-Statements ist möglich.

## *DEVICE

Format/Länge: | A8
Inhalt änderbar | Nein

Diese Systemvariable enthält den Typ des Geräts, von dem Natural aufgerufen wurde. Sie kann einen der folgenden Werte enthalten:

Wert | Beschreibung
--- | ---
`BATCH` | Batch-Betrieb.
`COLOR` | 3279-Kompatibilität. 3278-Bildschirm (Gerät mit erweiterter Attribut-Unterstützung).
`VIDEO` | 3270-Bildschirm, PC-Bildschirm, VT- oder X-Terminal oder ein beliebiger UNIX-Terminaltyp.
`TTY` | Teletype- oder anderer Start/Stop-Typ.
`PC` | Benutzung von Natural Connection ist aktiviert (durch Profilparameter `PC=ON` bzw. Terminalkommando `%+`).
`BTX` | BTX-Gerät.
`SPOOL` | 3270-Drucker.
`ASYNCH` | Asynchrone Session.
`BROWSER` | Web I/O-Bildschirmgerät (Server-Umgebung).

Anmerkung
In einer Server-Umgebung enthält `*DEVICE` den Wert `BROWSER`. Das gilt selbst dann, wenn der Server in einer Batch-Umgebung läuft. Der Grund dafür ist, dass das Gerät, das die Ausgabe macht, der Browser ist.

## *GROUP

Format/Länge: | A8
Inhalt modifizierbar | Nein

Diese Systemvariable ist nur unter Natural Security relevant. Sie enthält die ID, über die der Benutzer in einer geschützte Library angemeldet angeloggt ist, also die ID, über die er an die Library gelinkt ist. Dies ist entweder die ID der Gruppe, über die der Benutzer gelinkt ist, oder die Benutzerkennung (User-ID) des Benutzers selbst (falls er direkt an die Library gelinkt ist).

`*GROUP` enthält keinen Wert

- bei einem Logon in eine nicht geschützte Library (wo kein Link verwendet wird),

- wenn Natural Security nicht aktiv ist.

## *HARDCOPY

Format/Länge: | A8
Inhalt modifizierbar | Ja

Diese Systemvariable enthält die Kennung des Druckers, der verwendet wird, wenn das Terminalkommando `%H` eingegeben wird.

## *INIT-USER

Format/Länge: | A8
Inhalt modifizierbar | Nein

Diese Systemvariable enthält die Benutzerkennung (User-ID) des Benutzers.

#### Im Online-Modus:

Com-plete | Der Wert von `*INIT-USER` ist die Com-plete-Logon-Benutzerkennung.
CICS | Der Wert von `*INIT-USER` wird durch den Parameter `USERID` des Macros `NTCICSP`(abhängig von der Version des installierten Natural CICS Interface) bestimmt, wobei der erste Subparameter für CICS-Terminal-Sessions, der zweite für Nicht-Terminal-Sessions, d.h. für asynchrone, DPLed- usw. Sessions und der dritte für DTP-Sessions gilt. Bei Angabe von `ANY` für einen `USERID`-Subparameter wird jedes durch `EXEC CICS ASSIGN USERID (..)` zurückgegebene Zeichen, außer Leerzeichen, für den relevanten Session-Typ (Terminal- oder Nicht-Terminal oder DTP) als gültig angesehen. Bei Angabe von `YES` (`NCIPARM`) oder `ON` (`NTCICSP`) für einen `USERID`-Subparameter wird jedes durch `EXEC CICS ASSIGN USERID (..)` zurückgegebene Zeichen, außer Leerzeichen, als gültig angesehen, wenn es nicht mit der CICS-Standard-Benutzerkennung übereinstimmt und (nur bei Terminal-Session) wenn der Benutzer sich in CICS angemeldet hat. Die Angabe von `NO` (`NCIPARM`) oder `NO` (`NTCICSP`) für einen `USERID`-Subparameter bedeutet, dass der CICS-Benutzerkennungswert ignoriert wird. Wenn eine CICS-Benutzerkennung ungültig ist oder ignoriert wird, wird die editierte (nicht gepackte) CICS-Task-Nummer bei Nicht-Terminal-CICS-Sessions genommen, d.h. bei asynchronen oder DPLed usw.; bei Terminal-Sessions wird die 3-Byte-Operator ID genommen, wenn sie nicht leer ist, andernfalls wird die CICS-Terminalkennung genommen; bei DTP-Sessions wird die Pseudo-Terminalkennung genommen.
IMS TM | Der Wert von `*INIT-USER` ist die IMS TM Signon-Benutzerkennung.
TSO | Der Wert von `*INIT-USER` ist die TSO Logon-Benutzerkennung.

#### Im Batch-Modus:

`*INIT-USER` enthält den Namen des Jobs oder die Benutzerkennung, unter dem oder der die Natural-Session läuft.

z/OS | Der Wert von `*INIT-USER` wird durch den Subparameter `USERID` des Profilparameters `OSP` bzw. des Parameter-Makros `NTOSP` bestimmt:
Natural for IMS: BMP DLIBATCH | Der Wert von `*INIT-USER` wird durch den Subparameter `USERID` des Makros `NTIMSPE` bestimmt. Der Wert von `*INIT-USER` wird durch den Subparameter `USERID` des Makros `NTIMSPE` bestimmt. Bei `USERID=ON` wird der Wert vom Security-Zugriffskontrollblock (ACEE) des verwendeten Security-Pakets (z.B. RACF oder ACF2) genommen. Bei `USERID=OFF` wird der Wert von `*INIT-USER` durch den Namen des Jobs bestimmt, unter dem die Natural-Session läuft. Wenn kein Security-Paket verwendet wird, wird der Wert von `*INIT-USER` vom `USER`-Parameter der Job-Karte genommen. Wurde dort kein `USER`-Parameter angegeben, ist der Wert der gleiche wie bei der Einstellung `USERID=OFF`.

## *LANGUAGE

Format/Länge: | I1
Inhalt modifizierbar | Ja

Diese Systemvariable enthält den Sprachindikator (Sprachcode). Dieser Sprachindikator wird bei Editiermasken von Datumsfeldern sowie bei Natural- oder benutzergeschriebenen Fehlermeldungen, die über `INPUT`- oder `REINPUT`-Statements ausgegeben werden, verwendet.

Jedem Sprachcode ist ein aus einem Zeichen bestehender Code zugewiesen; in sprachabhängigen Anwendungen werden alle Und-Zeichen (&) in Namen von Objekten (z.B. Maps, Dialoge, Helproutinen, Subprogramme) durch diesen Ein-Zeichen-Code ersetzt. Einzelheiten zum Gebrauch des Und-Zeichens in Objektnamen finden Sie in den Beschreibungen der Statements `CALLNAT` (`operand1`), `FETCH` (`operand1`), `INCLUDE` (`copycode-name`) und `INPUT` (`USING MAP`) und beim Session-Parameter `HE` (`operand1`).

Es stehen Ihnen 60 verschiedene Sprachcodes zur Verfügung. Die Codes sind unten aufgeführt.

Die Systemvariable `*LANGUAGE` wird vom Natural-Profilparameter `ULANG` gesetzt, der die für Datums-Editiermasken, Systemmeldungen, Benutzermeldungen, Hilfetexte, Helproutinen und mehrsprachige Masken zu benutzende Sprache festlegt.

Auf Großrechnern benutzt der Compiler zur Bestimmung des Map-Namens immer den aktuellen Wert von `*LANGUAGE`. Zur Laufzeit versucht Natural for z/OS zuerst die Map mit der aktuellen `*LANGUAGE`-Einstellung zu lesen. Wenn sie nicht gefunden wird, versucht Natural die Map mit der Standard-Sprache zu finden.

Einzelheiten zum Einsatz von Sprachcodes entnehmen Sie dem Abschnitt Mehrsprachige Benutzeroberflächen im Leitfaden zur Programmierung.

#### Sprachcode-Zuordnungen

Den einzelnen Sprachcodes sind die folgenden Sprachen zugeordnet (die rechte Spalte zeigt die jeweiligen einbuchstabigen Codes für sprachabhängige Objektnamen):

- Einbyte-Sprachen (Schreibrichtung von links nach rechts) mit lateinischen Kleinbuchstaben

- Einbyte-Sprachen (Schreibrichtung von links nach rechts) ohne lateinische Kleinbuchstaben

- Einbyte-Sprachen (beide Schreibrichtungen) ohne lateinische Kleinbuchstaben

- Vom Benutzer zugewiesene Sprachen

- Multibyte-Sprachen

- Doppelbyte-Sprachen

### Einbyte-Sprachen (Schreibrichtung von links nach rechts) mit lateinischen Kleinbuchstaben

Code | Sprache | Zeichencode in sprachspezifischen Objektnamen
--- | --- | ---
1 | Englisch | 1
2 | Deutsch | 2
3 | Französisch | 3
4 | Spanisch | 4
5 | Italienisch | 5
6 | Niederländisch | 6
7 | Türkisch | 7
8 | Dänisch | 8
9 | Norwegisch | 9
10 | Albanisch | A
11 | Portugiesisch | B
12 | Chinesisch Lateinschrift (Taiwan) | C
13 | Tschechisch | D
14 | Slowakisch | E
15 | Finnisch | F
16 | Ungarisch | G
17 | Isländisch | H
18 | Koreanisch | I
19 | Polnisch | J
20 | Rumänisch | K
21 | Schwedisch | L
22 | Kroatisch | M
23 | Katalanisch | N
24 | Baskisch | O
25 | Afrikaans | P

### Einbyte-Sprachen (Schreibrichtung von links nach rechts) ohne lateinische Kleinbuchstaben

Code | Sprache | Zeichencode in sprachspezifischen Objektnamen
--- | --- | ---
26 | Bulgarisch | Q
27 | Griechisch | R
28 | Japanisch (Katakana) | S
29 | Russisch | T
30 | Serbisch | U

### Einbyte-Sprachen (beide Schreibrichtungen) ohne lateinische Kleinbuchstaben

Code | Sprache | Zeichencode in sprachspezifischen Objektnamen
--- | --- | ---
31 | Arabisch | V
32 | Farsi (Iran) | W
33 | Hebräisch | X
34 | Urdu (Pakistan) | Y
35 | (für zukünftige Verwendung reserviert) | Z
36 | (für zukünftige Verwendung reserviert) | a
37 | (für zukünftige Verwendung reserviert) | b
38 | (für zukünftige Verwendung reserviert) | c
39 | (für zukünftige Verwendung reserviert) | d
40 | (für zukünftige Verwendung reserviert) | e

### Vom Benutzer zugewiesene Sprachen

Code | Sprache | Zeichencode in sprachspezifischen Objektnamen
--- | --- | ---
41 | (Sie können diesem Code eine Sprache zuweisen) | f
42 | (Sie können diesem Code eine Sprache zuweisen) | g
43 | (Sie können diesem Code eine Sprache zuweisen) | h
44 | (Sie können diesem Code eine Sprache zuweisen) | i
45 | (Sie können diesem Code eine Sprache zuweisen) | j
46 | (Sie können diesem Code eine Sprache zuweisen) | k
47 | (Sie können diesem Code eine Sprache zuweisen) | l
48 | (Sie können diesem Code eine Sprache zuweisen) | m
49 | (Sie können diesem Code eine Sprache zuweisen) | n
50 | (Sie können diesem Code eine Sprache zuweisen) | o

### Multibyte-Sprachen

Code | Sprache | Zeichencode in sprachspezifischen Objektnamen
--- | --- | ---
51 | Hindi | p
52 | Malaiisch | q
53 | Thai | r
54 | (für zukünftige Verwendung reserviert) | s
55 | (für zukünftige Verwendung reserviert) | t
56 | (für zukünftige Verwendung reserviert) | u

### Doppelbyte-Sprachen

Code | Sprache | Zeichencode in sprachspezifischen Objektnamen
--- | --- | ---
57 | Chinesisch (Volksrepublik China) | v
58 | Chinesisch (Taiwan) | w
59 | Japanisch (Kanji) | x
60 | Koreanisch | y

## *NATVERS

Format/Länge: | A8
Inhalt modifizierbar | Nein

Diese Systemvariable enthält die Natural-Version (außer den Cumulative Fix-Informationen).

Informationen zum Cumulative Fix sind in der Systemvariable `*PATCH-LEVEL` enthalten.

Weitere Informationen siehe Version im Glossary.

## *NET-USER

Format/Länge: | A253
Inhalt modifizierbar | Nein

Standardmäßig ist der Wert von `*NET-USER` identisch mit dem von `*USER`.

## *PARM-USER

Format/Länge: | A253
Inhalt modifizierbar | Nein

Diese Systemvariable enthält den Namen des aktuell benutzten Parametermoduls (wenn `PARM=name` nicht als ein dynamischer Parameter angegeben wurde, ist `*PARM-USER` leer).

## *PATCH-LEVEL

Format/Länge: | A8
Inhalt modifizierbar | Nein

Diese Systemvariable enthält die aktuelle Cumulative Fix-Nummer.

Informationen zur Versionsnummer, siehe `*NATVERS` und Version im Glossary.

## *PID

Format/Länge: | A32
Inhalt modifizierbar | Nein

Diese Systemvariable enthält eine eindeutige Session-ID.

## *SCREEN-IO

Format/Länge: | L
Inhalt modifizierbar | Nein

Diese Systemvariable zeigt an, ob eine Bildschirm-Eingabe/Ausgabe möglich ist oder nicht.

Sie kann einen der folgenden Werte enthalten:

TRUE | Bildschirm-Eingabe/Ausgabe ist möglich.
FALSE | Bildschirm-Eingabe/Ausgabe ist nicht möglich.

Im Falle einer dialog-orientierten Anwendung wird `*SCREEN-IO` mit `TRUE` initialisiert.

In einer Natural-Batch-Session wird `*SCREEN-IO` mit `FALSE` initialisiert (außer bei einem Remote Development Server).

Wenn Natural als Db2 Stored Procedures Server (`*SERVER-TYPE` = DB2-SP) oder als RPC Server (`*SERVER-TYPE` = RPC) `*SCREEN-IO` gestartet wird, wird `*SCREEN-IO` auf `FALSE` gesetzt.

Wenn `*SCREEN-IO` auf `FALSE` gesetzt ist und ein Statement ausgeführt wird, das einen Dialog mit dem Benutzer bedingt, gibt Natural den Fehler NAT0723 aus.

## *SERVER-TYPE

Format/Länge: | A32
Inhalt modifizierbar | Nein

Diese Systemvariable zeigt an, als welcher Server-Typ Natural gestartet wurde.

Sie kann einen der folgenden Werte enthalten:

DB2-SP | Natural Db2 Stored Procedures Server
DEVELOP | Natural Development Server
RPC | Natural RPC Server
WEBIO | Natural Web I/O Interface Server

Wenn Natural nicht als Server gestartet wird, wird `*SERVER-TYPE` auf Leerzeichen gesetzt.

Anmerkung
`*SERVER-TYPE` bezieht sich auf Natural als Ganzes, nicht auf das gerade ausgeführte Natural-Programm (das innerhalb eines Server-Naturals als Client- oder Server-Programm ausgeführt werden kann).

## *UI

Format/Länge: | A16
Inhalt modifizierbar | Nein

Diese Systemvariable enthält den Typ der verwendeten Benutzeroberfläche:

CHARACTER | Zeichen-orientierte Benutzeroberfläche.
GUI | Graphische Benutzeroberfläche.

## *USER

Format/Länge: | A8
Inhalt modifizierbar | Nein

Diese Systemvariable enthält die Benutzerkennung (User-ID), mit der der Benutzer Natural über die Natural-Security-Logon-Prozedur aufgerufen hat.

Wenn der Profilparameter `AUTO=ON` (Automatic Logon) gesetzt ist oder wenn Natural Security nicht aktiv ist, entspricht der Wert von `*USER` dem von `*INIT-USER`.

## *USER-NAME

Format/Länge: | A32
Inhalt modifizierbar | Nein

Wenn Natural Security installiert ist, enthält diese Systemvariable den Namen des gerade aktiven Natural-Benutzers.

Wenn Natural Security nicht installiert ist, enthält diese Systemvariable den Wert `SYSTEM`.

## *UUID

Format/Länge: | B16
Inhalt modifizierbar | Nein

Die Systemvariable `*UUID` enthält eine binäre (16-Byte-)Zeichenkette, die einen Universally Unique Identifier (UUID) darstellt.

Natural generiert `*UUID` als UUID der Version 8, entsprechend den Spezifikationen von RFC 9562.

`*UUID`-Struktur:

Die UUID wird anhand der folgenden Informationen erzeugt.

- Erweiterter TOD-Clock-Wert
  Dieser Wert wird mit der Anweisung STCKE (Store Clock Extended) ermittelt und stellt einen Zeitstempel dar, der auf einer Zeitperiode ab dem 1. Januar 1900 basiert.

- Zufallswert
  Die Zufallszahl wird aus dem STCKE-Wert, der CPU-Seriennummer und dem LPAR-Namen abgeleitet, zusammen mit zufälligen XORs und Primzahl-basierten Multiplikationen, um die Entropie zu erhöhen.

- 4 Bits, die die Versionsnummer darstellen

- 4 Bits, die die Variantennummer darstellen

Beispiel:

### On this page

- *BROWSER-IO
- *DEVICE
- *GROUP
- *HARDCOPY
- *INIT-USER
- *LANGUAGE
- *NATVERS
- *NET-USER
- *PARM-USER
- *PATCH-LEVEL
- *PID
- *SCREEN-IO
- *SERVER-TYPE
- *UI
- *USER
- *USER-NAME
- *UUID