nerdexam
Salesforce

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)
  • A
    5% (2)
  • B
    3% (1)
  • C
    10% (4)
  • D
    83% (33)

Community Discussion

No community discussion yet for this question.

Full PDII Practice