GETLIST Statement
Produces a list of item-ids for a subsequent PERFORM or READNEXT statement.
Syntax
GETLIST list-name {account-name} {TO listVar} {SETTING setting-var} [THEN statement(s) | ELSE statement(s)]
Syntax Elements
list-name is any expression that evaluates to the name under which the list was saved.
account-name specifies an account, other than the current account.
listVar is a variable to which the list is assigned.
If the TO clause is omitted, the default select-variable is used.
setting-var is the name of a variable to which the number of items in the list is assigned if the SETTING clause is used.
statement(s) is either a THEN or ELSE clause (or both). A statement must be included. The THEN clause is executed if GETLIST is successful. The ELSE clause is executed otherwise.
Operation
If the list does not exist in POINTER-FILE, the ELSE clause is executed.
The list might have been previously saved in POINTER-FILE by a SAVE-LIST, COPY-LIST or EDIT-LIST command executed at TCL or from a WRITELIST statement executed in a DataBasic program.
Multiple pointers into the same list can be maintained by executing multiple GETLIST statements to the same list-name and assigning the results to different variables.
Any number of GETLIST statements can be executed in a DataBasic program, and any number of lists can exist simultaneously by specifying the TO clause.
Examples
GETLIST "TEXT" ELSE STOP
Produces a list of item-ids using the default select-variable.
X = "SAVE.DATA" GETLIST X TO Y SETTING NUMBER ELSE PRINT "NOT FOUND"; STOP READNEXT ID FROM Y ELSE...
Selects item-ids in list SAVE.DATA and assigns it to variable Y. The number of items in the list is assigned to variable NUMBER. If list does not exist in the POINTER-FILE, the error message prints and the program terminates.
GETLIST "S.CARS SYSPROG" TO LIST ELSE STOP READNEXT ID FROM LIST...
Selects list of item-ids previously saved in list S.CARS in the SYSPROG account and assigns it to variable LIST.