Natural Environment-Related System Variables

This document covers the following topics:


*BROWSER-IO

Format/length: A8
Content modifiable: No

This system variable indicates that the application is running in a web browser. An application can run in a web browser either via the Natural Web I/O Interface or by using Natural for Ajax. An application that is running with the Natural Web I/O Interface can use maps. An application that is running with Natural for Ajax can use both maps and rich GUI pages (using the PROCESS PAGE statement).

This system variable may contain one of the following values:

Value Description
(empty) The application is not running in a web browser.
WEB The application is running with the Natural Web I/O Interface. It cannot use the PROCESS PAGE statement.
RICHGUI The application is running with Natural for Ajax. It can use the PROCESS PAGE statement.

*DEVICE

Format/length: A8
Content modifiable: No

This system variable contains the device type/mode from which Natural has been invoked. It may contain one of the following values:

Value Description
BATCH Batch mode.
COLOR 3279 compatibility.

3278 screen device (device with extended attribute support).

VIDEO 3270 screen device, PC screen device, VT or X terminal or any type of UNIX terminal.
TTY Teletype or other start/stop device.
PC Usage of Natural Connection has been activated (by profile parameter PC=ON or terminal command %+).
BTX BTX device.
SPOOL 3270 printer device.
ASYNCH Asynchronous session.
BROWSER Web I/O screen device (server environment).

Note:
In a server environment, *DEVICE contains the value BROWSER. This holds even if the server is running in a batch environment. The reason is that the device which makes the output is the browser.

*GROUP

Format/length: A8
Content modifiable: No

This system variable is applicable under Natural Security only. It contains the ID via which a user is logged on to a protected library, that is, the ID via which the user is linked to the library. This may be either the ID of the group via which the user is linked or the user's own ID (if he or she is linked directly).

*GROUP will be blank under the following conditions:

  • in the case of a logon to an unprotected library (where no link is used),

  • if Natural Security is not active.

*HARDCOPY

Format/length: A8
Content modifiable: Yes

This system variable contains the name of the hardcopy device which will be used when the terminal command %H is used.

*INIT-USER

Format/length: A8
Content modifiable: No

This system variable contains the user ID of the user.

In Online Mode:

Com-plete The value of *INIT-USER is the Com-plete logon user ID.
CICS The value of *INIT-USER is determined by the USERID parameter of the macro NTCICSP, where the first subparameter applies to CICS terminal sessions, the second subparameter applies to non-terminal sessions (for example, asynchronous sessions or sessions launched through DPL), and the third subparameter applies to DTP sessions.

A specification of ANY for a USERID subparameter means that any non-blank value returned by EXEC CICS ASSIGN USERID (..) is considered to be valid for the relevant session type (terminal, non-terminal or DTP).

A specification of ON for a USERID subparameter means that a non-blank value is considered to be valid if it is different from the CICS default user ID and, for terminal sessions only, if the user has signed on in CICS.

A specification of OFF for a USERID subparameter means that the CICS user ID value is ignored.

When a CICS user ID is invalid or ignored, the edited (unpacked) CICS task number is taken for non-terminal sessions, such as asynchronous sessions or sessions launched through DPL. For terminal sessions, the 3-byte CICS operator ID is taken when it is non-blank; otherwise, the CICS terminal ID is taken. For DTP sessions, the pseudo terminal ID is taken.

IMS TM The value of *INIT-USER is the IMS TM sign-on user ID.
TSO The value of *INIT-USER is the TSO logon user ID.
TIAM The value of *INIT-USER is determined by the parameter USERID in the macro NAMTIAM: If USERID=USER or NO (default), it contains the BS2000 job name specified with the LOGON command; if no BS2000 job name has been specified, *INIT-USER contains the same as with USERID=SYSTEM (or YES), that is, the BS2000 user ID.
openUTM *INIT-USER contains the user ID defined for the openUTM application; if no user IDs are defined for the openUTM application, *INIT-USER is identical to *INIT-ID.

In Batch-Mode:

*INIT-USER contains the name of the job or the user ID under which the Natural session is running.

z/OS The value of *INIT-USER is determined by the keyword subparameter USERID of profile parameter OSP or macro NTOSP.
Natural for IMS TM:

BMP
DLIBATCH

The value of *INIT-USER is determined by the USERID keyword subparameter of the NTIMSPE macro. If USERID=ON, the value will be taken from the security access control block (ACEE) of the security package (for example, RACF or ACF2) being used. If USERID=OFF, the value of *INIT-USER is determined by the name of the job under which the Natural session is running. If no security package is used, the value will be taken from the USER parameter in the job card. If no USER parameter is specified, the value will be same as with USERID=OFF.
z/VSE The value of *INIT-USER is determined by the keyword subparameter USERID of profile parameter VSEP or macro NTVSEP.

*LANGUAGE

Format/length: I1
Content modifiable: Yes

This system variable contains the language indicator (language code). This language indicator is used for edit masks of date fields, Natural error messages and user error messages as used in the statements INPUT and REINPUT.

A one-character code is assigned to each language code; this one-character code is used to replace all ampersand characters (&) in names of language-specific objects (for example, maps, dialogs, helproutines, subprograms). For details on the use of the ampersand character in Natural object names, see the descriptions of the statements CALLNAT (operand1), FETCH (operand1), INCLUDE (copycode-name) and INPUT (USING MAP) and the session parameter HE (operand1).

You can specify up to 60 different language codes. The codes are listed below.

