Automation: Triggers
This page covers:
Triggers in Amp Impact
The Amp Impact package includes automation to simplify data management for the users.
Triggers are also included but can be deactivated as required.
Object | Trigger API Names | Actions | Trigger Summary |
---|---|---|---|
Disaggregated Indicator | DisaggregatedIndicatorRollup_AITR DisaggregatedIndicatorRollup_ADTR | After Insert, | This trigger rolls up the Disaggregation Group name onto the field Indicator__c.Disaggregation_Group__c This trigger removes the Disaggregation Group name from the field Indicator__c.Disaggregation_Group__c upon deleting the Disaggreated Indicator record This trigger rolls up records of ampi__Disaggregated_Indicators__c onto a ampi__Indicator__c record. For every ampi__Disaggregated_Indicator_record__c that exists, its parent ampi__Indicator__c record name appears as a list item in the Disaggregated_Indicator_text_c long text field on the parent Project Indicator record |
Disaggregated Project Indicator | DisaggregatedProjectIndicator_AITR DisaggregatedProjectIndicator_ADTR | After Insert, | This trigger rolls up the Disaggregation Group name onto the field Project_Indicator__c.Disaggregation_Group__c This trigger removes the Disaggregation Group name from the field Project_Indicator__c.Disaggregation_Group__c upon deleting the Disaggreated Project Indicator record This trigger rolls up records of ampi__Disaggregated_Project_Indicators__c onto a ampi__Project_Indicator__c record. For every ampi__Disaggregated_Project_Indicator_record__c that exists, its parent ampi__Project_Indicator__c record name appears as a list item in the Disaggregated_Project_Indicator_text_c long text field on the parent Project Indicator record |
Thematic Area | ThematicAreaRollUp_AU | After Update | This trigger syncs the Thematic_Area__c roll-up text field on Project Indicator with Thematic Area. If a Thematic Area’s Name has been updated and that Thematic Area has any child Project Indicator Thematic Area records, then the Thematic_Area__c roll-up text field on the related Project Indicator records will update with the new Name value |
Project Thematic Area | ProjectThematicArea_AD ProjectThematicArea_AI ProjectThematicArea_AUD ProjectThematicArea_BD ProjectThematicAreaPISync_V1 | After Insert, Delete, Undelete Before Delete | This trigger rolls up Thematic Areas onto a Project record. For every Project Thematic Area record that exists, the parent Thematic Area record name appears as a list item in the Thematic_Area_Text__c long text field on the parent Project record. When a Project Thematic Area record is deleted, the trigger deletes any Project Indicator records child to the same parent Thematic Area before deleting the Project Thematic Area record. This trigger also auto-creates Project Indicator records for Projects where Indicator_Thematic_Area__c and Thematic_Area__c = Project_Thematic_Area_c.ampi_Thematic_Area, and Indicator_Thematic_Area__c.Required__c = TRUE. |
Indicator Thematic Area | IndicatorThematicArea_AD IndicatorThematicArea_AI IndicatorThematicArea_AU IndicatorThematicArea_AUD IndicatorThematicAreaPISync_V1 | After Insert, Update, Delete, Undelete | This trigger rolls up Thematic Areas onto an Indicator record. For every Indicator Thematic Area record that exists, its parent Thematic Area record name appears as a list item in the Thematic_Area_Text__c long text field on the parent Indicator record. A user can also search for its parent Indicator record by using the Thematic_Area__c.Name value as a search term in the Indicator Catalog on the Manage Indicators Visualforce page. This trigger also auto-creates Project Indicator records for Projects where Indicator_Thematic_Area__c and Thematic_Area__c = Project_Thematic_Area_c.ampi_Thematic_Area, and Indicator_Thematic_Area__c.Required__c = TRUE. |
Project Indicator Thematic Area | ProjectIndicatorThematicArea_AD ProjectIndicatorThematicArea_AI ProjectIndicatorThematicArea_AU ProjectIndicatorThematicArea_AUD | After Insert, Update, Delete, Undelete | This trigger rolls up Thematic Areas onto a Project Indicator record. For every Project Indicator Thematic Area record that exists, its parent Thematic Area record name appears as a list item in the Thematic_Area_Text__c long text field on the parent Project Indicator record. A user can also search for its parent Project Indicator record by using the Thematic_Area__c.Name value as a search term on the STAR Visualforce pages. |
Geographic Area | GeographicalAreaRollUp_AU | After Update | This trigger syncs the Geographic_Area__c roll-up text field on Project Indicator with Geographic Area. If a Geographic Area’s Name has been updated and that Geographic Area has any child Project Indicator Geographic Area records, then the Geographic_Area__c roll-up text field on the related Project Indicator records will update with the new Name value. |
Project Geographic Area | ProjectGeographicArea_AI ProjectGeographicArea_AUD ProjectGeographicArea_BD | After Insert, Before Delete, Undelete | This trigger automates the creation and deletion of junction records (i.e. Project Indicator Geographic Area). When the Type__c value of a newly created Project Geographic Area matches the Geographical_Disaggregation__c value of any Project Indicator records that are child to the same Project as the Project Geographic Area, a PIGA record for that Project Geographic Area's parent Geographic Area and that Project Indicator is automatically created. When a Project Geographic Area record is deleted, the trigger deletes any PIGA records child to the same parent Geographic Area before deleting the Project Geographic Area record. When a Geographic Area record is undeleted, new PIGA records are created for any Project Indicator with a matching Geographical_Disaggregation__c value. |
Catalog Objective | ObjectiveRollUp_AU | After Update | This trigger syncs the Objective__c roll-up text field on Project Indicator with Catalog Objective. If a Catalog Objective has been updated and that Catalog Objective has any child Project Indicator Objective records, then the Objective__c field on the related Project Indicator record will update with the new Name value. |
Project Indicator Objective | ProjectIndicatorObjectiveRollup_AD ProjectIndicatorObjectiveRollup_AI ProjectIndicatorObjectiveRollup_AUD ProjectIndicatorObjectiveRollup_AU
| After Delete, Insert, Update, Undelete | This trigger rolls up Objectives onto a Project Indicator record. For every Project Indicator Objective record that exists, its parent Objective record name appears as a list item in the Objective__c long text field on the parent Project Indicator record. A user can also search for its parent Project Indicator record by using the Objective__c.Name value as a search term on the STAR Visualforce pages. |
Framework Objective | FrameworkObj PIO Rollup Service
| After Delete, Insert, Update, Undelete | This trigger rolls up Project Indicators onto an Framework/Project Objective record. For every Project Indicator Objective record that exists, its parent Project Indicator record name appears as a list item in the ampi__Project_Indicator__c long text field on the parent Framework/Project Objective record. |
Reporting Period | ReportingPeriod_AI ReportingPeriod_AU ReportingPeriod_AUD ReportingPeriod_BD | After Insert, Update, Undelete; Before Delete | This trigger automates the creation and deletion of junction records (i.e. Project Indicator Reporting Period) that are child to the Reporting Period object. When the Report Type value of a newly created Reporting Period matches the Reporting Frequency value of any Project Indicator records that are child to the same Project as the Reporting Period, a PIRP record for that Reporting Period and that Project Indicator is automatically created. When a Reporting Period record is deleted, the trigger deletes any child PIRP records before deleting the Reporting Period record. When the Report_Type__c field is edited on the Reporting Period record, previous PIRP records are deleted and new PIRP records are created with any Project Indicators whose Reporting_Frequency__c value matches the new Report_Type__c value. When a Reporting Period record is undeleted, new PIRPs are created for any Project Indicator with a matching Reporting_Frequency__c value. |
Project Indicator Reporting Period | ProjectIndicatorReportingPeriod_AD ProjectIndicatorReportingPeriod_AI ProjectIndicatorReportingPeriod_AU ProjectIndicatorReportingPeriod_AUD | After Insert, Update, Delete, Undelete | This trigger rolls up Reporting Periods onto a Project Indicator record. For every Project Indicator Reporting Period record that exists, its parent Reporting Period record name appears as a list item in the Reporting_Period_Text__c long text field on the parent Project Indicator record. |
Project Indicator Geographic Area | ProjectIndicatorGeographicArea_AD ProjectIndicatorGeographicArea_AI ProjectIndicatorGeographicArea_AU ProjectIndicatorGeographicArea_AUD | After Insert, Update, Delete, Undelete | This trigger rolls up Geographic Areas onto a Project Indicator record. For every Project Indicator Geographic Area record that exists, the parent Geographic Area record name appears as a list item in the Geographic_Area_Text__c long text field on the parent Project Indicator record. |
Project Indicator | ProjectIndicator_AI ProjectIndicator_AU ProjectIndicator_AUD ProjectIndicator_BD | After Insert, Update, Undelete; Before Delete | This trigger automates the creation and deletion of junction records (e.g. Project Indicator Reporting Period) that are child to the Project Indicator object. When a Project Indicator record is created, the trigger creates any child records (i.e. PIRP, PIGA, PITA, PIO, Disaggregated Project Indicators) that correspond with the relevant fields (e.g. Reporting_Frequency__c) in the new record. When a Project Indicator record is deleted, the trigger deletes child (PIRP, PIGA, PIO, PITA, Disaggregated Project Indicators) records before deleting the Project Indicator record. When the Reporting_Frequency__c field is edited on the Project Indicator record, previous junction records are deleted and new junction records are created to match the new field value. When a Project Indicator record is undeleted, new junction records are created for any relevant matching field values. When a Project Indicator is deactivated, any Project Indicator Reporting Period records that have a Start Date after the deactivation date are deleted so no empty records exist in the system. Additionally, this trigger deletes the Result__c records associated with the PIRP’s. |
Result | ResultRollup_Service_V1 ResultRollup_Service_AI ResultRollup_Service_AU | After Insert, Update | This trigger rolls up the result values onto the fields Result_to_Date__c and Target_to_Date__c when a numeric value has been inserted or updated. These fields populate depending on the fields Data_Type__c and Cumulative__c. For more information on how Result_to_Date__c and Target_to_Date__c are populated, please refer to the ‘Add Project Indicator-related Data to ManageFramework’ section of the General User Guide
|
Submission | SubmissionClone_AI | After Insert | When a Submission record is cloned, this trigger also clones any Sections and Questions that are child to the source record, such that the cloned Sections and Questions are child to the cloned Submission record. |
IATI XML Activity | IATIActivityXML_V1 |
| This trigger generates an XML for IATI Activity. This can be activated by adding the button to the Salesforce Mobile and Lightning Experience Actions section of an object page layout, i.e., Account. |
IATI XML Organization | IATIOrganizationXML_V1 |
| This trigger generates an XML for IATI Organization. This can be activated by adding the button to the Salesforce Mobile and Lightning Experience Actions section of an object page layout, i.e., Account. |
Deactivate Triggers using Dynamic Loader
On installation of Amp Impact, a post-install script will run and automatically install and activate all Amp Impact triggers (except for Project Indicator deletion based on Project Thematic Area and Indicator Thematic Area deletion - see the section below) as Dynamic Loader custom setting records in the Salesforce org.
Admins can customize (i.e. change the order, deactivate) the triggers by opening and editing each Dynamic Loader custom setting record. As an Admin, you can control which Triggers from the Amp Impact action schema (review this in your Field Map document) you would like to disable.
For example, if your organization does not use Thematic Areas, you could choose to deactivate the Triggers on the following objects: ampi__Thematic_Area__c, ampi__Project_Thematic_Area__c, and ampi__Project_Indicator_Thematic_Area__c.
You can also control if your users should be able to download an Excel file from the SetTargets and AddResults pages through the Dynamic Loader custom setting.
Enabling deletion of Project Indicators added through Required Project Thematic Areas and Indicator Thematic Areas
If your organization wants required project indicators related to Project Thematic Areas to be deleted when the Project Thematic Area record is deleted, then the Dynamic Loader custom setting “ProjThematicAreaPISync Delete Service” needs to be enabled. By default, the trigger is disabled.
Note that this deletion happens based on Results associated with Project Indicators. If any project indicator has result records associated with it, this project indicator will be deactivated, not deleted.
Similarly, an Indicator Thematic Area updated to Required will not automatically add associated project indicators by default. The project indicator will be deleted from the project if the Required Indicator Thematic Area is deleted. Enable “IndicatorThematicAreaPISync Service” to automatically add associated project indicators to a Project when an Indicator Thematic Area record is updated to Required.