Skip to main content
Version: Next

SCAN INDEX

SCAN INDEX ( aField ; number {; > or <} )

ParameterTypeDescription
aFieldFieldIndexed field on which to scan index
numberIntegerNumber of records to return
> or <Operator> from beginning of index < from end of index

Description

SCAN INDEX returns a selection of number records from the table containing the aField field. If you pass <, SCAN INDEX returns the number of records from the end of the index (high values). If you pass >, SCAN INDEX returns the number of records from the beginning of the index (low values). This command is very efficient because it uses the index to perform the operation.

Note: The selection obtained is not sorted.

SCAN INDEX only works on indexed fields. This command changes the current selection of the table for the current process and loads the first record of the selection as the current record.

If you specify more records than exist in the table, SCAN INDEX will return all the records.

Note: This command does not support Object type fields.

Example

The following example mails letters to 50 of the worst customers and then to 50 of the best customers:

 SCAN INDEX([Customers]TotalDue;50;<) // Get the 50 worst customers
 ORDER BY([Customers]Zipcode;>) // Sort by Zip codes
 FORM SET OUTPUT([Customers];"ThreateningMail")
 PRINT SELECTION([Customers]) // Print the letters
 SCAN INDEX([Customers]TotalDue;50;>) // Get the 50 best customers
 ORDER BY([Customers]Zipcode;>) // Sort by Zip codes
 FORM SET OUTPUT([Customers];"Thanks Letter")
 PRINT SELECTION([Customers]) // Print the letters

See also

ORDER BY
QUERY
REDUCE SELECTION