Class Reference
Cache for UNIX 2018.1.1
InterSystems: The power behind what matters   
Documentation  Search
Private  Storage  

persistent class Config.Miscellaneous extends %Persistent, Config.CommonSingleMethods, Config.CommonProperties, %SYSTEM.Help

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.


; 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")
%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
%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


Parameters Properties Methods Queries Indices ForeignKeys Triggers
1 33 1


AsyncDisconnectErr AsynchError BreakMode CPFFile
CollectResourceStats Comments DX DisconnectErr
EnableLongStrings FileMode Flags GlobalKillEnabled
IEEEError LineRecall LogRollback MVDefined
Name NodeNameInPid NullSubscripts OldZU5
OpenMode PopError RefInKind ScientificNotation
SetZEOF ShutDownLogErrors StopID SwitchOSdir
SynchCommit TelnetNUL TruncateOverflow Undefined
UseNagleAlgorithm ViewPastData ZDateNull ZaMode

%AddToSaveSet %AddToSyncSet %BMEBuilt %CheckConstraints
%CheckConstraintsForExtent %ClassIsLatestVersion %ClassName %ComposeOid
%ConstructClone %Delete %DeleteExtent %DeleteId
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Exists
%ExistsId %Extends %GUID %GUIDSet
%GetLock %GetParameter %GetSwizzleObject %Id
%InsertBatch %IsA %IsModified %IsNull
%KillExtent %KillExtentData %LoadFromMemory %LockExtent
%LockId %New %NormalizeObject %ObjectIsNull
%ObjectModified %Oid %OnBeforeAddToSync %OnDetermineClass
%Open %OpenId %OriginalNamespace %PackageName
%PhysicalAddress %PurgeIndices %Reload %RemoveFromSaveSet
%ResolveConcurrencyConflict %RollBack %Save %SaveDirect
%SaveIndices %SerializeObject %SetModified %SortBegin
%SortEnd %SyncObjectIn %SyncTransport %UnlockExtent
%UnlockId %ValidateIndices %ValidateObject Get
GetList Help Modify Open
XMLDTD XMLExport XMLExportToStream XMLExportToString
XMLNew XMLSchema XMLSchemaNamespace XMLSchemaType


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.


• property AsyncDisconnectErr as %Boolean [ InitialExpression = 0,Required ];
This setting modifies the behavior of Caché when DisconnectErr is enabled.
0 - The process receives a error at the next read or write command.
1 - The process receives an asynchronous 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.
• property AsynchError as %Boolean [ InitialExpression = 1,Required ];
Enable processes to receive asynchronous errors.
0 - Processes cannot receive asynchronous errors.
1 - Processes can receive asynchronous errors.
This setting applies to ECP networking.
• property BreakMode as %Boolean [ InitialExpression = 1,Required ];
Process action when debug BREAK command executed.
0 - Breaks are ignored.
1 - Breaks are taken.
• property CollectResourceStats as %Boolean [ InitialExpression = 0,Required ];
Controls whether the system resource statistics are updated or not (seize, nseize, aseize, bseize).
0 - Statistics are not collected
1 - Statistics are collected.
• property DX as %Boolean [ InitialExpression = 0 ];
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).
• property DisconnectErr as %Boolean [ InitialExpression = 0,Required ];
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 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 error when a disconnect is detected during a Write or Read command.
• property EnableLongStrings as %Boolean [ InitialExpression = 1,Required ];
Enable large stack space for long strings.
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.
• property FileMode as %Boolean [ InitialExpression = 0,Required ];
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.
• property GlobalKillEnabled as %Boolean [ InitialExpression = 1,Required ];
Enable KILL of an unsubscripted global.
0 - KILL of an unsubscripted global results in a 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.
• property IEEEError as %Boolean [ InitialExpression = 1 ];
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 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é , , and errors when given an unresolvable numeric expression.
• property LineRecall as %Boolean [ InitialExpression = 1,Required ];
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 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.
• property LogRollback as %Boolean [ InitialExpression = 0,Required ];
Enable logging for transaction rollbacks.
0 - Do not log transaction rollbacks.
1 - Log transaction rollbacks to the console log file.
• property MVDefined as %Boolean [ InitialExpression = 0 ];
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 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 error for an undefined variable.
1 - substitute the empty string for an undefined variable.
• property NodeNameInPid as %Boolean [ InitialExpression = 0,Required ];
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.
• property NullSubscripts as %Boolean [ InitialExpression = 0,Required ];
Enable null subscript references.
0 - Throw error when referencing a null subscript.
1 - Null subscript references do not throw an error.
• property OldZU5 as %Boolean [ InitialExpression = 0,Required ];
When switching namespace to the same namespace via $zu(5) 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.
• property OpenMode as %Integer(MAXVAL=1,MINVAL=0,VALUELIST=",0,1") [ InitialExpression = 0,Required ];
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
• property PopError as %Boolean [ InitialExpression = 0,Required ];
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).
• property RefInKind as %Boolean [ InitialExpression = 0,Required ];
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.
• property ScientificNotation as %Boolean [ InitialExpression = 1 ];
Enables or disables lowercase "e" as scientific notation symbol system-wide.
0 - Disable lowercase "e".
1 - Enable lowercase "e".
• property SetZEOF as %Boolean [ InitialExpression = 0,Required ];
Behavior when the system encounters an unexpected end-of-file when reading a sequential file.
0 - Throw an error.
1 - Set the special variable $ZEOF to indicate that you have reached the end of the file.
• property ShutDownLogErrors as %Boolean [ InitialExpression = 0,Required ];
Write ^SYSLOG errors to the console log file at shutdown.
0 - Do not write ^SYSLOG errors.
1 - Write ^SYSLOG errors.
• property StopID as %Boolean [ InitialExpression = 0 ];
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 Caché processes with STOP/ID.
1 - Disable deletion of Caché processes with STOP/ID.
• property SwitchOSdir as %Boolean [ InitialExpression = 0,Required ];
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.
• property SynchCommit as %Boolean [ InitialExpression = 0,Required ];
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.
• property TelnetNUL as %Boolean [ InitialExpression = 0 ];
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.
• property TruncateOverflow as %Boolean [ InitialExpression = 0,Required ];
Enable the error on numeric overflow.
When the system encounters a number larger than 9223372036854775807 E127 (or smaller than -9223372036854775808 E127) it throws the error.
0 - error is thrown.
1 - error is suppressed.
• property Undefined as %Integer(MAXVAL=2,MINVAL=0,VALUELIST=",0,1,2") [ InitialExpression = 0,Required ];
ObjectScript response to undefined variables.
0 - Always throw an error.
1 - If the undefined variable has subscripts, return a null string, but if the undefined variable is single-valued, throw an error.
2 - Always return a null string.
• property UseNagleAlgorithm as %Boolean [ InitialExpression = 0,Required ];
Enable the Nagle algorithm for Telnet (Windows only).
0 - Nagle algorithm is disabled.
1 - Nagle algorithm is enabled.
• property ViewPastData as %Boolean [ InitialExpression = 0,Required ];
Enable $VIEW command to examine data outside of Cache memory area.
0 - $VIEW command throws an error.
1 - $view command does not throw an error.
• property ZDateNull as %Boolean [ InitialExpression = 0,Required ];
$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 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.
• property ZaMode as %Boolean [ InitialExpression = 0,Required ];
Determines how the ZALLOCATE (ZA) and ZDEALLOCATE (ZD) commands behave, according to Caché rules or DSM-11 rules.
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.


• index (CPFNameSectionHeaderName on CPFName,SectionHeader,Name) [IdKey,Unique];

Copyright © 1997-2019, InterSystems Corporation