Identifiers in ESL

Identifiers in ESL

Identifiers

Identifiers in the script provide the access to the value of an object or a local variable. In the case of a structured value, it is possible to access the whole value, the row of a structured variable, or its item through an identifier.

The following figure shows and names all possible methods of reference to a value, which are used in ESL:

Value identifier
Value identifier

Notes:

  • Only colored boxes show a value.

  • A green-colored box represents a value (group of values in case of a structure), with no references to other objects (ALIAS or column of the Object type).

  • A red-colored box represents a value (group of values in case of a structure), with references to other objects (ALIAS or column of the Object type).

  • A combination of red and green colors represents a value (group of values in case of a structure) where values and references may be combined.

  • Each method of reference to value is named (red text above box).

Examples for individual types of references to value:

Reference type (name)

Value description

Example

IC_C

Constant.

"Text", 1, ...

IC_HOBJ_EXPR

Expression of INT type that is interpreted as the reference to an object. The object is enclosed in brackets on the position where the identifier is expected.

(20), (Sec\HBJ)

IC_VOBJ_EXPR

Three comma-separated expressions enclosed in brackets:

  1. unique identifier - an expression of HOBJ type

  2. row number - an expression of the INT type

  3. column number - an expression of the INT type

Note: The reference may only be used as a reference to a historical value for the GETARCHVAL, GETARCHARR, and SETDT_LINEOBJ actions.

(H.Struct\HBJ, 2, 3)

IC_O

An object of a type other than the Structured variable.

Sec, SysTime, I/O tag, ...

IC_O_R

An object of Structured variable type.

SV.Structure

IC_O_R_R

The row of object Structured variable type. If the index is 0, it means the whole value, like IC_O_R.

SV.Structure[2], SV.Structure[0]

IC_O_R_RIA

The row item of objects of the Structured variable type. The item is Object type (a reference to an object).

SV.Structure[2]^Object

IC_O_R_RIN

The row item of objects of the Structured variable type. The item is not an Object type (a reference to an object).

SV.Structure[2]^Text

IC_L

A local variable of BOOL, INT, TEXT, TIME, or REAL types.

 

IC_L_CONST

A constant (initialized) local variable of BOOL, INT, TEXT, TIME, or REAL type.

 

IC_L_AN

A local variable of ALIAS type (untyped).

ALIAS _a

IC_L_AT

A local variable of typed ALIAS type (without index or access to item).

ALIAS (SD.RecordDef) _recA

IC_L_AT_R

The row of objects of the Structured variable type, to which the typed ALIAS currently refers. If the index is 0, it means the whole value.

_recA[1] or the whole value
_recA[0]

IC_L_AT_RIA

The row item of an object of Structured variable type, to which the typed ALIAS currently refers. The item is Object type (a reference to an object).

_recA[1]^Object

IC_L_AT_RIN

The row item of an object of Structured variable type, to which the typed ALIAS currently refers. The item is not an Object type (a reference to an object).

_recA[1]^Text

IC_L_RNA

A local variable of the  Record type. Reference to the whole value.

RECORD NOALIAS (SD.RecordDef) _recNA

IC_L_RNA_R

A local variable row of the  Record type. If the index is 0, it means the whole value similar to IC_L_RNA.

_recNA[1] or the whole value _recNA[0]

IC_L_RNA_RIA

The row item of a local variable of Record type. The item is Object type (a reference to an object). Considering forbidden references to objects, the item represents a simple value (without predefined value type).

_recNA[1]^Object

IC_L_RNA_RIN

The row item of a local variable of Record type. The item is Object type (a reference to an object). Unlike IC_L_RNA_RIA, the value type of the item is defined.

_recNA[1]^Text

IC_L_R

A local structured variable. Reference to the whole value.

RECORD (SD.RecordDef) _rec

IC_L_R_R

A row of local variables of the Record type. If the index is 0, it means the whole value, like IC_L_R.

_rec[1] or the whole value
_rec[0]

IC_L_R_RIA

The row item of a local variable of the Record type. The item is Object type (a reference to an object).

_rec[1]^Object

IC_L_R_RIN

The row item of a local variable of the Record type. The item is not an Object type (a reference to an object).

_rec[1]^Text

IC_L_NR

A local variable of the Record type (the structure type is not defined). The reference to the whole value.

RECORD () _rec

IC_L_NR_R

The row of local variables of the Record type (the structure type is not defined). If the index is 0, it is the whole value like IC_L_NR.

_rec[1] or the whole value
_rec[0]

IC_L_NR_RII

The row item of local variables of the Record type (the structure type is not defined). The column is defined by the number.

_rec[1]^_iCol

IC_L_NRNA

local variable of the Record type (the structure type is not defined). The reference to the whole value.

RECORD NOALIAS () _recNA

IC_L_NRNA_R

The row of local variables of the Record type (the structure type is not defined). If the index is 0, it is the whole value like IC_L_NRNA.

_recNA[1] or the whole value
_recNA[0]

IC_L_NRNA_RII

The row item of local variables of the Record type (the structure type is not defined). The column is defined by the number.

_recNA[1]^_iCol