%SYS
Miscellaneous Class Reference

This class allows you to modify and view the [Miscellaneous] section of the CPF file through programmatic APIs. More...

Inheritance diagram for Miscellaneous:
Collaboration diagram for Miscellaneous:

Public Attributes

 AsyncDisconnectErr
 This setting modifies the behavior of InterSystems IRIS when DisconnectErr is enabled. More...
 
 AsynchError
 Enable processes to receive asynchronous errors. More...
 
 BreakMode
 Process action when debug BREAK command executed. More...
 
 CollectResourceStats
 Controls whether the system resource statistics are collected (seize, nseize,. More...
 
 DX
 Sets $X update mode for escape sequences system-wide. More...
 
 DisconnectErr
 Enable a process to receive disconnect errors. More...
 
 FileMode
 Create a file if it does not exist when called with Write or Read/Write. More...
 
 GlobalKillEnabled
 Enable KILL of an unsubscripted global. More...
 
 IEEEError
 Enables or disables $DOUBLE returning INF and NAN values system-wide. More...
 
 LicenseAltHeaders
 Enable use of alternate HTTP Headers in determining IP Address for License identification. More...
 
 LineRecall
 Enable command line recall for READ commands. More...
 
 ListFormat
 Enable compression of some $LIST types:
More...
 
 LogRollback
 Enable logging for transaction rollbacks. More...
 
 MVDefined
 Sets MVBasic handling of undefined variables system-wide. More...
 
 NodeNameInPid
 Behavior when there is a reference to the special variable $JOB. More...
 
 NullSubscripts
 Enable null subscript references. More...
 
 OldZU5
 When switching namespace to the same namespace via $namespace or ZN, clear global vectors. More...
 
 OpenMode
 The read/write mode you want used when opening sequential files and no mode is specified in the OPEN command. More...
 
 PopError
 When to pop $ZTRAP error handlers off the stack. More...
 
 RefInKind
 Result of $NAME and $QUERY when an extended global reference is the argument. More...
 
 ScientificNotation
 Enables or disables lowercase "e" as scientific notation symbol system-wide. More...
 
 SetZEOF
 Behavior when the system encounters an unexpected end-of-file when reading a sequential file. More...
 
 ShutDownLogErrors
 Write ^SYSLOG errors to the console log file at shutdown. More...
 
 StopID
 Sets $ZF process deletion behavior for OpenVMS STOP/ID system-wide. More...
 
 SwitchOSdir
 Behavior of the current working O/S directory when changing namespaces. More...
 
 SynchCommit
 Synchronize TCOMMIT with the corresponding journal write operation. More...
 
 TelnetNUL
 Suppress Telnet NUL at end-of-line system-wide. More...
 
 TruncateOverflow
 Enable the <MAXNUMBER> error on numeric overflow. More...
 
 Undefined
 ObjectScript response to undefined variables. More...
 
 UseNagleAlgorithm
 Enable the Nagle algorithm for Telnet (Windows only). More...
 
 ViewPastData
 Enable $VIEW command to examine data outside of the InterSystems IRIS memory area. More...
 
 ZDateNull
 $ZDATE response to an invalid value. More...
 
 ZaMode
 Determines how the ZALLOCATE (ZA) and ZDEALLOCATE (ZD) commands behave, according to InterSystems IRIS rules or DSM-11 rules. More...
 
- Public Attributes inherited from CommonProperties
 CPFFile
 CPF file which the object maps to. More...
 
 Comments
 Embedded comments in the CPF file. More...
 
 Flags
 Flags governing how the object is processed when Save() is called. More...
 
 Name
 Name of the object instance. More...
 

Static Public Attributes

 PROPERTIESMAYBEINCPF = None
 List of properties which may or may not be in the CPF file. More...
 
- Static Public Attributes inherited from CommonProperties
 DOMAIN = None
 This class contains properties which are included by classes which manipulate sections in the CPF file. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from CommonSingleMethods
_.Library.Status Get (_.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Get a sections properties from a CPF file. More...
 
_.Library.Status GetList (_.Library.String CPFFile, _.Library.Integer Flags)
 Returns the properties from a section in a CPF file by value in $list format
More...
 
_.Library.Status Modify (_.Library.String Properties, _.Library.String CPFFile, _.Library.Integer Flags)
 Modify a sections properties in a CPF file. More...
 
_.Library.ObjectHandle Open (_.Library.String CPFFile, _.Library.Integer concurrency, _.Library.Status Status, _.Library.Integer Flags)
 Open an instance of an section object in a CPF file. More...
 

Detailed Description

This class allows you to modify and view the [Miscellaneous] section of the CPF file through programmatic APIs.

While properties are usually modified through the System Management portal, there may be some occasion where modifying them through the API's is best for your system. In all the Config methods, if you do not specify the CPFFile parameter, the currently active CPF file is used. If you wish to modify a CPF file which is not the currently active one, then specify the CPFFile you wish to modify in the method call.
The Flags parameter does not normally need to be specified; the defaults are usually sufficient for most cases.
You can use either the provided API's (Get/Modify) to modify the properties by passing in the correct parameters, or use Object syntax to open and directly manipulate the config objects.

EXAMPLE:

    ; Use class methods to modify properties
    SYS>s Status=##Class(Config.Miscellaneous).Get(.Properties)
    SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
    SYS>zw Properties("NodeNameInPid")
    Properties("NodeNameInPid")=0
    SYS>s Properties("NodeNameInPid")=1
    SYS>s Status=##Class(Config.Miscellaneous).Modify(.Properties)
    SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
    ; Now use Objects to modify properties
    SYS>s Obj=##Class(Config.Miscellaneous).Open()
    SYS>w Obj.NodeNameInPid
    1
    SYS>s Obj.NodeNameInPid=0
    SYS>s Status=Obj.Save()
    SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
    

s x=##Class(Config.Miscellaneous).Get(.Properties)

Examples: Modify the NodeNameInPid parameter to 1.

s Status=##Class(Config.Miscellaneous).Get(.Properties) i '$$$ISOK(Status) q Status s Properties("NodeNameInPid")=1 s Status=##Class(Config.Miscellaneous).Modify(.Properties) i '$$$ISOK(Status) q Status


Example: Open the active configuration and get the value of the NodeNameInPid Parameter.

s Obj=##Class(Config.Miscellaneous).Open(,,.Status) i '$$$ISOK(Status) q Status s NodeNameInPid=Obj.NodeNameInPid

Member Data Documentation

◆ PROPERTIESMAYBEINCPF

PROPERTIESMAYBEINCPF = None
static

List of properties which may or may not be in the CPF file.


They have a corresponding Boolean property to determine if they are in the file or not.

◆ AsyncDisconnectErr

AsyncDisconnectErr

This setting modifies the behavior of InterSystems IRIS when DisconnectErr is enabled.


0 - The process receives a <DSCON> error at the next read or write command.
1 - The process receives an asynchronous <DSCON> error at the time a disconnect occurs on the device. This error will occur at the next command executed. Hang commands will be interrupted.
AsyncDisconnectError is only applicable to Telnet connections on Windows. It has no effect on any other device type or operating system. If DisconnectErr is set to 0 (false), then AsyncDisconnectError has no effect.  

◆ AsynchError

AsynchError

Enable processes to receive asynchronous errors.


0 - Processes cannot receive asynchronous errors.
1 - Processes can receive asynchronous errors.
This setting applies to ECP networking.  

◆ BreakMode

BreakMode

Process action when debug BREAK command executed.


0 - Breaks are ignored.
1 - Breaks are taken.
 

◆ CollectResourceStats

CollectResourceStats

Controls whether the system resource statistics are collected (seize, nseize,.

aseize, bseize) on platforms where collection is configurable. On other platforms, this setting is ignored.
Note: Currently, this setting is ignored on all supported platforms, and the system resource statistics are always collected.
0 - Statistics are not collected
1 - Statistics are collected.
 

◆ DX

DX

Sets $X update mode for escape sequences system-wide.


You can control the way the system updates $X when writing a string containing an escape sequence. Default behaviors for various system implementations are as follows:
UNIX - parses the ANSI standard escape sequence and counts the rest of the non-escape characters in the string against $X.
VMS - Do not count any more characters in the string against $X as soon as they encounter an escape character ($CHAR(27)).
Open M [DSM] - Counts all characters in a string, including the escape character, against $X.
Open M [DTM] and Open M [MSM] - Count all characters except for the escape character against $X.
A numeric code that controls a nondefault, consistent, system-wide way of updating $X.
0 - Use UNIX default behavior on system.
1 = Use Open M [DSM] default behavior on system.
2 = Use Open M [DTM]/Open M [MSM] default behavior on system.
3 = Use OpenVMS Alpha default behavior on system.
The default behavior on UNIX zero (0).
The default behavior on VMS is three (3).
 

◆ DisconnectErr

DisconnectErr

Enable a process to receive disconnect errors.


This setting conditions how a process responds to a disconnect of the principal I/O device.
Be aware that when error on disconnect is enabled, a process continues to execute after its principal device has been disconnected. It is the responsibility of the application to detect the disconnect condition and exit gracefully. Use care when enabling error on disconnect. The application must be prepared to recognize the <DSCON> error and handle it appropriately in error traps. Error on disconnect is only applicable to TCP devices and to terminal devices where a disconnect can be recognized. Examples are modem controlled terminals and Windows Telnet, Windows LAT, and Windows local cterm (TRM:) connections. Error on disconnect is only applicable to the principal device. 0 - Process exits without reporting an error to the application when a disconnect is detected.
1 - Process receives a <DSCON> error when a disconnect is detected during a Write or Read command.
 

◆ FileMode

FileMode

Create a file if it does not exist when called with Write or Read/Write.


When 0 (false) and a file is opened for writing that does not exist, a new file is not created unless the N parameter was provided with the OPEN command.
When 1 (true) and a file is opened for writing that does not exist, a new file is created.
 

◆ GlobalKillEnabled

GlobalKillEnabled

Enable KILL of an unsubscripted global.


0 - KILL of an unsubscripted global results in a <PROTECT> error. 1 - KILL of an unsubscripted global is allowed, so you can kill all subscripts of a global with a single kill instead if killing them individually.  

◆ IEEEError

IEEEError

Enables or disables $DOUBLE returning INF and NAN values system-wide.


This property sets the $DOUBLE function return value behavior system-wide. If 0, $DOUBLE returns INF (infinity), -INF, and NAN (Not A Number) for unresolvable IEEE floating point conversions. If 1, $DOUBLE generates ObjectScript errors for unresolvable IEEE floating point conversions. The property controls the issuing of INF, -INF, and NAN when a $DOUBLE numeric operation cannot be resolved to a numeric value. It does not control the issuing of INF, -INF, and NAN in all cases. $DOUBLE always returns INF, -INF, or NAN when you supply one of these strings as the input value, regardless of this property. Mathematical operations on $DOUBLE numbers that result in an INF, -INF, or NAN are controlled by this property. These include arithmetic operations, exponentiation, and logarithmic and trigonometric functions.
0 - $DOUBLE returns INF, -INF, or NAN when given an unresolvable numeric expression.
1 - $DOUBLE generates <MAXNUMBER>, <ILLEGAL VALUE>, and <DIVIDE> errors when given an unresolvable numeric expression.  

◆ LicenseAltHeaders

LicenseAltHeaders

Enable use of alternate HTTP Headers in determining IP Address for License identification.

In previous versions, HTTP requests used the REMOTE_ADDR header to determine the client IP Address for Licensing. If LicenseAltHeaders is enabled, then we will use the HTTP_FORWARDED header if present, otherwise the HTTP_X_FORWARDED_FOR header, otherwise REMOTE_ADDR.  

◆ LineRecall

LineRecall

Enable command line recall for READ commands.


Read line recall is only used by terminal devices.
The OPEN command sets the read line recall mode for a terminal. You can specify the R protocol (enable) or the N protocol (disable). If neither protocol is specified, OPEN takes its setting from the current default established by SYS.ProcessQuery.LineRecall, this property. The USE command can specify the R protocol (enable) or the N protocol (disable) to change the OPEN mode. If neither protocol is specified, USE takes its setting from the initial OPEN mode value. An implicit open of an active device, such as issuing a BREAK command, reopens the device in the same mode as the initial OPEN command. Modifying this property does not override an OPEN or USE setting for an active terminal. To change read line recall for an already open terminal device, you must explicitly reopen the device. You can use this property or SYS.ProcessQuery.LineRecall to change the default, then issue an OPEN 0 command, which reopens the active terminal device, applying the current default. See Terminal I/O in InterSystems IRIS I/O Device Guide for details on using protocols.

Read Line Recall
Read line recall mode provides line recall of editable lines as input for READ operations from a terminal. These recallable lines include both previous READ input lines and previous command lines. Echoing of input lines is a necessary precondition for read line recall. The system supports read line recall for both variable-length terminal reads (READ var) and fixed-length terminal reads (READ var::n). The system does not support read line recall for single-character terminal reads (READ *var). For a fixed-length terminal read, the recalled line is truncated to one character less than the number of characters specified in the READ. This final READ character position is reserved for typing a line termination character, specifying an edit character, or adding one more data character. When read line recall is active, you can provide input to a READ by using the Up Arrow and Down Arrow keys to recall a previous terminal input line. You can then use the Left Arrow, Right Arrow, Home, and End keys to position the cursor for editing the recalled line. You can use the Backspace key to delete a character, Ctrl-X to delete the entire line, or Ctrl-U to delete all of the line to the left of the cursor. When read line recall is not active, the four Arrow keys, the Home key, and the End key all issue a line termination character. You can use the Backspace key to delete a single input character, and Ctrl-X (or Ctrl-U) to delete the entire input line. Read line recall can be deactivated by using the -R protocol, or by specifying the N, I, S, or T protocols, as described in the Terminal I/O chapter of the InterSystems IRIS I/O Device Guide.

0 - Command line recall is not enabled.
1 - Command line recall is enabled.
 

◆ ListFormat

ListFormat

Enable compression of some $LIST types:

0 - No compression (the default)
1 - Compress IEEE floating point values ($DOUBLE)

This affects new $LIST structures that are created after the setting is applied.
WARNING: This setting impacts compatibility with older clients. If ListFormat is set to a non-zero value, ODBC/JDBC or IRIS Native clients older than version 2021.2 will no longer be able to connect to the system.  

◆ LogRollback

LogRollback

Enable logging for transaction rollbacks.


0 - Do not log transaction rollbacks.
1 - Log transaction rollbacks to the console log file.
 

◆ MVDefined

MVDefined

Sets MVBasic handling of undefined variables system-wide.


This property function defines MVBasic behavior when it encounters a reference to an undefined variable. By default, if an MVBasic routine references an undefined variable, The system generates an <UNDEFINED> error. You can change this default behavior to have the system substitute an empty string for an undefined variable, without signaling an error.
0 - issue an <UNDEFINED> error for an undefined variable.
1 - substitute the empty string for an undefined variable.
 

◆ NodeNameInPid

NodeNameInPid

Behavior when there is a reference to the special variable $JOB.


0 - $JOB returns only the process ID number. 1 - $JOB returns the process ID number of the current process, concatenated to the nodename.  

◆ NullSubscripts

NullSubscripts

Enable null subscript references.


0 - Throw <SUBSCRIPT> error when referencing a null subscript.
1 - Null subscript references do not throw an error.
 

◆ OldZU5

OldZU5

When switching namespace to the same namespace via $namespace or ZN, clear global vectors.


0 - Switching to the same namespace is a NOOP.
1 - Switching to the same namespace clears the globals vector cache.
 

◆ OpenMode

OpenMode

The read/write mode you want used when opening sequential files and no mode is specified in the OPEN command.


0 - Read
1 - Read-Write
 

◆ PopError

PopError

When to pop $ZTRAP error handlers off the stack.



When a $ZTRAP error handler is invoked by the system, that error handler remains on the stack of established error handlers. Therefore, if an error occurs when the error handler is executing, that error handler attempts to invoke itself, receives the same error again and enters an infinite loop, unless that error handler explicitly sets $ZTRAP to a new value.
When a $ZTRAP error handler is invoked in DSM, the error handler is removed from the stack. Therefore, if an error occurs while the error handler is executing, that error is handled by the previous error handler on the stack.

0 - Normal behavior: A $ZTRAP error handler stays active when the error handler is invoked.
1 - Pop the $ZTRAP error handler off the stack when an error is triggered (DSM compatibility mode).
 

◆ RefInKind

RefInKind

Result of $NAME and $QUERY when an extended global reference is the argument.


0 - Return the global with an extended reference.
1 - Return the global without reference to where it is on the network.
 

◆ ScientificNotation

ScientificNotation

Enables or disables lowercase "e" as scientific notation symbol system-wide.


0 - Disable lowercase "e".
1 - Enable lowercase "e".
 

◆ SetZEOF

SetZEOF

Behavior when the system encounters an unexpected end-of-file when reading a sequential file.


0 - Throw an <ENDOFFILE> error.
1 - Set the special variable $ZEOF to indicate that you have reached the end of the file.
 

◆ ShutDownLogErrors

ShutDownLogErrors

Write ^SYSLOG errors to the console log file at shutdown.


0 - Do not write ^SYSLOG errors.
1 - Write ^SYSLOG errors.
 

◆ StopID

StopID

Sets $ZF process deletion behavior for OpenVMS STOP/ID system-wide.


Using the OpenVMS STOP/ID command to delete a process can cause your system to fail. For this reason, the system on OpenVMS systems prevent you from deleting processes with STOP/ID. For processes that are executing $ZF functions, you may need to be able to delete a process from OpenVMS. Set this value to 0 if you need to terminate processes in a $ZF function.
0 - Enable deletion of processes with STOP/ID.
1 - Disable deletion of processes with STOP/ID.
 

◆ SwitchOSdir

SwitchOSdir

Behavior of the current working O/S directory when changing namespaces.


0 - When you change namespaces, the current working directory is changed to the directory of the default database of the new namespace. However, if this dataset is remote (networked to a different system), the current working directory is left unchanged.
1 - When you change namespaces, the current working directory remains unaltered no matter what namespace you switch to.
 

◆ SynchCommit

SynchCommit

Synchronize TCOMMIT with the corresponding journal write operation.


0 - TCOMMIT does not wait for the write operation to complete.
1 - TCOMMIT does not complete until the journal data write operation completes. Note that setting this property to 1 will have performance implications.
 

◆ TelnetNUL

TelnetNUL

Suppress Telnet NUL at end-of-line system-wide.


This property disables or enables the issuance of a NUL character (ASCII 0) following a CR character (ASCII 13) at end-of-line during Telnet transmission on Windows systems only. It has no affect of Unix or VMS systems. On output, a Telnet network virtual terminal (NVT) performs the following default end-of-line behavior: either issues a CR (carriage return character) followed by a LF (linefeed character), or issues a CR (carriage return character) followed by a NUL character (if no LF is issued).
0 - do not suppress NUL.
1 - suppress NUL.
 

◆ TruncateOverflow

TruncateOverflow

Enable the <MAXNUMBER> error on numeric overflow.


When the system encounters a number larger than 9223372036854775807 E127 (or smaller than -9223372036854775808 E127) it throws the <MAXNUMBER> error.
0 - <MAXNUMBER> error is thrown.
1 - <MAXNUMBER> error is suppressed.
 

◆ Undefined

Undefined

ObjectScript response to undefined variables.


0 - Always throw an <UNDEFINED> error.
1 - If the undefined variable has subscripts, return a null string, but if the undefined variable is single-valued, throw an <UNDEFINED> error.
2 - Always return a null string.
 

◆ UseNagleAlgorithm

UseNagleAlgorithm

Enable the Nagle algorithm for Telnet (Windows only).


0 - Nagle algorithm is disabled.
1 - Nagle algorithm is enabled.
 

◆ ViewPastData

ViewPastData

Enable $VIEW command to examine data outside of the InterSystems IRIS memory area.


0 - $VIEW command throws an error.
1 - $view command does not throw an error.
 

◆ ZDateNull

ZDateNull

$ZDATE response to an invalid value.


0 - The valid range is from 0 through 2980013, inclusive, which corresponds to dates from 12/31/1840 through 12/31/9999. This range can be restricted by setting the $ZDATE mindate and maxdate parameters. If the date is invalid, the error message <ILLEGAL VALUE> or

will be generated. The behavior can be overridden by supplying an erropt to the $ZDATE call.
1 - (ISM compatibility) The valid range is from 1 through 94232, inclusive, which corresponds to dates from 01/01/1841 through 12/30/2098. This date range is set for any $ZDATE function call which has three or fewer parameters. If a $ZDATE function call has more than three parameters, the valid date range is taken either from the $ZDATE mindate and maxdate parameters (if specified) or from the date range established for the current locale. If the date is invalid, $ZDATE will return the null string if you submit an invalid date. This behavior is set for any $ZDATE function call, regardless of the number of parameters.  

◆ ZaMode

ZaMode

Determines how the ZALLOCATE (ZA) and ZDEALLOCATE (ZD) commands behave, according to InterSystems IRIS rules or DSM-11 rules.


0 - InterSystems IRIS rules, which means that ZA and ZD behave exactly like LOCK + and LOCK -.
1 - DSM-11 rules, which means that ZA locks can only be unlocked by ZD and LOCK + locks can only be unlocked by LOCK.