SQL Table Name: Config.MiscellaneousThis 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.
; 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 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
Property Inventory (Including Private)
They have a corresponding %Boolean property to determine if they are in the file or not.
0 - The process receives a
1 - The process receives an asynchronous
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.
0 - Processes cannot receive asynchronous errors.
1 - Processes can receive asynchronous errors.
This setting applies to ECP networking.
0 - Breaks are ignored.
1 - Breaks are taken.
0 - Statistics are not collected
1 - Statistics are collected.
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).
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
1 - Process receives a
0 - String stack is not enlarged.
1 - System increases the size of the string stack by approximately 50 times to accommodate operations involving larger strings.
Note: Enabling this option may affect performance. Memory is often a precious resource and allocating it to the stack comes at the expense of other uses. Retuning of the system may be needed to maintain performance.
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.
0 - KILL of an unsubscripted global results in a
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 Caché 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 Caché
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 Caché 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 Caché I/O Device Guide.
0 - Command line recall is not enabled.
1 - Command line recall is enabled.
0 - Do not log transaction rollbacks.
1 - Log transaction rollbacks to the console log file.
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
0 - issue an
1 - substitute the empty string for an undefined variable.
0 - $JOB returns only the process ID number. 1 - $JOB returns the process ID number of the current process, concatenated to the nodename.
0 - Throw
1 - Null subscript references do not throw an error.
0 - Switching to the same namespace is a NOOP.
1 - Switching to the same namespace clears the globals vector cache.
0 - Read
1 - Read-Write
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).
0 - Return the global with an extended reference.
1 - Return the global without reference to where it is on the network.
0 - Disable lowercase "e".
1 - Enable lowercase "e".
0 - Throw an
1 - Set the special variable $ZEOF to indicate that you have reached the end of the file.
0 - Do not write ^SYSLOG errors.
1 - Write ^SYSLOG errors.
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 Caché processes with STOP/ID.
1 - Disable deletion of Caché processes with STOP/ID.
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.
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.
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.
When the system encounters a number larger than 9223372036854775807 E127 (or smaller than -9223372036854775808 E127) it throws the
0 - Always throw an
1 - If the undefined variable has subscripts, return a null string, but if the undefined variable is single-valued, throw an
2 - Always return a null string.
0 - Nagle algorithm is disabled.
1 - Nagle algorithm is enabled.
0 - $VIEW command throws an error.
1 - $view command does not throw an error.
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
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.
0 - Caché 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.
Inherited Properties (Including Private)
Inherited Methods (Including Private)
Storage Model: CacheStorage (Config.Miscellaneous)