Page History
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. |
Info |
---|
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
Info |
---|
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. |