Effectivity Services Data Model Concept Overview
Copy
The Effectivity Services data model concept contains the following main structural blocks:
Figure 1.
- Effectivity Scope is an item of the ItemType “effs_scope” used for defining the context for effectivity resolution. An Effectivity Scope item requires a reference to the “Builder method” and may have “Scope Effective ItemType” relations to the RelationshipTypes where effectivity is managed.
Effectivity Scope ItemType is an item of the RelationshipType “effs_scope_itemtype” which creates a relationship between an Effectivity Scope item and an ItemType (“RelationshipType” ItemType). When this relationship is established, the Effectivity Services Core automatically creates a new null (No Related) RelationshipType for the specified ItemType and names it according to the template “effs_%ITEMTYPE%_expression”, where %ITEMTYPE% is the ItemType name.
The RelationshipType “effs_%ITEMTYPE%_expression” is added as a poly source to the polymorphic ItemType “effs_expression” to subscribe to the Effectivity Resolution Engine. This RelationshipType retains Effectivity Expressions.
- Builder Method is an item of the ItemType “Method”. A reference to it is stored in the “builder_method” property associated with the Effectivity Scope item. The Effectivity Resolution Engine calls this method to construct a Scope object, which serves as the base for effectivity resolution. For more information about the builder method, refer to section Implementing the Scope Builder Method.
Effectivity Services Data Model Technical Overview
This section contains a technical description of the Effectivity Services Data Model.
Figure 2. Table 2: Effectivity Services Data Model
| Item Type | Property | Description |
| ItemType | Standard ItemType ItemType, which is a holder of all ItemTypes in Aras Innovator | |
| ItemType1, ItemType2 | Relationship ItemTypes that are to be managed by effectivity. | |
| effs_scope, effs_scope_itemtype, effs_expression | Effectivity Data Model | |
| effs_scope | Container for scope object definition | |
| name | Name of Scope Item | |
| builder_method | Link to custom builder method that will construct Scope object for current Item | |
| effs_scope_itemtype | Relationship between Scope (source_id) and target Item Type(related_id) onBeforeAdd event auto-generates no related relationship with name effs_#ItemType#_expression. Just one Item can be created for pair scope and item type. | |
| effs_expression_itemtype_id | itemType id, effs_#ItemType#_expression | |
| source_id | effs_scope id | |
| related_id | itemType id, target relationship Item Type | |
| effs_expression | Polymorphic ItemType with onGet event for Effective Items filtering | |
| effs_scope_id | effs_scope id | |
| definition | Container for expression | |
| effs_#ItemType#_expression | Poly source for effs_expression. No related relationship to target ItemType | |
| effs_scope_id | effs_scope id | |
| source_id | item id for target Item Type | |
| definition | Container for expression |