PDII · Question #82
What is a potential design issue with the following code? trigger accountTrigger on Account (before update){ Boolean processOpportunity = false; List<opportunity> opptysClosedLost = new…
The correct answer is D. The code will result in a System.LimitException: Apex CPU time limit exceeded error. See the full explanation below for the reasoning.
Question
What is a potential design issue with the following code? trigger accountTrigger on Account (before update){ Boolean processOpportunity = false; List<opportunity> opptysClosedLost = new List<opportunity>() List<opportunity> IstAllOpp = [select StageName from Opportunity where accountId IN :Trigger.newMap.keySet()]; if(!IstAllOpp.isEmpty()) processOpportunity = true; while(processOpportunity) { for(opportunity o : IstAllOpp) if(o.StageName == 'Closed - Lost') opptysClosedLost.add(o); processOpportunity = false; if(!opptysClosedLost.isEmpty()) delete opptysClosedLost;
Options
- ASOQL could be avoided by creating a formula field for StageName in Account from the related
- BThe code will result in a System.LimitException : Too many script statements error
- CThe code will result in a System.DmlException:Entity_is_Deleted error
- DThe code will result in a System.LimitException: Apex CPU time limit exceeded error
How the community answered
(40 responses)- A5% (2)
- B3% (1)
- C10% (4)
- D83% (33)
Community Discussion
No community discussion yet for this question.