You need to sign in to do that
Don't have an account?
Future method cannot be called from a future method: sluiten(LIST:Id)
Hi,
I just changed my update code from a trigger to a future class to avoid governor limits.
The trigger calls the Future Class.
Now i am getting the following error: Future method cannot be called from a future method: sluiten(LIST:Id)
I don't call a future method from a future method ... or am i ??
The trigger is not FUTURE....!?
TRIGGER:
trigger Sluiten_AF_Taken on Achterstallige_factuur__c (before update) { //haal Id van SYSTEM op User sys = [SELECT Id FROM User WHERE Alias =: 'SYSTE']; //Hulplijst List<Id> afact=new List<Id>(); for(Achterstallige_factuur__c af: Trigger.new){ if(af.status__c == 'Afgehandeld'){ afact.add(af.Id); } } Sluiten_AF_Taken_Handler.Sluiten(afact); }
FUTURE CLASS:
public class Sluiten_AF_Taken_Handler{ //Trigger Sluiten_AF_Taken kan niet worden gebruikt voor de bulkupdate // vandaar dat we vanuit de trigger naar deze @Future Class springen // alwaar we wel bulkupdates kunnen uitvoeren ! @Future(callout=false) public static void sluiten(List<Id> AFIDS){ //haal Id van SYSTEM op User sys = [SELECT Id FROM User WHERE Alias =: 'SYSTE']; //Hulplijst List<Task> toUpdate = new List<Task>(); List<Task> t=new List<Task>([SELECT Id, WhatId FROM Task WHERE CreatedById =: sys.Id and status != 'Afgesloten' ]); for(Id aft: AFIDS){ for(Task tk: t){ if(tk.WhatId==aft){ tk.status = 'Afgesloten'; tk.IsReminderSet = false; toUpdate.add(tk); } } } update toUpdate; } }