Manage associations case architecture
All associations are saved to and are retrieved from the Link database table (PegaPS-Int-Link). When modifications are made, the Link database table updates accordingly.
The LinkedFromID is the primary entity ID from where the association is first created. The LinkedToID is the entity ID to which the association is mapped.
Associations are retrieved from the D_AssociationList data page. The data page takes as parameters the EntityID, EntityType and built-on application ID.
- When the Manage associations case is launched from the Entity view screen, the EntityID is the preset.
- When the Manage associations case is launched from the case manager or case worker portal by using the Manage associations link in the New menu, you must select the Manage associations for field.
The D_AssociationList is sourced from the PegaPS-Data-Link (Link) database table by using the EntityAssociations report definition. This report definition excludes entries from the Link table that have pyMemo set as Associate, Bid, Branch, Experience, Reporter, or Training, which represent associations for the other widgets of the entity view that are skipped in the Manage associations case to avoid redundancy.
FetchAssociationListDetails (Code-Pega-List) is the response data transform that is run on D_AssociationList. This iterates through the results from the Link table and forms Primary.Results, which is of the PegaPS-Data-Association. This data transform has the logic to set the LinkedFromID, LinkedToID, LinkedClassFrom, LinkedClassTo, Role, IsReverseRole, and Entity Image data class fields, which are defined in the PegaPS-Data-Association class or its inheritance class to support associations.
Different categories of roles are maintained in the Option map (PegaPS-Data-Config-OptionMap) table, such as for example, PersonPerson, PersonBusiness, and BusinessFacility. This table holds all of the possible roles between the Person to Person, Person to Business, and other associations.
Reverse roles are defined in the AssociationsRoleMapping (PegaPS-Data-Association) decision table. The FetchAssociationListDetails data transform uses this decision table to retrieve the reverse role if the associations are to be displayed in the context of the LinkedToID and not the context from where the association is created.