Inherited description: XMLIGNORENULL allows the programmer to override the default XML handling
of empty strings for properties of type %String. By default (XMLIGNORENULL = 0),
empty strings in the XML input are stored as $c(0) and $c(0) is written to XML
as an empty tag. A missing tag in the XML input is always stored as "" and
"" is always output to XML as no tag.
If XMLIGNORENULL is set = 1, then both missing tags in the XML and empty
strings are input as "", and both "" and $c(0) are output as empty tags
If XMLIGNORENULL is set = "inputonly", then both missing tags in the XML and empty
strings are input as "". Output of "" and $c(0) are for XMLIGNORENULL = 0:
$c(0) is output as an empty tag (i.e. <tag></tag>) and "" is output as no tag.
If XMLIGNORENULL = "runtime" (runtime is not case sensitive), then the behavior
of XMLIGNORENULL is determined by the format parameter of XMLExport, XMLImport
and %XML.Reader.OpenFile. The default behavior for XMLIGNORENULL="runtime is
the same as XMLIGNORENULL=0. Adding "ignorenull" to the format argument changes
the behavior to that of XMLIGNORENULL=1. "ignorenull" shoud be separated by a comma
from literal/encoded part of the format. Example values for format are "", ",ignorenull",
"literal,ignorenull" and "encoded,ignorenull".
Note that "inputonly" is equivalent to using ,ignorenull for XMLExport and not for %XML.Reader.
Properties (Including Private)
property AlertGroups as %String (MAXLEN = 2500, XMLPROJECTION = "NONE");
A computed property to reflect the values specified in the AlertGroups setting in Settings.
The primary purpose of this property is to allow us to build the AlertGroup index on all the individual
group values in the string. The actual breaking down of this value is performed in AlertGroupBuildValueArray()().
property ModifiedSettings as list of Ens.Config.Setting (XMLPROJECTION = "NONE") [ Transient ];
Same format as Settings. You must call PopulateModifiedSettings() to populate this collection.
The collection contains the list of settings that are either defined in the production, or have default setting overrides.
property PoolSize as %Integer (MINVAL = 0, XMLPROJECTION = "ATTRIBUTE");
Number of jobs to start for this config item.
0 for Business Processes (i.e. use shared Actor Pool)
1 for FIFO message router Business Processes (i.e. use a dedicated job)
1 for Business Operations
0 for adapterless Business Services
1 for others
For TCP based Services with JobPerConnection=1, this value is used to limit the number of connection jobs if its value is greater than 1. A value of 0 or 1 places no limit on the number of connection jobs.
Specifies times when this item should be stopped and restarted.
You may enter a string formatted as a comma-separated list of event specifications,
or you may enter the name of a schedule specification preceded by the @ symbol.
To create a named schedule specification, use the Interoperability > Configure > Schedule Specs page.
If you wish to simply enter an event specification string in this field, it must use the following format:
Where each item in the event specification, from left to right, has the values described below:
action - must be either START or STOP
: - Required separator
YYYY-MM-DD - This part of the string must have one of the following two syntaxes:
YYYY is the year as 4 numerals, MM is the month as 2 numerals and DD is the day of the month as 2 numerals.
Any of these fields may be the single character * (asterisk) indicating all years, all months, or all days.
YYYY is the string WEEK, MM is the specific occurrence of the day of the week (indicated by DD) in the month
(01 = first occurrence of the specific day of the week in the month, 02 = second occurrence in the month, etc.), and
DD is a specific day of the week (00 = Sunday, 01 = Monday, etc.).
MM may be * for all occurrences and DD may be * for all days.
Note that once a field is specified as *, all fields to the left of it are also assumed to be *.
Thus, if the DD value is *, the MM value is treated as * even if it has a specific numeric value.
Similarly, if MM is *, YYYY is treated as *.
T - Required separator
hh:mm:ss - Hour, minute, and second
, - Use the comma separator only if there is another event specification after the current one.
Do not use it at the end of the Schedule string.
For example, to start the configuration item every day at 8 a.m. and stop it every day at 5 p.m.
you could use the following schedule string:
As described at the beginning of this topic, you can also create a named schedule string.
Assuming you named your schedule 'Daytime', you could then refer to your named schedule as follows:
property VirtualSettings as list of %String (XMLPROJECTION = "NONE") [ Transient ];
Contains the list of settings, value, value_type, default, default_type and other meta information.
Must call PopulateVirtualSettings() to populate this collection.
The format of value of each element is the following:
$LB(Target, Name, Value, ValueType, Default, DefaultType, Description, Type, MAXLEN, MINVAL, MAXVAL, VALUELIST, DISPLAYLIST, IsRequired)
method AdapterClassName() as %String [ Language = objectscript ]
Name of the Adapter class used by this config item.
classmethod AlertGroupsBuildValueArray(pAlertGroups As %String = "", Output pValueArray As %String) as %Status [ Language = objectscript ]
Helper method to allow the individual values in AlertGroups to be indexed.
method BusinessType() as %String [ Language = objectscript ]
The Business type of this config item.
method CheckForIllegalCharacters(pName As %String) as %Status [ Language = objectscript ]
Check for characters that are illegal in configuration item names.
Characters | ; , : [ are not allowed at all,
characters ! - $ are not allowed as first or last character,
and character * is not allowed as the whole config name.
method Checksum() as %Integer [ Language = objectscript ]
Checksum used in updating production.
classmethod ComputeAlertGroups(pSettings) as %String [ Language = objectscript ]
Method to compute the value of AlertGroups based on the value of
the AlertGroups setting in the serialized Settings list passed in as pSettings.
method FindSettingByName(pSettingName As %String, pTarget As %String = "") as Setting [ Language = objectscript ]
method PopulateModifiedSettings() as %Status [ Language = objectscript ]
Call this method to initialize the ModifiedSettings collection.
The collection includes settings defined in the Production as well as those ones with default setting overrides.
method PopulateVirtualSettings() as %Status [ Language = objectscript ]
Populate the VirtualSettings collection.
method QueueName() as %String [ Language = objectscript ]
Queue name used by this config item.
method UpdateSettings(pArray) as %Status [ Language = objectscript ]
This method updates the settings collection with the data from pArray.
The settings collection is cleared first, then the entries in pArray are used to update it.
The format of pArray is the following:
pArray = total number of entries
pArray(i) = $LB(Target, Name, Value)
index (AlertGroup on Production:Exact,AlertGroups(ELEMENTS):Exact);
Index on all the group names defined in AlertGroups. The production is included in the
index to ensure that the available values are correct for each production.