1. Home
  2. SPLOAD directive

SPLOAD directive

Loads Genstat spreadsheet files.


PRINT = string token What to print (catalogue, summary); default cata
SCOPE = string token When SPLOAD is used within a procedure, this allows the data structures to be created in program that called the procedure (SCOPE=external) or in the main program itself (SCOPE=global) rather than within the procedure (local, external, global); default loca
REDEFINE = string token Whether to allow existing structures to have their type redefined (no, yes); default no
SYSTEM = string token Whether to include Genstat system structures in the catalogue (yes, no); default no
UNNAMED = string token Whether to include unnamed structures in the catalogue (yes, no); default no
TEMPMISSING = string token Whether to read temporarily missing values as missing (yes, no); default no


FILENAME = texts Names of spreadsheet files
SHEETNAME = texts, variates or scalars Names or numbers of the sheets to read from each file; default * reads them all
ISAVE = pointers Stores the identifiers of the structures loaded from each file


The SPLOAD directive can be used to load data from a Genstat (i.e. GSH) spreadsheet file, specified using the FILENAME parameter. If the file is a multi-paged spreadsheet, the SHEETNAME parameter can be used to specify which sheet (or page) to read. If SHEETNAME is not set, all the pages are read. By default, a summary is produced listing the data that have been read; this can be suppressed by setting option PRINT=*. The SYSTEM and UNNAMED options control whether to include system and unnamed structures in the summary.

The PRINT option controls printed output, with the following settings:
catalogue lists the contents of the file (default); and
summary prints a summary of the values in each data structure in the file.
By default, unnamed structures are excluded from the catalogue, but you can set the UNNAMED option to yes to include them.

The SCOPE option is useful when SPLOAD is being used within a procedure. By default, the structures are created within the procedure. Alternatively, you can set SCOPE=external, to request that they are created in the program that called the procedure (which may itself be a procedure). Or you can set SCOPE=global to create them in the main program itself. However, care needs to be taken to ensure that there is no conflict with any existing structures.

If SPLOAD reads a structure from the spreadsheet file that has the same name as an existing structure, it will overwrite the values and attributes of the existing one, so long as the type is the same. Otherwise a VA 8 diagnostic message will be generated and SPLOAD will fail. To force SPLOAD to change the type of existing structures you can set the option REDEFINE=yes.

The TEMPMISSING option controls the input of temporarily missing values. These are values that have been set to missing temporarily in the spreadsheet, and for which the original (non-missing) values are still available. The default is to read the original values, but you can set TEMPMISSING=yes to read them as missing values instead.

The ISAVE parameter can be set to a pointer to store the identifiers (i.e. column names) read from the file. The pointer can then be used to refer to the loaded data (within a procedure, for example).


See also

Directive: READ.
Commands for: Input and output.

Updated on October 28, 2020

Was this article helpful?