L -- Logic Commands

Label

Defines the destination of preceding JumpTo logic statements. The same label name can be used by more than one JumpTo command, but a label must follow all JumpTo logic statements referring to it in the logic.

LABEL label
OptionDescription

label

The label name. For reports, it must be unique within the frame. For ispecs, it must be unique within the structure.

Load

The Load logic command is not supported on applications deployed to Windows or MCP.

LOAD LENGTH expression ispec_attribute
Option Description

LENGTH expression

Expression specifies the position in the input record where the value to be stored in Attributes starts. Expression must return an integer.

ispec_attribute

The attribute must be a persistent attribute of the ispec being loaded.

Log

The Log logic command is supported by the Debugger in the development environment and on deployed applications.

During logic execution in a debug session, the Log logic command can be used to write messages to the Visual Studio Output window, in the "Debug" category. Values of up to two specified expressions can be written in response to specific system events.

LOG { DEBUG | RELEASE | ALWAYS } [ ERROR | WARNING | HALT ] expression [ expression ]
Option Description

DEBUG

To log in debugger only, specify Debug.

RELEASE

To log in deployed applications specify Release.

ALWAYS

To log in both debugger and deployed applications specify Always.

ERROR

Writes error-level events.

WARNING

Writes warning-level events.

HALT

Writes error-level events and halts logic execution.

expression (first)

The first expression to log.

expression (second)

The second expression to log.

LookUp Variants

The LookUp logic command variants read records into memory from the database without the use of a profile.

The logic command variants determine how records are read into memory, and how many are read. Once a record is in memory, it can be manipulated by logic.

LookUp

(singleton)

Reads a single persistent class record whose primary key value matches that of a specified value into memory from the database. The LookUp logic command performs a single record retrieval.

LOOKUP expression class_name [ SECURE | KEYONLY ] [ GS status ]
Option Description

expression

The primary key value to match.

This value must be type-compatible with the primary key.

class_name

The persistent class to read from.

SECURE

Facilitates record locking of the database in an applications that do not enforce integrity.

KEYONLY

This command option is not supported on applications deployed to Windows.

GS status

If used, the success or failure of the Lookup is stored in a user-defined attribute, <status>, instead of Glb.Status. A value of “*****” indicates that a record was not found.

LookUp Every

Reads persistent class records into memory from the database. It sequentially reads every record in the requested class, each new record overwriting the previous.

LOOKUP EVERY class_name [ SERIAL ] [ SECURE | KEYONLY ] [ MULTI expression ] 
[ GS status ]
OptionDescription

class_name

The persistent class to read.

SERIAL

Increases efficiency by retaining pointers. Significant only when the command is used in the logic of a Copy Ispec or Event.

SECURE

Facilitates record locking of the database in an applications that do not force integrity.

KEYONLY

This command option is not supported on applications deployed to Windows.

MULTI expression

This command option is not supported on applications deployed to Windows.

GS status

Indicates if there was no record retrieved, using the specified variable.

LookUp From

Reads persistent class records into memory from the database, starting from the specified primary key.

LOOKUP FROM expression class_name [ SERIAL ]
[ SECURE | KEYONLY ][ MULTI expression ] [ GS status ]
OptionDescription

expression

The primary key value to start reading from.

This variable must share the same primitive as the primary key.

class_name

The persistent class to read.

SERIAL

Increases efficiency by retaining pointers. Significant only when the command is used in the logic of a Copy Ispec or Event.

SECURE

Facilitates record locking of the database in an applications that do not force integrity.

KEYONLY

This command option is not supported on applications deployed to Windows.

MULTI expression

This command option is not supported on applications deployed to Windows.

GS status

Indicates if there was no record retrieved, using the specified variable.

LookUp Group

Reads persistent class records into memory from the database.

LOOKUP GROUP class_name { FROM | BACK } expression [ UNTIL expression ] [ SERIAL ] 
[ SECURE | KEYONLY ] [ MULTIexpression ] [ GS status ]
OptionDescription

class_name

The persistent class to read.

FROM

Reads records in ascending order.

BACK

Reads records in descending order.

expression

The primary key value of the initial record to retrieve.

UNTIL expression

Specifies the primary key value of the final record to retrieve. If this command option is not specified, the record retrieval loop iterates until there are no more records.

SERIAL

Increases efficiency by retaining pointers. Significant only when the command is used in the logic of a Copy Ispec or Event.

SECURE

Facilitates record locking of the database in an applications that do not force integrity.

KEYONLY

This command option is not supported on applications deployed to Windows.

MULTI expression

This command option is not supported on applications deployed to Windows.

GS status

Indicates if there was no record retrieved, using the specified variable.

Loop

Specifies a sequence of logic that is to be executed repeatedly. Loops can be nested within loops.

LOOP [ WHILE ( expression ) ]
   <logic_block>
END | ENDEXIT | ENDNOPRINT
OptionDescription

WHILE ( expression )

Terminates looping when the specified conditional expression evaluates to false.

If this command phrase is not specified, the loop behaves as ‘Loop While (true)’ – it loops indefinitely unless there is some internal condition test to force execution of a ‘Break’ command.