+ Start a Discussion
Zain ButtZain Butt 

Opportunity Amount field Trigger to Roll-Up from Opportunity Products

Hi, I've been given a task to create an Opportunity Amount field Trigger to Roll-Up from Opportunity Products. I am wondering how I would begin to creating this trigger! Sample code would be great.
Try this trigger.
trigger UpdateOpportunityAmount on OpportunityLineItem (after insert,after update) {
     List<Id> lstOppIDs = new List<Id>();
     for(OpportunityLineItem oli: Trigger.new) {
     Map<Id, Opportunity> mapOpportunity = new Map<Id, Opportunity>([SELECT Id, Name, Amount__c FROM Opportunity WHERE Id =:lstOppIDs]);

     List<Opportunity> lstOpportunities = new List<Opportunity>();
     for(AggregateResult result: [SELECT SUM(TotalPrice) Amt, OpportunityId FROM OpportunityLineItem GROUP BY OpportunityId Having OpportunityId IN :mapOpportunity.keyset()]) { 
        Opportunity opp = mapOpportunity.get((Id)result.get('OpportunityId'));
        opp.Amount__c = (Decimal)result.get('Amt');
     if(lstOpportunities.size() > 0){
        update lstOpportunities;
Check out the field names (especially the custom field names I have used) to ensure that they meet your ORG configuration.