Skip to main content


abstract class Ens.VDoc.SearchTable extends Ens.SearchTableBase

Batch Virtual Document association of Child Document SearchTable properties in MessageSearch is available when: No developer action is needed when creating subclasses of enabled SearchTable extent class (For example: Sub-classes of EnsLib.EDI.X12.SearchTable)

Property Inventory

Method Inventory


property PropId as %Integer [ Required ];
Batch Document control for whether to add indexes to Top ParentId for convenience Index of a virtual property definition row in class Ens.Config.SearchTableProp, in the context of the current SearchTable subclass's storage extent
Property methods: PropIdDisplayToLogical(), PropIdGet(), PropIdIsValid(), PropIdLogicalToDisplay(), PropIdNormalize(), PropIdSet()
property PropValue as %String (MAXLEN = 256, TRUNCATE = 1) [ Required ];
Value found in the document using the ValueGetExpression from the property Item referred to by PropId
Property methods: PropValueDisplayToLogical(), PropValueGet(), PropValueIsValid(), PropValueLogicalToDisplay(), PropValueLogicalToOdbc(), PropValueNormalize(), PropValueSet()


classmethod DeleteObsoleteProps(maxRows=100000, listOnly As %Boolean = 1, Output hasRemainingData As %Boolean = 0, Output dataCount) as %Status
An Obsolete SearchTable Property is one that was historically defined, in SearchSpec XData, of an earlier version of SearchTable subclass. For example:
  XData SearchSpec [ XMLNamespace = "" ]
   <Item DocType="2.5:ORU_R01"  PropName="OrderControl">[ORC:1]</Item>
Consider the removal of PropName "OrderControl" from the SearchSpec in the respective compiled SearchTable class. Indexed MessageBodies may continue to exist in environment due to purge or renention policies. Prior to the removal of registered obsolete indexes, this method will first remove obsolete index data. After removing or confirming all obsolete index data has been removed, this method then follows up by unregistering the obsolete index property. On sucessful completetion of removal of both index data and property index registration, these obsolete properties will no longer be visible in Search Criteria for Message Viewer in the Management Portal.
  • maxRows - By default, this limits the number of records removed. This caution allows impact to journals to be observed and evaluated, for the sample number of records removed. Use a value of "-1" to simply delete ALL obsolete records for this search table.
  • listOnly - By Default output a message for number of index data records and property indexes that would be affected.
  • hasRemainingData - Boolean flag to indicate whether further subsequent data index removal is required.
  • dataCount - Output array. Key is index property name. Value is count of indexed values. This show the counts of obsolete data removed for each indexed property OR when using listOnly, the count of all indexed values for each obsolete indexed property.
Returns status.
classmethod DeleteProps() as %Status
Delete the objects that define SearchTable properties for this searchTable class and all other classes in the same inheritance tree.
classmethod IndexDoc(pDocObj As %Persistent) as %Status
Inherited description: Method which actually performs indexing of the message / document supplied in the pDocObj argument. This method should be overridden in subclasses.
classmethod IsListExpression(tGetExpression As %String) as %Boolean
Returns True if the given expression will return multiple values
Build output array of all documents and message headers that contain the given value for the given property
classmethod genGetCode(tGetExpression As %String) as %String
Generates an expression that 1) evaluates to a string value and 2) sets status code 'tSCGet'
classmethod genGetCodeList(tGetExpression As %String, tPreExpression As %String, tPostExpression As %String) as %String
Generates an expression that sets an array of values found in 'tList' and 2) sets status code 'tSCGet' It may evaluate to a string but we intend to ignore that.


index (indexDocId on DocId,PropId,PropValue) [Unique];
Index must be re-declared in each non-Abstract, %Persistent subclass
index (indexValue on PropId,PropValue,DocId) [IdKey, Type = key, Unique];
Index must be re-declared in each non-Abstract, %Persistent subclass

Inherited Members

Inherited Properties

Inherited Methods


FeedbackOpens in a new tab