You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Purpose

Used to set system parameters indicating that a select list is active. This information is used by subsequent READNEXT logic.

Arguments

Argument

Input/Output

Value

CODE

Input

7

 

Output

unchanged

BFS

Input

BFS List

 

Output

unchanged

HANDLE

Input

file handle

 

Output

unchanged

NAME

Input

extended selects pass first sort field, otherwise null

 

Output

unchanged

FMC

Input

null

 

Output

latent index sorts return first sort field, otherwise FMC contains the select pointer

RECORD

Input

0

 

Output

select mode

STATUS

Input

null

 

Output

returned true by non-index-based selects if the select initialization was successful.  Returns null for latent index selects.

Latent index selects, and argument values associated with these, are a function of SI.MFS, and not of the underlying BFS. For instance, the select mode value of 2 returned in the RECORD argument returns from SI.MFS.  To disable a SELECT (cause subsequent READNEXT operations to fall through ELSE branch), RECORD should be set to false.

Called by

BASIC+ SELECT statement

READNEXT

Purpose

Used to return a block (group) of record keys for processing.

Arguments

Argument

Input/Output

Value

CODE

Input

8

 

Output

unchanged

BFS

Input

BFS List

 

Output

unchanged

HANDLE

Input

file handle

 

Output

unchanged

NAME

Input

select mode (1 or 2)

 

Output

if select mode is 1, returned unchanged; if select mode is 2, returned with null

FMC

Input

if select mode is 1, passed the select pointer. If select mode is 2, the first call passes the sort field, and subsequent calls pass the select pointer.

 

Output

updated select pointer if a new key list is returned in RECORD, otherwise false

RECORD

Input

if select mode is 1, pass null (first call) or the old key list (secondary call). If select mode is 2, pass the sort specification.

 

Output

key list delimited with @FM; unchanged from input if status is false

STATUS

Input

false, or READNEXT direction if a secondary call

 

Output

true if a new list of keys is being returned in RECORD, false if no new keys are available

An MFS should not alter the select pointer passed in the FMC argument unless the MFS is assuming responsibility for maintaining the pointer. A secondary call refers to the second or subsequent READNEXT call made in conjunction with the currently active select list. For more information on sort specifications, see the SORT.SPEC.DEFINES equate record in Appendix 4.

Called by

BASIC+ READNEXT statement if no keys are currently available in the system list variable.

  • No labels