Home > Class Reference > %SYS namespace > Config.Startup
Private  Storage   


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

This class allows you to modify and view the [Startup] 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, specify the CPF file 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.Startup).Get(.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
%SYS>zw Properties("MaxConsoleLogSize")
%SYS>s Properties("MaxConsoleLogSize")=10
%SYS>s Status=##Class(Config.Startup).Modify(.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Now use Objects to modify properties
%SYS>s Obj=##Class(Config.Startup).Open()
%SYS>w Obj.MaxConsoleLogSize
%SYS>s Obj.MaxConsoleLogSize=20
%SYS>s Status=Obj.%Save()
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)


Parameters Properties Methods Queries Indices ForeignKeys Triggers
28 10 1


CPFFile CallinHalt CallinStart CliSysName
Comments DBSizesAllowed DefaultPort DefaultPortBindAddress
EnableVSSBackup EnsembleAutoStart ErrorPurge FIPSMode
Flags IPv6 JobHalt JobServers
JobStart MaxCacheTempSizeAtStart MaxConsoleLogSize Name
ProcessHalt ProcessStart ShutdownTimeout SystemHalt
SystemStart TempDirectory TerminalPrompt WebServer
WebServerName WebServerPort WebServerURLPrefix ZSTU

%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 CheckWebServerStatus
Get GetList Help Modify
Open RestartSuperServer RestartWebServer SetTerminalPrompt
StopWebServer SwitchConsoleLog XMLDTD XMLExport
XMLExportToStream XMLExportToString XMLNew XMLSchema
XMLSchemaNamespace XMLSchemaType


• property CallinHalt as %Boolean [ InitialExpression = 1,Required ];
Execute the CALLIN^%ZSTOP routine entry during calling Halt.
• property CallinStart as %Boolean [ InitialExpression = 1,Required ];
Executes the CALLIN^%ZSTART routine entry during Callin startup.
• property CliSysName as %String(MAXLEN=64,MINLEN=0);
Name used to append to $J when Config.Miscellaneous.NodeNameInPid is set.
• property DBSizesAllowed as %String(MINLEN=4) [ InitialExpression = "8192",Required ];
Stores a list of allowed database block sizes.
• property DefaultPort as %Integer [ InitialExpression = 1972,Required ];
Port for the SuperServer.
• property DefaultPortBindAddress as Config.Host(MAXLEN=256,MINLEN=0);
IP Address SuperServer will bind to.
By default, the SuperServer accepts requests on all addresses, but if a DefaultPortBindAddress is specified it will accept requests only on that address. You should insure that all clients, including the CSP Gateway, are also configured to connect to the address you specify. If no address is specified, the SuperServer will accept requests directed to any address on the server.
• property EnableVSSBackup as %Boolean [ InitialExpression = 0,Required ];
Start the VSS Backup Daemon.
• property EnsembleAutoStart as %Boolean [ InitialExpression = 0,Required ];
Auto start the Ensemble productions.
• property ErrorPurge as %Integer(MAXVAL=1000,MINVAL=1) [ InitialExpression = 30,Required ];
Number of days to store application error logs before purging them.
• property FIPSMode as %Boolean [ InitialExpression = 0,Required ];
Use FIPS 140-2 compliant library for database encryption.
• property IPv6 as %Boolean [ InitialExpression = 0,Required ];
System is operating in an IPv6 network, with IPv6 addresses.
0 - IPv6 is not enabled.
1 - IPv6 is enabled.
• property JobHalt as %Boolean [ InitialExpression = 1,Required ];
Execute the JOB^%ZSTOP routine entry during JOB process Halt.
• property JobServers as %Integer(MAXVAL=2000,MINVAL=0) [ InitialExpression = 0,Required ];
Number of job servers you want the system to start up with.
• property JobStart as %Boolean [ InitialExpression = 1,Required ];
Execute the JOB^%ZSTART routine entry during JOB process startup.
• property MaxCacheTempSizeAtStart as %Integer(MAXVAL=1000000,MINVAL=0) [ InitialExpression = 0,Required ];
Maximum size in megabytes the CacheTemp database will be when the system is restarted.
When the system restarts, the CacheTemp database will be truncated to this size. If 0, the CacheTemp database will not be truncated.
• property MaxConsoleLogSize as %Integer(MAXVAL=500,MINVAL=1) [ InitialExpression = 5,Required ];
Maximum size in megabytes of the cconsole.log after which it will be automatically switched.
• property ProcessHalt as %Boolean [ InitialExpression = 1,Required ];
Execute the LOGIN^%ZSTOP routine entry during terminal user Halt.
• property ProcessStart as %Boolean [ InitialExpression = 1,Required ];
Execute the LOGIN^%ZSTART routine entry during terminal user startup.
• property ShutdownTimeout as %Integer(MAXVAL=100000,MINVAL=120) [ InitialExpression = 300,Required ];
Enter the time, in seconds, Caché should wait for shutdown to complete normally before timing out and forcing a shutdown.
• property SystemHalt as %Boolean [ InitialExpression = 1,Required ];
Execute the SYSTEM^%ZSTOP routine entry during system shutdown.
• property SystemStart as %Boolean [ InitialExpression = 1,Required ];
Executes the SYSTEM^%ZSTART routine entry during system startup.
• property TempDirectory as %SysPath [ InitialExpression = "Temp" ];
Directory for temporary files.
• property TerminalPrompt as %String [ InitialExpression = "8,2",Required ];
Set the format of the terminal prompt.
This is a comma separated string of values which set the default terminal prompt for the system.
0 - Use only ">" for the prompt.
1 - Host name, also known as the current system name. The name assigned to your computer. For example, LABLAPTOP>. This is the same for all of your terminal processes.
2 - Namespace name. For example, %SYS>. The current namespace name is contained in the $NAMESPACE special variable. It can be an explicit namespace name or an implied namespace name.
3 - Config name. The name of your system installation. For example, CACHE2>. This is the same for all of your terminal processes.
4 - Current time, expressed as local time in 24-hour format with whole seconds. For example, 15:59:36>. This is the static time value for when the prompt was returned. This value changes for each prompt.
5 - pid. The Process ID for your terminal. For example, 2336>. This is different for each terminal process. This value can also be returned from the $JOB special variable.
6 - Username. For example, fred>. This is the same for all of your terminal processes.
7 - Elapsed time executing the last command, in seconds.milliseconds. For example, .000495>. Leading and trailing zeros are suppressed. This changes for each prompt.
8 - Transaction Level. For example, TL1>.

The order of the values in the string determines the order the values appear in the prompt. For example TerminalPrompt="2,1" will give you a terminal prompt of "%SYS:HostName>"
• property WebServer as %Boolean [ InitialExpression = 1,Required ];
Start the private WebServer.
• property WebServerName as %String;
Webserver name or IP address the private web server is running on.
If not specified, it defaults to localhost. For Unix and Windows, the private web server will be started on this node, on the specified IP address and port. For VMS, This is the IP address of the node where the webserver is running.
• property WebServerPort as %Integer [ InitialExpression = 57772,Required ];
Private WebServer port.
• property WebServerURLPrefix as %SysPath;
URL prefix.
• property ZSTU as %Boolean [ InitialExpression = 1,Required ];
Run the user defined startup from the ZSTU routine at system startup.


• classmethod CheckWebServerStatus(Delay As %Integer = 0, TCPPort As %Integer = 0) as %Status
Request a test page (ping) from the private webserver.

This is valid only for Windows and Unix. If run on VMS, or the web server is configured to not start, it always returns success.
Delay - Number of seconds to wait before making request.
• classmethod RestartSuperServer() as %Status
Restart the super server.
• classmethod RestartWebServer() as %Status
Restart the private webserver.
• classmethod SetTerminalPrompt() as %Status
Set the terminal prompt to the system default.
• classmethod StopWebServer(Restart As %Integer = 0) as %Status
Restart the private webserver.
• classmethod SwitchConsoleLog() as %Status
Switch the cconsole.log file if it is larger than the max size defined.
On a MultiValue system, it will also switch the mv.log file if it grows too large.


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