Skip to main content


abstract persistent class EnsLib.RecordMap.ComplexChild extends %Library.Persistent, EnsLib.RecordMap.ComplexBase

SQL Table Name: EnsLib_RecordMap.ComplexChild

Class to implement the behaviour for objects that will be referenced by extensions of EnsLib.RecordMap.ComplexParent, primarily EnsLib.RecordMap.ComplexBatch and EnsLib.RecordMap.ComplexSequence. The main work done here in the various generator methods is to use the "%%ParentRefs" subscript of the main storage node to maintain a list of references to this object. This list is used during the deletion of parents to determine whether this child can be removed.

Property Inventory

Method Inventory


property %ParentRefs as %String [ MultiDimensional ];
Array to contain an in-memory set of references to parent objects. The contents of this property can be reloaded by calling %ParentRefsLoad()(). If no reloads are performed, the values reflected in this array are only true as of the time the object was loaded.
Property methods: %ParentRefsDisplayToLogical(), %ParentRefsGet(), %ParentRefsIsValid(), %ParentRefsLogicalToDisplay(), %ParentRefsLogicalToOdbc(), %ParentRefsNormalize(), %ParentRefsSet()


classmethod %IsReferenced(pID As %String) as %Boolean
Indicate whether any references exist for a given child ID.
classmethod %ParentAdd(pID As %String = "", pParentClass As %String = "", pParentId As %String = "") as %Status
Add a reference to the supplied parent from the specified child ID.
method %ParentRefsLoad() as %Status
Load the data from the "%%ParentRefs" subnode into the %ParentRefs multidimensional property.
classmethod %ParentRemove(pID As %String = "", pParentClass As %String = "", pParentId As %String = "") as %Status
If the supplied child ID contains a reference to the specified parent, remove the reference.
classmethod %ParentsClear(pID As %String = "")
Remove all parent references for a given child ID.

Inherited Members

Inherited Methods


FeedbackOpens in a new tab