12.2.1 General Variables

These system variables are supplied in the shipped version of LANSA. Do not change these system variables or delete them from the system.

System Variable

Description

Type

Len

Dec

*AT_CHAR

The "@" character

A

1

 

*BLANK

Blank/blanks variable

A

1

 

*BLANKS

Blank/blanks variable

A

1

 

*CENTURY_GREATER

Century when date greater than switch

A

2

 

*CENTURY_LESSEQUAL

Century when date less/equal to switch

A

2

 

*CENTURY_SWITCH

Century compare date

A

2

 

*CHECKBOXSELECTED

Selected check box value

A

1

 

*COMPANY

Name of current company/organization

A

30

 

*COMPILECPU

The CPU that the runtime is compiled for. This variable is provided for completeness.
Consider *OSAPI or *OSBITNESS before using this one to make your program more portable. For example, you may be targeting a Tablet and Windows Desktop and so you could differentiate between them using *COMPILECPU, but it may be better to use *OSAPI as behavior is likely to be common across all WINRT devices and all Windows Desktop devices, no matter which CPU those devices are using.

Intel x86 and Intel x86-x64 chips – INTELX (Intel Itanium (IA-64) is NOT an environment that LANSA supports)
ARM chips - ARM
Power chips - POWER

A

6

 

*COMPONENT

Name of the active component when referenced in a component context (i.e. in or from RDMLX logic) or equivalent to *FUNCTION when referenced in a non-component context

A

10

 

*CPFREL

Current IBM i version level.

N

3

1

*CPU_NUMBER

CPU Serial Number.
On IBM i platforms, a valid value is only returned in RDML applications.

N

7

0

*CPUTYPE

CPU type. This variable is for backwards compatibility only.
Use *OSAPI and/or *OSBITNESS instead.
When used, AS/400, iSeries and IBM i all return the value AS400.
Linux returns the value UNIX
Windows returns the value WINNT
Web browsers return WEB.

A

5

 

*DATE

Numeric date in installation format. Refer to the Date Note.

N

6

0

*DATE8

Numeric 8 digit date in installation format Refer to the Date Note.

N

8

0

*DATE8C

Character 8 digit date in installation format Refer to the Date Note.

A

8

 

*DATEC

Character date in installation format. Refer to the Date Note.

A

6

 

*DATETIME

Current date and time (numeric) Refer to the Date Note.

N

14

0

*DATETIMEC

Current date and time (character) Refer to the Date Note.

A

14

 

*DAY

Current day (numeric) Refer to the Date Note.

N

2

0

*DAYC

Current day (character) Refer to the Date Note.

A

2

 

*DDMMYY

Numeric date in format DDMMYY Refer to the Date Note.

N

6

0

*DDMMYYC

Character date in format DDMMYY Refer to the Date Note.

A

6

 

*DDMMYYYY

Numeric date in format DDMMYYYY Refer to the Date Note.

N

8

0

*DDMMYYYYC

Character date in format DDMMYYYY Refer to the Date Note.

A

8

 

*DEVELOPMENTLANGUAGE

Development Language
For LANSA internal use only.

A

4

 

*DOLLAR_CHAR

The "$" character

A

1

 

*FIELD_PREFIX

Field prefix

A

1

 

*FUNCTION

Current LANSA function name
or
name of active component when referenced in a component context, that is, in or from RDMLX logic.

A

7

 

*GROUP_AUTHORITY

Group profile authority

A

7

 

*GROUP_OWNER

Group profile owner

A

10

 

*GROUP_PROFILE

Group profile

A

10

 

*GUID

Globally Unique Identifier. Usually incorporated into a File using the field STD_GUID.

A

32

 

*GUIDSEQUENTIAL

Sequential Globally Unique Identifier. Can be useful as a primary key in a database.

Note: Same as *GUID on Linux.

A

32

 

*GUIDEVICE

GUI device in use (Y=GUI, N=NPT)

A

1

 

*JOBMODE

Current job mode (B=batch, I=inter)

A

1

 

*JOBNAME

Current IBM i job name

A

10

 

*JOBNBR

Current IBM i job number

A

6

 

*JULIAN

Numeric date in Julian format Refer to the Date Note.

N

5

0

*JULIANC

Character date in Julian format Refer to the Date Note.

A

5

 

*LANGUAGE

Current language code

A

4

 

*LANGUAGE_DESC

Current language description

A

40

 

*LANGUAGE_IGC

Current language is IGC/DBCS (Y/N)

A

1

 

*LANGUAGE_LRTB

Current language is Left to Right (Y/N)

A

1

 

*LANGUAGE_RLTB

Current language is Right to Left (Y/N)

A

1

 

*LANSACOMLIB

LANSA communication library

A

10

 

*LANSADTALIB

LANSA system data/file library

A

10

 

*LANSAPGMLIB

LANSA system program library

A

10

 

*LASTFUNCTION

Last LANSA function name

A

7

 

*MESSAGE_FILE

Message file name

A

10

 

*MMDDYY

Numeric date in format MMDDYY. Refer to the Date Note.

N

6

0

*MMDDYYC

Character date in format MMDDYY. Refer to the Date Note.

A

6

 

*MMDDYYYY

Numeric date in format MMDDYYYY. Refer to the Date Note.

N

8

0

*MMDDYYYYC

Character date in format MMDDYYYY. Refer to the Date Note.

A

8

 

*MONTH

Current month (numeric). Refer to the Date Note.

N

2

0

*MONTHC

Current month (character), Refer to the Date Note.

A

2

 

*MSGQLIB

Current message queue library

A

10

 

*MSGQNAME

Current message queue name

A

10

 

*NEXTFUNCTION

Default next LANSA function name

A

7

 

*ON_CLIENT_SYSTEM

On IBM i running an RDML function, value is always N.

In all other situations, including an RDMLX function on an IBM i, Y indicates that the currently executing LANSA object has direct access to a user interface, otherwise this value is N.

Note: When running a LANSA object from a DB2 Trigger on IBM i the value is Y. Use of *CPUTYPE = AS400 can be used to distinguish this situation.

A

1

 

*ON_SERVER_SYSTEM

On IBM i running an RDML function, value is always Y.

In all other situations, including an RDMLX function on IBM i, Y indicates that this LANSA object was executed through a server interface such as SuperServer or Visual LANSA with web, otherwise this value is N. Further, Y indicates that the currently executing LANSA object does NOT have direct access to a user interface.

Note: When running a LANSA object from a DB2 Trigger on IBM i, the value is N. Use of *CPUTYPE = AS400 can be used to distinguish this situation.

A

1

 

*ORGANISATION

Name of current company/organization

A

30

 

*OSAPI

Operating System API Name.
This is a more precise replacement for *CPUTYPE which is less likely to change the name of its values.
Windows Desktop - WIN32 (Note Windows Desktop 64-bit uses WIN32 API)
Windows Metro – WINRT
IBM i – IBMI
Linux - LINUX

A

5

 

*OSBITNESS

Application Bitness
Indicates the bitness  of a built application i.e. 32-bit or 64-bit application.
This can be used, for example, to access different registry hives when using a 32-bit application as opposed to a 64-bit application on Windows. Or, to load a DLL which only exists in 32-bit.
Executing a 32-bit application in a 32-bit or 64-bit operating system returns 32
Executing a 64-bit application in a 64-bit operating system returns 64

A new system variable will be created to actually return the Operating System bitness  

N

3

 

*OUTQLIB

Current output queue library name

A

10

 

*OUTQNAME

Current output queue name

A

10

 

*PART_DIR

The root directory of the current partition's system. For example, for Windows 32-bit: D:\X_WIN95\X_LANSA\X_DEM\
For Windows 64-bit:
D:\X_WIN64\X_LANSA\X_DEM\
On IBM i platforms, a valid value is only returned in RDMLX applications.

A

256

 

*PART_DIR_EXECUTE

The directory of the current partition's EXECUTE objects. For example, for Windows 32-bit:
D:\X_WIN95\X_LANSA\X_DEM\EXECUTE\
For Windows 64-bit:
D:\X_WIN64\X_LANSA\X_DEM\EXECUTE\
On IBM i platforms, a valid value is only returned in RDMLX applications.

A

256

 

*PART_DIR_OBJECT

The directory of the current partitions OBJECT objects. For example, for Windows 32-bit: D:\X_WIN95\X_LANSA\X_DEM\OBJECT\
For Windows 64-bit:
D:\X_WIN64\X_LANSA\X_DEM\OBJECT\
On IBM i platforms, a valid value is only returned in RDMLX applications.

A

256

 

*PART_DIR_SOURCE

The directory of the current partition's SOURCE objects. For example, for Windows 32-bit:
D:\X_WIN95\X_LANSA\X_DEM\SOURCE\
For Windows 64-bit:
D:\X_WIN64\X_LANSA\X_DEM\SOURCE\
On IBM i platforms, a valid value is only returned in RDMLX applications.

A

256

 

*PART_DRIV

This should not be used as it does not support UNC naming.
The drive of the current partition's LANSA system. A driver letter followed by a colon. For example: C: or D: or E: This is for backward compatibility. 
On IBM i platforms, a valid value is only returned in RDMLX applications.

A

3

 

*PART_RDMLX

Y if current partition is RDMLX enabled, other wise N.

A

1

 

*PARTDTALIB

Current partition's data/file library

A

10

 

*PARTITION

Current partition

A

3

 

*PARTITION_DESC

Current partition description

A

40

 

*PARTPGMLIB

Current partition's RDML pgm library

A

10

 

*PATHDELIM

'\' if running on an MS Windows system
'/' if running on a Linux system.
On IBM i platforms, a valid value is only returned in RDMLX applications.

A

1

 

*PROCESS

Current LANSA process name
or
name of active component when referenced in a component context, that is, in or from RDMLX logic.

A

10

 

