Skip to main content

%DeepSee.CubeSchedule.Map

class %DeepSee.CubeSchedule.Map extends %Library.RegisteredObject, %XML.Adaptor

Property Inventory

Method Inventory

Parameters

parameter DOMAIN = %DeepSee;

Properties

property Description as %String (MAXLEN = 2500);
Description of this registry definition.
Property methods: DescriptionDisplayToLogical(), DescriptionGet(), DescriptionIsValid(), DescriptionLogicalToDisplay(), DescriptionLogicalToOdbc(), DescriptionNormalize(), DescriptionSet()
property Disabled as %ZEN.Datatype.boolean;
Disabled = true will suspend the automated Build and Synch tasks for this namespace.
Property methods: DisabledDisplayToLogical(), DisabledGet(), DisabledIsValid(), DisabledLogicalToDisplay(), DisabledLogicalToOdbc(), DisabledLogicalToXSD(), DisabledNormalize(), DisabledSet(), DisabledXSDToLogical()
relationship Groups as array of %DeepSee.CubeSchedule.Group [ InitialExpression = $listbuild("%DeepSee.CubeSchedule.Group","Map",+$this,"many",0,0) , Transient , Inverse = Map , Cardinality = many ];
The collection of groups that are defined in the overall sysem registry map
Property methods: GroupsGet(), GroupsGetObject(), GroupsGetObjectId(), GroupsGetSwizzled(), GroupsIsEmpty(), GroupsIsValid(), GroupsNewObject(), GroupsRClose(), GroupsRExec(), GroupsRFetch(), GroupsRelate(), GroupsSQLCompute(), GroupsSet(), GroupsUnRelate()
property IndependentSync as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
Controls whether cubes within a group are synchronized based on the relationship dependency (the default) or if it synchronizes solely based on schedule.
Property methods: IndependentSyncDisplayToLogical(), IndependentSyncGet(), IndependentSyncIsValid(), IndependentSyncLogicalToDisplay(), IndependentSyncLogicalToOdbc(), IndependentSyncLogicalToXSD(), IndependentSyncNormalize(), IndependentSyncSet(), IndependentSyncXSDToLogical()
property SerialUpdates as %ZEN.Datatype.boolean [ InitialExpression = 1 ];
If this property is set to 1, the updater tasks will not job off the group update code and will instead run all updates in a single process.
Property methods: SerialUpdatesDisplayToLogical(), SerialUpdatesGet(), SerialUpdatesIsValid(), SerialUpdatesLogicalToDisplay(), SerialUpdatesLogicalToOdbc(), SerialUpdatesLogicalToXSD(), SerialUpdatesNormalize(), SerialUpdatesSet(), SerialUpdatesXSDToLogical()
property StorageClass as %String (XMLPROJECTION = "NONE");
When this is loaded into memory, this stores the name of the class the map was loaded from.
Property methods: StorageClassDisplayToLogical(), StorageClassGet(), StorageClassIsValid(), StorageClassLogicalToDisplay(), StorageClassLogicalToOdbc(), StorageClassNormalize(), StorageClassSet()

Methods

classmethod LoadFromClass(pClassname As %String, Output pStatus As %Status) as %DeepSee.CubeSchedule.Map
Deserialize the XML from the Registry XData block into a %DeepSee.CubeSchedule.Map model.
method Print()
Diagnostic method, prints information about the current map.
classmethod RunUpdate() as %Status
Run each schedule group's update in sequence. This is executed under a lock to communicate back to the task that an update on this schedule is already running. Each group is individually responsible for determining when it should update.
method SaveToClass(pClassName="") as %Status
Serializes the current Registry structure into XML inside the XData block in the relevant Registry class.
method ToArray(ByRef pGroups, ByRef pCubes, ByRef pBuildOrders, ByRef pLookup) as %Status
Converts the current map into an array. If this is the full {registered}U{unregistered} map, the first three arrays will match those returned using the call
%DeepSee.CubeUtils:%GetCubeGroups()(.pGroups,.pCubes,.pBuildOrders)
This method also returns a special lookup index which can be used to quickly reference the group or cube objects contained in the current map object.
  Set CubeName = "HOLEFOODS"
  Set Map = ##class(%DeepSee.CubeManager.Utils).BuildRegistryMap()
  Do Map.ToArray(.Groups,.Cubes,.BuildOrders,.Lookup)
  Set GroupIdx = $LG(Lookup("cubes",CubeName),1)
  Set CubeIdx = $LG(Lookup("cubes",CubeName),2)
  Set Cube = Map.Groups.GetAt(GroupIdx).Cubes.GetAt(CubeIdx)
  
method Validate() as %Status
Perform validation on the Map object to determine if it is ready for save.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab