$SirParm

From m204wiki
Jump to navigation Jump to search

Set user-specific value, controlling Sirius products

Note: Many $functions have been deprecated in favor of Object Oriented methods. There is no OO equivalent for the $SirParm function.

This $function allows setting of parameters that affect the SOUL environment, much like the RESET command.

The $SirParm function accepts one to two arguments and returns a numeric result.

Syntax

%result = $SirParm(parm_name, [new_value])

Syntax terms

%result A numeric variable set to the value of the parameter, which is either new_value or the current parameter value if new_value is not specified.
parm_name The name of the parameter to be set or whose value is to be returned.
new_value The new value of the parameter. If this argument is omitted, the value of the parameter is not changed.

Usage notes

  • All parameters updated by $SirParm are user values that are reset to their defaults when a user logs off. Once the value of any parameter is changed, it remains at the new value until explicitly changed via the $SirParm function or until the user logs off or is restarted at which point the parameter if set back to its default value.

    There are four types of parameters:

    Flags These parameters have value either 0 or 1. Specifying a new value other than 0 results in these parameters being set to 1.
    One byte These parameters have values from 0 to 255. Specifying a value outside this range results in the value being unchanged.
    Halfword These parameters have values from -32,767 to 32,767. Specifying a value outside this range results in the value being unchanged.
    Fullword These parameters have values from -(2**31 - 1) to 2**31 - 1. Specifying a value outside this range results in the value being unchanged.
  • The following parameters can be changed with $SirParm:
    DUMMYSYS This is a flag that controls the order of access by dummy string substitution ("?&") to the various scopes (user, subsystem, and system) of global variables. The order corresponding to the 0 and 1 values of DUMMYSYS are:
    0 first, user globals (those set by $SETG);
    if not there, subsystem globals (those set by $Setg_Subsys);
    otherwise, system globals (those set by $Setg_Sys)
    1 first, subsystem globals (those set by $Setg_Subsys);
    if not there, system globals (those set by $Setg_Sys);
    otherwise, user globals (those set by $SetG)
    For examples of the effects of DUMMYSYS, see $Setg_Subsys and $Setg_Sys.
    EDITMSG This is a flag that allows suppression of certain messages issued by the Model 204 editor. When this flag is set to 0 (the default) all Model 204 editor messages are issued to the terminal as they usually are.

    If this flag is set to 1, the message M204.0525 WARNING CAN'T EDIT INTO PROCEDURE is suppressed when editing a read-only procedure. In addition, the message M204.0542 EDIT COMPLETE -... is suppressed, and the command issued to leave the Model 204 editor (QUIT, END, GO) is placed into the global variable SIR.EDIT.MSG.

    GETGSYS This is a flag that controls the order of access by the $GETG function to the various scopes (user, subsystem, and system) of global variables. The order corresponding to the 0 and 1 values of GETGSYS are:
    0 first, user globals (those set by $SETG);
    if not there, subsystem globals (those set by $Setg_Subsys);
    otherwise, system globals (those set by $Setg_Sys)
    1 first, subsystem globals (those set by $Setg_Subsys);
    if not there, system globals (those set by $Setg_Sys);
    otherwise, user globals (those set by $Setg)
    For examples of the effects of GETGSYS, see $Setg_Subsys and $Setg_Sys.
    LISTFC This is a flag that controls the action to be taken by the Sirius $functions when they are unable to add an item to a $list, either because CCATEMP is full or because the architectural limit of what will fit in a $list has been reached.

    If the LISTFC flag is set to 0 (the original setting) the $function that is unable to add the list item returns an error code (normally 3 or -3). If the LISTFC flag is set to 1, this condition results in request cancellation and drives the APSY error proc if in a subsystem.

    Setting the LISTFC flag to 1 simplifies the use of $lists. Applications need not constantly check result codes from $list functions and instead can let an error proc deal with the problem. When the LISTFC flag is set and a $list function is unable to add an item to a list, the message M204.0441 CCATEMP FULL is issued and is also set as the last error message. Note that with the LISTFC flag set it is possible to get this message even when CCATEMP is not really full when a user reaches the architectural limit on the size of $lists.

See also

Products authorizing $SirParm