*PRODREL

Current LANSA version level

N

3

1

*PRODUCT

Product name (i.e.: LANSA)

A

5

 

*QUOTE

Quote character (i.e. ')

A

1

 

*RADBUTTONSELECTED

Selected Radio Button Value

A

1

 

*ROOT_DIR

LANSA Root directory

A

256

 

*SYS_DIR

The root directory in which the LANSA system is located.
For example, for Windows 32-bit:
D:\X_WIN95\X_LANSA\
For Windows 64-bit:
D:\X_WIN64\X_LANSA\
On IBM i platforms, a valid value is only returned in RDMLX applications.

A

256

 

*SYS_DIR_EXECUTE

The directory of the LANSA system's EXECUTE objects. For example, for Windows 32-bit: D:\X_WIN95\X_LANSA\EXECUTE\
For Windows 64-bit:
D:\X_WIN64\X_LANSA\EXECUTE\
On IBM i platforms, a valid value is only returned in RDMLX applications.

A

256

 

*SYS_DIR_OBJECT

The directory of the LANSA system OBJECT objects. For example, for Windows 32-bit:
D:\X_WIN95\X_LANSA\OBJECT\
For Windows 64-bit:
D:\X_WIN64\X_LANSA\OBJECT\
On IBM i platforms, a valid value is only returned in RDMLX applications.

A

256

 

*SYS_DIR_SOURCE

The directory of the LANSA system SOURCE objects. For example, for Windows 32-bit: D:\X_WIN95\X_LANSA\SOURCE\
For Windows 64-bit:
D:\X_WIN64\X_LANSA\SOURCE\

On IBM i platforms, a valid value is only returned in RDMLX applications.

A

256

 

*SYS_DRIV

For backward compatibility. Should not be used as it does not support UNC naming.
The drive of the LANSA system. A driver letter followed by a colon. For example: C: or D: or E:.
On IBM i platforms, a valid value is only returned in RDMLX applications.

A

3

 

*TEMP_DIR

The directory in which temporary files / objects should be created e.g.: D:\TEMP\

A

256

 

*TEMP_DRIV

For backward compatibility. Should not be used as it does not support UNC naming.
The drive in which temporary files/objects should be created. For example: C: or D: or E: (A driver letter followed by a colon.)
On IBM i platforms, a valid value is only returned in RDMLX applications.

A

3

 

*TIME

Current time (numeric)

N

6

0

*TIMEC

Current time (character)

A

6

 

*TIMEDATE

Current time and date (numeric)

N

12

0

*TIMEDATE8

Current time and 8 digit date (numeric)

N

14

0

*TIMEDATE8C

Current time and 8 digit date (character)

A

14

 

*TIMEDATEC

Current time and date (character)

A

12

 

*TIMESTAMP_DFT

Timestamp default value

A

26

 

*TIMESTAMP_HIVAL

Timestamp high value

A

26

 

*TIMESTAMP_LOVAL

Timestamp low value

A

26

 

*VISUAL_LANSA

Y if executing on a Visual LANSA system, otherwise 'N'

A

1

 

*WEBIPADDR

IP address of the current user.

A

50

 

*WEBMODE

Y indicates that LANSA application is running under web-enabled mode.

A

1

 

*WEBPATHINFO

PATH_INFO Web server environment variable

A

255

 

*WEBREFERRER

HTTP_REFERER Web server environment variable

A

255

 

*WEBSCRIPTNAME

SCRIPT_NAME Web server environment variable

A

255

 

*WEBUSER

Web Server/400 or Internet Connection Server for IBM i user profile

A

10

 

*XMLMODE

Y indicates that LANSA application is running as XML/Java Thin Client

A

1

 

*YEAR

Current year (numeric). Refer to the Date Note.

N

2

0

*YEARC

Current year (character). Refer to the Date Note..

A

2

 

*YYMMDD

Numeric date in format YYMMDD. Refer to the Date Note.

N

6

0

*YYMMDDC

Character date in format YYMMDD. Refer to the Date Note.

A

6

 

*YYYY

Numeric year in format YYYY. Refer to the Date Note.

N

4

0

*YYYYC

Character year in format YYYY. Refer to the Date Note.

A

4

 

*YYYYMMDD

Numeric date in format YYYYMMDD. Refer to the Date Note.

N

8

0

*YYYYMMDDC

Character date in format YYYYMMDD. Refer to the Date Note.

A

8

 

*ZERO

Zero (0) variable

N

1

0

*ZEROES

Zero (0) variable

N

1

0

*ZEROS

Zero (0) variable

N

1

0

 

 

Date Note

For any LANSA-supplied system variable that contains or is derived from date, the following is true:
The date is derived from either the system value QDATE or the job attribute date, depending on the DATE_SRCE value of the LANSA command, at the point in time that the LANSA environment was entered. This means that it does not change when the system value QDATE changes or the job date is changed. Applications requiring this feature should use a user-defined dynamic system variable.

For information about creating and using System Variables, refer to: