Skip to main content


persistent class Config.Shadows extends %Library.Persistent, Config.CommonMultipleMethods, Config.CommonProperties, %SYSTEM.Help

SQL Table Name: Config.Shadows

This class allows you to modify and view the [Shadows] section of the CPF file through programatic 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 (Create/Get/Modify/Delete) to modify the properties by passing in the correct parameters, or use Object syntax to open and directly manipulate the config objects (Open() and Exists()). Most objects created here need only to specify the Name of the object, and 1 or 2 properties since the the defaults are what are commonly used for most cases.


; Use class methods to create an instance
%SYS>s Name="ABC"
%SYS>s Properties("Enabled")=0
%SYS>s Properties("Address")="|56775"
%SYS>s Status=##Class(Config.Shadows).Create(Name,.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Use class methods to modify properties
%SYS>s Status=##Class(Config.Shadows).Get(Name,.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
%SYS>zw Properties
%SYS>s Properties("Enabled")=1
%SYS>s Status=##Class(Config.Shadows).Modify(Name,.Properties)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Now use Objects to modify properties
%SYS>s Obj=##Class(Config.Shadows).Open(Name)
; We could have used i ##Class(Config.Shadows).Exists(Name,.Obj) instead of Open()
%SYS>w Obj.Enabled
%SYS>s Obj.Enabled=0
%SYS>s Status=Obj.%Save()
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)
; Now delete the object we just created
%SYS>s Status=##Class(Config.Shadows).Delete(Name)
%SYS>i 'Status w !,"Error="_$SYSTEM.Status.GetErrorText(Status)

Property Inventory


parameter CAPITALNAME = 0;
Inherited description: Determines if the Name specified in the index should be capitalized.


property Address as %NetworkAddress [ Required ];
IP Address to connect to.
Property methods: AddressDisplayToLogical(), AddressFormatForHttp(), AddressGet(), AddressGetStored(), AddressIsValid(), AddressLogicalToDisplay(), AddressLogicalToOdbc(), AddressNormalize(), AddressSet()
property DaysBeforePurge as %Integer (MAXVAL = 10000, MINVAL = 0) [ InitialExpression = 0 , Required ];
Property methods: DaysBeforePurgeDisplayToLogical(), DaysBeforePurgeGet(), DaysBeforePurgeGetStored(), DaysBeforePurgeIsValid(), DaysBeforePurgeLogicalToDisplay(), DaysBeforePurgeNormalize(), DaysBeforePurgeSet(), DaysBeforePurgeXSDToLogical()
property DisableJournalUpdates as %Boolean [ InitialExpression = 0 , Required ];
If true, updates that the shadow applies to the shadow databases are NOT journaled, regardless of the journal settings on the databases. By default, this is false, that is, shadow updates are journaled.
Property methods: DisableJournalUpdatesDisplayToLogical(), DisableJournalUpdatesGet(), DisableJournalUpdatesGetStored(), DisableJournalUpdatesIsValid(), DisableJournalUpdatesLogicalToDisplay(), DisableJournalUpdatesLogicalToXSD(), DisableJournalUpdatesNormalize(), DisableJournalUpdatesSet(), DisableJournalUpdatesXSDToLogical()
property Enabled as Security.Datatype.BooleanYN [ InitialExpression = 0 , Required ];
Specifies whether the shadow should be running or stopped.
0 - Stopped
1 - Running
Property methods: EnabledDisplayToLogical(), EnabledGet(), EnabledGetStored(), EnabledIsValid(), EnabledLogicalToDisplay(), EnabledLogicalToOdbc(), EnabledLogicalToXSD(), EnabledNormalize(), EnabledOdbcToLogical(), EnabledSet(), EnabledXSDToLogical()
property FilterRoutine as %String (MAXLEN = 64);
Property methods: FilterRoutineDisplayToLogical(), FilterRoutineGet(), FilterRoutineGetStored(), FilterRoutineIsValid(), FilterRoutineLogicalToDisplay(), FilterRoutineLogicalToOdbc(), FilterRoutineNormalize(), FilterRoutineSet()
property JournalDirectory as %SysPath [ InitialExpression = "shadow" , Required ];
Directory where the shadow journal files reside.
Property methods: JournalDirectoryDisplayToLogical(), JournalDirectoryGet(), JournalDirectoryGetStored(), JournalDirectoryIsValid(), JournalDirectoryLogicalToDisplay(), JournalDirectoryLogicalToOdbc(), JournalDirectoryNormalize(), JournalDirectorySet()
property MaxErrors as %Integer (MAXVAL = 20000, MINVAL = 10) [ InitialExpression = 10 , Required ];
Maximum number of errors to retain.
Property methods: MaxErrorsDisplayToLogical(), MaxErrorsGet(), MaxErrorsGetStored(), MaxErrorsIsValid(), MaxErrorsLogicalToDisplay(), MaxErrorsNormalize(), MaxErrorsSet(), MaxErrorsXSDToLogical()
property SSLConfig as %String;
SSL configuration to use on the shadow connection.
Property methods: SSLConfigDisplayToLogical(), SSLConfigGet(), SSLConfigGetStored(), SSLConfigIsValid(), SSLConfigLogicalToDisplay(), SSLConfigLogicalToOdbc(), SSLConfigNormalize(), SSLConfigSet()


query List(Names As %String = "*", CPFFile As %String = "", Flags As %Integer = 0, Format As %Integer = 0)
Selects Name As %String, Address As %String, Enabled As %Integer, JournalDirectory As %SysPath, DaysBeforePurge As %Integer, SSLConfig As %String, FilterRoutine As %String, MaxErrors As %Integer
List Shadows in a CPF file.

Names - Comma separated list of Shadow names
"*" - All records match
"String,String1" - Any records matching one of these elements
"String*" - Any record starting with "String"
"String,String1*,String2" - Any record matching one of these elements, or starting with "String1"
CPFFile - Name of the CPF file to use. A null string means use the active CPF file.
Flags - Currently ignored.
0 - Standard report list format
1 - ^CONFIG global format
2 - CPF file format format
Note: This query may change in future versions
query SourceDatabases(ShadowID As %String)
Selects Directory As %String, Mount State As %String
Returns info about source databases


index (CPFNameSectionHeaderName on CPFName,SectionHeader,Name) [IdKey, Type = key, Unique];
Index methods: CPFNameSectionHeaderNameCheck(), CPFNameSectionHeaderNameDelete(), CPFNameSectionHeaderNameExists(), CPFNameSectionHeaderNameOpen(), CPFNameSectionHeaderNameSQLCheckUnique(), CPFNameSectionHeaderNameSQLExists(), CPFNameSectionHeaderNameSQLFindPKeyByConstraint(), CPFNameSectionHeaderNameSQLFindRowIDByConstraint()

Inherited Members

Inherited Properties

Inherited Methods


Storage Model: Storage (Config.Shadows)

FeedbackOpens in a new tab