Entity Views

The Entity and EntityParent views enable QBO to recursively determine the ancestors and descendants for a given object. For example, a Foreclosure may have:
  • Loan as a parent
  • Property as a grandparent
  • many Processes as children
  • many Decisions as children and grandchildren
  • many Attachments as children and grandchildren
The Entity view serves up all tables for which the Summary, ObjectData or ObjectTree statements needs to be called.

The EntityParent view service up all tables that participate in the Entity view and may be children of items in the Entity view. For example, Attachment and Message are in both the Entity and EntityParent views, but AttachmentTemplate and MessageTemplate exist only in the Entity view.

Both views can be maintained from Design > Configuration > Data Tuning, Options > Entity View.  This management control will display all installed modules, including:
  • Module name
  • Parent key (in the case of classes derived from GenericObject, this may be Object/ID)
  • Entity participation: Included, Excluded, or Custom
  • Entity Parent participation: Included, Excluded, Ignored or Custom
The terms Included, Excluded, Ignored or Custom are defined as:
  • Included means that the view contains a 'standard' clause
  • Excluded means that the view does not include any reference to the module (it has an EntityParent filter with an empty clause)
  • Ignored means that the view does not include any reference to the module because the module does not have a parent key and is not generic
  • Custom means that the view contains a custom clause based on the EntityParent filter
Options include:
  • Rebuild View: this will rebuild the Entity and EntityParent views based on the current configuration
  • Exclude: this will exclude a table from both views by creating an Entity and an EntityParent filter with an empty clause
  • Include: this will remove custom Entity and EntityParent filters
A sample 'standard' clause of an object with no parent is:

SELECT  
'AttachmentTemplate' AS Object,  
AttachmentTemplateID AS ObjectID,  
AttachmentTemplate AS Label,  
NULL AS Parent,  
NULL AS ParentID  
FROM AttachmentTemplate WITH (NOLOCK)

A sample 'standard' clause of an object with a parent key is:

SELECT   
'Loan' AS Object,  
LoanID AS ObjectID,  
Loan.Loan AS Label,  
'Property' AS Parent,  
Loan.PropertyID AS ParentID  
FROM Loan WITH (NOLOCK)

A sample 'standard' clause of an object that is derived from GenericObject is:

SELECT  
'Message' AS Object,  
MessageID AS ObjectID,  
Message AS Label,  
Object AS Parent,  
ObjectID AS ParentID  
FROM Message WITH (NOLOCK)

Additionally, hyperlinks in the Entity and EntityParent columns allow you to define a custom filter. A sample custom clause for the Smart Worklist Member module is::

SELECT
'SmartWorklistMember' AS Object,
SmartWorklistMemberID AS ObjectID,
SmartWorklistMember AS Label,
SourceObject AS Parent,
SourceObjectID AS ParentID
FROM
SmartWorklistMember

This is different than a 'standard' clause which would treat the Smart Worklist as the parent of a Smart Worklist Member. It enables Smart Worklist Member rows to appear as children of the objects being pointed to by SourceObject/ID.


Comments