You need to sign in to do that
Don't have an account?

Error using aggregate result
Hi everyone,
I am newbie in apex, then I am having a trouble with function aggregate result,
I have created apex class below :
then I get error : Error: Compile Error: unexpected token: public at line 40 column 1
could you please help me?
Thanks in advance.
I am newbie in apex, then I am having a trouble with function aggregate result,
I have created apex class below :
public class AdvanceRequestClass { /*public static void isActiveValidation(Advance_Request__c[] AdvRequest) { for(Advance_Request__c adv : AdvRequest) { if(adv.Is_Active__c == false) { adv.addError('You cannot update or delete this advance request, it has been used in expense request.'); } } }*/ List<Work__c> works ; Utilities util; public AdvanceRequestClass(List<Advance_Request__c> triggerNew, List<Advance_Request__c> triggerOld, Boolean deleteFlag){ Set<String> InvoiceId = new Set<String>(); Set<String> WorkIds = new Set<String>(); List<Advance_Request__c> AdvanceRequest; if(deleteFlag){ AdvanceRequest = triggerOld; }else{ AdvanceRequest = triggerNew; } for (Advance_Request__c advanceReq: AdvanceRequest) { WorkIds.add(advanceReq.Work_Id__c); } works = new List<Work__c>([SELECT Id, Name, Total_Invoice_Amount__c, Project_Code__c, BAST_Submit_Term_I__c, Work_Status__c, Invoice_Date_Term_I__c, Invoice_Date_Term_II__c, Invoice_Date_DP_II__c, Invoice_Date_DP_III__c FROM Work__c WHERE Id in :WorkIds]); util = new Utilities(); } } public void setWorkAmount(List<Advance_Request__c> AdvanceRequest){ system.debug('works --------------'+ works); AggregateResult[] advReq = [select Work_Id__c, SUM(Converted_Amount__c)totalAdvance FROM Advance_Request__c where Work_Id__c IN :works AND Status__c != 'Rejected' GROUP BY Work_Id__c]; system.debug('advReq ---------'+advReq +'------'); Map<Id, AggregateResult> advMap = new Map <Id, AggregateResult>(); for(AggregateResult ar : advReq){ advMap.put((Id)ar.get('Work_Id__c'), ar); } //List <Work__c> workList = [SELECT Id, Name, Total_Advance_Request__c FROM Work__c WHERE Id IN :workIdSet ]; for(Work__c wid : works ){ if(advMap.get(wid.Id) != null){ AggregateResult ar = advMap.get(wid.Id); wid.Total_Advance_Request__c = (Decimal)ar.get('totalAdvance'); } } }
then I get error : Error: Compile Error: unexpected token: public at line 40 column 1
could you please help me?
Thanks in advance.
All Answers
Error: Compile Error: Entity is not api accessible at line 1 column 8
Could you please help me?
Thank you