You need to sign in to do that
Don't have an account?
MikeGill
Update original object started playing up
Hi All,
I am updating the same object using "after update" and it's throwing an error which to me seems impossible as I am using trigger.new and not trigger.old
Error:Apex trigger AccountTrigger caused an unexpected exception, contact your administrator: AccountTrigger: execution of AfterUpdate caused by: System.FinalException: Record is read-only: Trigger.AccountTrigger: line 7, column 3
So I decided to perform a simple test in a clean dev org using the following:
trigger AccountTrigger on Account (after update) { List<Account> acc=new List<Account>(); for (Account a: Trigger.new){ a.Description = 'Test'; acc.add(a); } update acc; }
This should work or am I being stupid?
Thx
It's after update, and then you call update again.
Any chance your getting caught in a recursive trigger thing?
http://www.salesforce.com/docs/developer/cookbook/Content/apex_controlling_recursive_triggers.htm
All Answers
It's after update, and then you call update again.
Any chance your getting caught in a recursive trigger thing?
http://www.salesforce.com/docs/developer/cookbook/Content/apex_controlling_recursive_triggers.htm
I have tried a number of things I know - I believe this would handle recussive
Any other points - this basic stuff. Having one of those days.
I have never updated the sames account before, but the online help suggest it's possible. PLus I have applied the same logic which works for another record type...
M
Before anyone thinks I am mad - I know I could use before update and that would work.
What I am actually trying to do is this:
Hook into the account update DML when a AccountContactRole is added.
I need to record the number of decision makers identified at the Account level.
thx
If you really want to do update to the same record in an after update trigger, you will have to clone the record and do the update on that. By default, you cannot update the same record as in your trigger context. Cloning is an workaround to that. Also, just to be clear, cloning will not create a new record. Below is an example.
Also, this could lead to a infinite loop as suggested earlier. You will have to use Static variables to stop the loop. The following article explains the problem and the solution:
Prevent Infinite for loop