Caché MultiValue Basic Reference
Assigns a value to the SYSTEM or STATUS functions.
ASSIGN value TO SYSTEM(code)
ASSIGN int TO STATUS()
||An expression that evaluates to a value. This may be an integer value or a string value, depending on the SYSTEM() function.
||An expression that evaluates to an integer value. A non-integer values is truncated to an integer. A non-numeric value evaluates to 0.
||An integer code specifying which SYSTEM code information to modify. For a list of codes, refer to the SYSTEM function.
statement is used either to assign an integer return value to the STATUS
function, or to assign a return value to one of the SYSTEM
function options. Assignments apply to the current process.
When assigning a STATUS
function value, value
must be a literal, variable, or arithmetic expression that resolves to a positive or negative integer. A fractional number is truncated to its integer portion. A string is truncated at the first non-numeric character. A non-numeric string resolves to the numeric value 0. If you exit and re-enter the MV Shell, the STATUS
function value is reset to 0.
functions cannot be assigned a value using this command. SYSTEM(2)
, and SYSTEM(7)
can be assigned a value. Only a valid terminal type can be assigned to SYSTEM(7)
. If you exit and re-enter the MV Shell, these SYSTEM
function values persist until explicitly reset.
The following example reduces the terminal's page width setting by 10 characters:
pwidth=SYSTEM(2); ! The old page width
ASSIGN pwidth-10 TO SYSTEM(2)
PRINT SYSTEM(2); ! The new page width
In the following example, the first ASSIGN
sets the terminal (channel 0) page width to 20. The PRINTER ON
statement changes channel 0 to the current printer. The second ASSIGN
sets the printer (channel 0) page width to 40. The PRINTER OFF
reverts channel 0 to the terminal, which now has a page width of 40:
ASSIGN 20 TO SYSTEM(2)
ASSIGN 40 TO SYSTEM(2)