• Frances Wotton
  • NEWBIE
  • 20 Points
  • Member since 2017

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 2
    Replies
The following part of a trigger is giving error " execution of AfterInsert caused by: System.SObjectException: Invalid field expr0 for AggregateResult ()".  Do I need a way of passing the decimal value into the expr0?

for(AggregateResult q : [select Project__c, sum(Amount) AmountSum1, sum(npe01__Amount_Outstanding__c)  AmountSum2 from Opportunity 
where (StageName = 'Complete - Won' or StageName = 'Sign Contract' or StageName = 'Funding approved') and Project__c != null and Project__c IN :ProjectIds group by Project__c]){

    decimal value=((decimal)q.get('AmountSum1')-(decimal)q.get('AmountSum2'));
      ProjectMap.put((Id)q.get('Project__c'),(Double)q.get('expr0'));
Am getting error from the following - can anyone advise correct syntax for subtracting two sum amounts, many thanks
Error: Compile Error: Missing 'SELECT' at 'sum' at line 35 column 50


    for(AggregateResult q : [select Project__c, (sum(Amount) - sum(npe01__Amount_Outstanding__c) )
        from Opportunity where (StageName = 'Complete - Won' or StageName = 'Agree Payment Schedule'  or StageName = 'Sign Contract'
        or StageName = 'Pledged' or StageName = 'Funding approved') and Project__c != null and Project__c IN :ProjectIds group by Project__c])
The following part of a trigger is giving error " execution of AfterInsert caused by: System.SObjectException: Invalid field expr0 for AggregateResult ()".  Do I need a way of passing the decimal value into the expr0?

for(AggregateResult q : [select Project__c, sum(Amount) AmountSum1, sum(npe01__Amount_Outstanding__c)  AmountSum2 from Opportunity 
where (StageName = 'Complete - Won' or StageName = 'Sign Contract' or StageName = 'Funding approved') and Project__c != null and Project__c IN :ProjectIds group by Project__c]){

    decimal value=((decimal)q.get('AmountSum1')-(decimal)q.get('AmountSum2'));
      ProjectMap.put((Id)q.get('Project__c'),(Double)q.get('expr0'));
Am getting error from the following - can anyone advise correct syntax for subtracting two sum amounts, many thanks
Error: Compile Error: Missing 'SELECT' at 'sum' at line 35 column 50


    for(AggregateResult q : [select Project__c, (sum(Amount) - sum(npe01__Amount_Outstanding__c) )
        from Opportunity where (StageName = 'Complete - Won' or StageName = 'Agree Payment Schedule'  or StageName = 'Sign Contract'
        or StageName = 'Pledged' or StageName = 'Funding approved') and Project__c != null and Project__c IN :ProjectIds group by Project__c])