The system variable *LANGUAGE is set by the Natural profile parameter ULANG which determines the language to be used for date edit masks, system messages, user messages, help texts, help routines and multi-lingual maps.

The compiler always uses only the current value of *LANGUAGE to determine the map name. During runtime, Natural tries to read the map with the current *LANGUAGE setting first. If not found, then it tries to find the map with the default language.

For details on how to use language codes, see also Multilingual User Interfaces in the Programming Guide.

Language Code Assignments

The following languages are assigned to the individual language codes (the right-hand column shows the corresponding one-character codes to be used in names of language-specific objects):

Left-to-Right Single-Byte Languages with Latin Lower Case

Code Language Character Code in Language-Specific Object Names
1 English 1
2 German 2
3 French 3
4 Spanish 4
5 Italian 5
6 Dutch 6
7 Turkish 7
8 Danish 8
9 Norwegian 9
10 Albanian A
11 Portuguese B
12 Chinese Latin (Taiwan) C
13 Czech D
14 Slovak E
15 Finnish F
16 Hungarian G
17 Icelandic H
18 Korean I
19 Polish J
20 Romanian K
21 Swedish L
22 Croatian M
23 Catalan N
24 Basque O
25 Afrikaans P

Left-to-Right Single-Byte Languages without Latin Lower Case

Code Language Character Code in Language-Specific Object Names
26 Bulgarian Q
27 Greek R
28 Japanese (Katakana) S
29 Russian T
30 Serbian U

Bi-directional Single-Byte Languages without Latin Lower Case

Code Language Character Code in Language-Specific Object Names
31 Arabic V
32 Farsi (Iran) W
33 Hebrew X
34 Urdu (Pakistan) Y
35 (reserved for future use) Z
36 (reserved for future use) a
37 (reserved for future use) b
38 (reserved for future use) c
39 (reserved for future use) d
40 (reserved for future use) e

User-Assigned Languages

Code Language Character Code in Language-Specific Object Names
41 (free for you to assign a language) f
42 (free for you to assign a language) g
43 (free for you to assign a language) h
44 (free for you to assign a language) i
45 (free for you to assign a language) j
46 (free for you to assign a language) k
47 (free for you to assign a language) l
48 (free for you to assign a language) m
49 (free for you to assign a language) n
50 (free for you to assign a language) o

Multiple-Byte Languages

Code Language Character Code in Language-Specific Object Names
51 Hindi p
52 Malayan q
53 Thai r
54 (reserved for future use) s
55 (reserved for future use) t
56 (reserved for future use) u

Double-Byte Languages

Code Language Character Code in Language-Specific Object Names
57 Chinese (People's Republic of China) v
58 Chinese (Republic of China) w
59 Japanese (Kanji) x
60 Korean y

*NATVERS

Format/length: A8
Content modifiable: No

This system variable contains the Natural version (excluding the cumulative fix information), for example: 04.02.01.

The cumulative fix information is contained in the system variable *PATCH-LEVEL.

For further information, see Version in the Glossary.

*NET-USER

Format/length: A253
Content modifiable: No

The value of *NET-USER is identical to the one of *USER.

*PARM-USER

Format/length: A253
Content modifiable: No

This system variable contains the name of the parameter module currently in use (if PARM=name has not been specified as a dynamic parameter, *PARM-USER contains blanks).

*PATCH-LEVEL

Format/length: A8
Content modifiable: No

This system variable contains the current cumulative fix number. See also the system variable *NATVERS and Version in the Glossary.

*PID

Format/length: A32
Content modifiable: No

This system variable contains a unique session ID.

*SCREEN-IO

Format/length: L
Content modifiable: No

This system variable indicates whether a screen I/O is possible or not.

It can contain one of the following values:

TRUE Screen I/O is possible.
FALSE Screen I/O is not possible.

In an interactive Natural session, *SCREEN-IO is initialized with TRUE. In a Natural batch session, *SCREEN-IO is initialized with FALSE (except for a Natural Development Server).

If Natural was started as a DB2 Stored Procedures server (*SERVER-TYPE=DB2-SP) or as RPC server (*SERVER-TYPE=RPC) *SCREEN-IO is set to FALSE.

When *SCREEN-IO is set to FALSE and a statement which requires user interaction is executed, Natural issues error NAT0723.

*SERVER-TYPE

Format/length: A32
Content modifiable: No

This system variable indicates the server type Natural has been started as.

It can contain one of the following values:

DB2-SP Natural DB2 Stored Procedures server
DEVELOP Natural development server
RPC Natural RPC server
WEBIO Natural Web I/O Interface server

If Natural is not started as a server, *SERVER-TYPE is set to blanks.

Note:
*SERVER-TYPE refers to Natural as a whole, not to the Natural program currently being executed (which may run as a client program or as a server program within a server Natural).

*UI

Format/length: A16
Content modifiable: No

This system variable indicates the type of user interface being used:

CHARACTER Character-oriented user interface.
GUI Graphical user interface.

*USER

Format/length: A8
Content modifiable: No

This system variable contains the user ID as taken from the Natural Security logon.

If the profile parameter AUTO=ON (Automatic Logon) is set or if Natural Security is not active, the value of *USER is identical to that of *INIT-USER.

*USER-NAME

Format/length: A32
Content modifiable: No

If Natural Security is installed, this variable contains the name of the user who is currently logged on to Natural.

If Natural Security is not active, the default is SYSTEM.