Corrections to First Edition

Page 22 – bottom of page:

Static Boolean firstcall = false;

Should be:

public Static Boolean firstcall = false;

 

Page 104 – near the top of the page

for(Contact ct: cts)
{
  // Do various operations
  // If an update is needed:
  contactstoupdate.put(ct.id, ct);
}

Should be:

for(Contact ct: cts)
{
  // Do various operations
  // If an update is needed:
  contactstoupdate.add(ct);
}

Page 119 – TriggerArchitectureMain1.Entry4

if(opstoupdate.size()>0)
    update opstoupdate.values();
    }

Should be:

if(opstoupdate.size()>0)
    update opstoupdate.values();
    activefunction = null;
   }

Pages 124 and 129 – The newtasks.add statement in function AfterUpdateOpportunityCreateTasks1 and AfterUpdateOpportunityCreateTasks2 should have Subject=’Opportunity stage update’  instead of Description=’Opportunity stage update’.

Page 140 – Function SecondAttemptSync, Page 146 – Function ThirdAttemptSync

for(Solution sl: solutionstoupdate) {
       sl.SolutionSpanish__c =
       SimulateTranslationCallout(sl.SolutionNote);
    }

Should be:

for(Solution sl: solutionstoupdate) {
       sl.SolutionSpanish__c =
       SimulateTranslationCallout(sl.SolutionNote);
       sl.TranslationPending__c = false;
       }