You need to sign in to do that
Don't have an account?
Chiyan
how to write a test code
trigger RollUpOppAmt on Opportunity (after insert) {
Set<Id> setOpportunityIds=new Set<Id>();
for(Opportunity o:Trigger.new)
setOpportunityIds.add(o.id);
List<Account> ListOfAmt = [select id, Amount__c from Account];
List<Account> lstAmtToUpdate=new List<Account>();
for(AggregateResult result:[SELECT AccountId, SUM(Amount) FROM Opportunity
WHERE Id IN :setOpportunityIds GROUP BY AccountId]) {
for(Account acc : ListOfAmt) {
if(result.get('AccountId') == acc.Id) {
if(acc.Amount__c == null) {
acc.Amount__c = 0;
}
acc.Amount__c = acc.Amount__c + Decimal.ValueOf(String.ValueOf(result.get('expr0')));
lstAmtToUpdate.add(acc);
}
}
}
if(lstAmtToUpdate.size()>0) {
UPDATE lstAmtToUpdate;
}
}
Set<Id> setOpportunityIds=new Set<Id>();
for(Opportunity o:Trigger.new)
setOpportunityIds.add(o.id);
List<Account> ListOfAmt = [select id, Amount__c from Account];
List<Account> lstAmtToUpdate=new List<Account>();
for(AggregateResult result:[SELECT AccountId, SUM(Amount) FROM Opportunity
WHERE Id IN :setOpportunityIds GROUP BY AccountId]) {
for(Account acc : ListOfAmt) {
if(result.get('AccountId') == acc.Id) {
if(acc.Amount__c == null) {
acc.Amount__c = 0;
}
acc.Amount__c = acc.Amount__c + Decimal.ValueOf(String.ValueOf(result.get('expr0')));
lstAmtToUpdate.add(acc);
}
}
}
if(lstAmtToUpdate.size()>0) {
UPDATE lstAmtToUpdate;
}
}
Best Answer chosen by Chiyan
Steven Nsubuga