Syntax
DETERMINE ACTUAL <variant> [ GS status ] <logic_block> END | ENDEXIT | ENDNOPRINT <variant> := <databaseVariant> | <extractFileVariant> | <sqlVariant> <databaseVariant> := <iterator> [ SERIAL ] [ SECURE | KEYONLY ] [ MULTI records ] <iterator> := <object> | <profile> <object> := object_name <profile> := object_name.profilename (argument [ ,...n] )
Parameters
Determine Actual can be abbreviated as DT Actual.
The Determine Actual logic command is followed by a sequence of logic statements and then by an End, EndExit, or EndNoPrint logic statement.
databaseVariant
Reads records from a database. Refer to Database Variant for more information.
extractFileVariant
Reads records from an extract file. Refer to Extract File Variant for more information.
sqlVariant
Runs embedded SQL commands in a SQL script. Refer to SQL Script Variant for more information.
GS status
Indicates if there are no records retrieved, using the specified qualifier.
Description
The Determine Actual logic command can be used in three variants:
The database variant reads persistent class records from a database into memory, with or without using a profile. The data read from the database is stored in the instance of the persistent class specified in the command. You can also use an external class with persistent members to read records from an external database by using a profile.
The extract file variant reads class records from an extract file.
The SQLScript variant runs embedded SQL commands in an SQL script.
Refer to Determine Variants for more information on the Determine logic command.
Note: The Determine Actual logic command is ignored by Debugger for SQL Script variants. Debugger disregards any such Determine Actual logic statements it encounters and continues execution at the logic statement following the End or EndExit logic statement terminating the Determine Actual loop.
The Determine Actual logic command returns the results in an undefined order. It depends upon a database for the order of a result and the result might be different in different databases. For instance:
The results of the Determine Actual logic command in an SQL database is in the order in which the records are added to the database.
You can use the below logic command for returning the records in an undefined order:
Determine Actual Ispec
For the records to be displayed in a consistent order, you need to explicitly mention the Profile name. For example
Determine Actual Ispec.Profile