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

Object

Trigger API Names

Actions

Trigger Summary

Disaggregated Indicator

DisaggregatedIndicatorRollup_AITR

DisaggregatedIndicatorRollup_ADTR

After Insert,
Delete

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,
Delete

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.