You need to sign in to do that
Don't have an account?

Is there a better way to accomplish what this trigger is doing?
I am wondering if there is a better way to accomplish what this trigger does... or a cleaner way to write the code. Or am I missing an easier way to get the result?
Thanks!
Thanks!
trigger CurrencyUpdates on Account (before update) { List<Account> acclist = new List<Account>(); for(Account acc: Trigger.new){ If(Trigger.oldMap.get(acc.id).Currency_Type__c != acc.Currency_Type__c){ system.debug('Old= ' +Trigger.oldMap.get(acc.id).Currency_Type__c); system.debug('New= ' +acc.Currency_Type__c); if (acc.Currency_Type__c == 'YEN'){ acc.Total_RR_Converted_to_USD__c = acc.Total_RR_Trigger__c * 0.0100; acc.X3RECalc_Hosting_USD__c = acc.X3RECalc_Hosting__c * 0.0100; acc.X3RECalc_Hybrid_USD__c = acc.X3RECalc_Hybrid__c * 0.0100; acc.X3RECalc_MSA_USD__c = acc.X3RECalc_MSA__c * 0.0100; acc.X3RECalc_Sub_Asp_USD__c = acc.X3RECalc_Sub_Asp__c * 0.0100; acc.X3RECalcMCUniv_USD__c = acc.X3RECalcMCUniv__c * 0.0100; acc.X3RECalc_SPARK_USD__c = acc.X3RECalc_SPARK__c * 0.0100; acc.X3RECalc_TAM_USD__c = acc.X3RECalc_TAM__c * 0.0100; acc.X3RECalc_SVR515_USD__c = acc.X3RECalc_SVR515__c * 0.0100; acc.Calc_Total_Sub_Asp_USD__c = acc.Calc_Total_Sub_Asp__c * 0.0100; acc.Calc_Total_MSA_USD__c = acc.Calc_Total_MSA__c * 0.0100; acc.Calc_Total_MCUniv_USD__c = acc.Calc_Total_MCUniv__c * 0.0100; acc.Calc_Total_Hybrid_USD__c = acc.Calc_Total_Hybrid__c * 0.0100; acc.Calc_Total_Hosting_USD__c = acc.Calc_Total_Hosting__c *0.0100; acc.Calc_Total_SPARK_USD__c = acc.Calc_Total_SPARK__c * 0.0100; acc.Calc_Total_TAM_USD__c = acc.Calc_Total_TAM__c * 0.0100; acc.Calc_Total_SVR515_USD__c = acc.Calc_Total_SVR515__c * 0.0100; } else if (acc.Currency_Type__c == 'CHF') { acc.Total_RR_Converted_to_USD__c = acc.Total_RR_Trigger__c * 0.9478; acc.X3RECalc_Hosting_USD__c = acc.X3RECalc_Hosting__c * 0.9478; acc.X3RECalc_Hybrid_USD__c = acc.X3RECalc_Hybrid__c * 0.9478; acc.X3RECalc_MSA_USD__c = acc.X3RECalc_MSA__c * 0.9478; acc.X3RECalc_Sub_Asp_USD__c = acc.X3RECalc_Sub_Asp__c * 0.9478; acc.X3RECalcMCUniv_USD__c = acc.X3RECalcMCUniv__c * 0.9478; acc.X3RECalc_SPARK_USD__c = acc.X3RECalc_SPARK__c * 0.9478; acc.X3RECalc_TAM_USD__c = acc.X3RECalc_TAM__c * 0.9478; acc.X3RECalc_SVR515_USD__c = acc.X3RECalc_SVR515__c * 0.9478; acc.Calc_Total_Sub_Asp_USD__c = acc.Calc_Total_Sub_Asp__c * 0.9478; acc.Calc_Total_MSA_USD__c = acc.Calc_Total_MSA__c * 0.9478; acc.Calc_Total_MCUniv_USD__c = acc.Calc_Total_MCUniv__c * 0.9478; acc.Calc_Total_Hybrid_USD__c = acc.Calc_Total_Hybrid__c * 0.9478; acc.Calc_Total_Hosting_USD__c = acc.Calc_Total_Hosting__c *0.9478; acc.Calc_Total_SPARK_USD__c = acc.Calc_Total_SPARK__c * 0.9478; acc.Calc_Total_TAM_USD__c = acc.Calc_Total_TAM__c * 0.9478; acc.Calc_Total_SVR515_USD__c = acc.Calc_Total_SVR515__c * 0.9478; }else if (acc.Currency_Type__c == 'EUR') { acc.Total_RR_Converted_to_USD__c = acc.Total_RR_Trigger__c * 1.3008; acc.X3RECalc_Hosting_USD__c = acc.X3RECalc_Hosting__c * 1.3008; acc.X3RECalc_Hybrid_USD__c = acc.X3RECalc_Hybrid__c * 1.3008; acc.X3RECalc_MSA_USD__c = acc.X3RECalc_MSA__c * 1.3008; acc.X3RECalc_Sub_Asp_USD__c = acc.X3RECalc_Sub_Asp__c * 1.3008; acc.X3RECalcMCUniv_USD__c = acc.X3RECalcMCUniv__c * 1.3008; acc.X3RECalc_SPARK_USD__c = acc.X3RECalc_SPARK__c * 1.3008; acc.X3RECalc_TAM_USD__c = acc.X3RECalc_TAM__c * 1.3008; acc.X3RECalc_SVR515_USD__c = acc.X3RECalc_SVR515__c * 1.3008; acc.Calc_Total_Sub_Asp_USD__c = acc.Calc_Total_Sub_Asp__c * 1.3008; acc.Calc_Total_MSA_USD__c = acc.Calc_Total_MSA__c * 1.3008; acc.Calc_Total_MCUniv_USD__c = acc.Calc_Total_MCUniv__c * 1.3008; acc.Calc_Total_Hybrid_USD__c = acc.Calc_Total_Hybrid__c * 1.3008; acc.Calc_Total_Hosting_USD__c = acc.Calc_Total_Hosting__c *1.3008; acc.Calc_Total_SPARK_USD__c = acc.Calc_Total_SPARK__c * 1.3008; acc.Calc_Total_TAM_USD__c = acc.Calc_Total_TAM__c * 1.3008; acc.Calc_Total_SVR515_USD__c = acc.Calc_Total_SVR515__c * 1.3008; }else if (acc.Currency_Type__c == 'CAD'){ acc.Total_RR_Converted_to_USD__c = acc.Total_RR_Trigger__c * 0.9502; acc.X3RECalc_Hosting_USD__c = acc.X3RECalc_Hosting__c * 0.9502; acc.X3RECalc_Hybrid_USD__c = acc.X3RECalc_Hybrid__c * 0.9502; acc.X3RECalc_MSA_USD__c = acc.X3RECalc_MSA__c * 0.9502; acc.X3RECalc_Sub_Asp_USD__c = acc.X3RECalc_Sub_Asp__c * 0.9502; acc.X3RECalcMCUniv_USD__c = acc.X3RECalcMCUniv__c * 0.9502; acc.X3RECalc_SPARK_USD__c = acc.X3RECalc_SPARK__c * 0.9502; acc.X3RECalc_TAM_USD__c = acc.X3RECalc_TAM__c * 0.9502; acc.X3RECalc_SVR515_USD__c = acc.X3RECalc_SVR515__c * 0.9502; acc.Calc_Total_Sub_Asp_USD__c = acc.Calc_Total_Sub_Asp__c * 0.9502; acc.Calc_Total_MSA_USD__c = acc.Calc_Total_MSA__c * 0.9502; acc.Calc_Total_MCUniv_USD__c = acc.Calc_Total_MCUniv__c * 0.9502; acc.Calc_Total_Hybrid_USD__c = acc.Calc_Total_Hybrid__c * 0.9502; acc.Calc_Total_Hosting_USD__c = acc.Calc_Total_Hosting__c *0.9502; acc.Calc_Total_SPARK_USD__c = acc.Calc_Total_SPARK__c * 0.9502; acc.Calc_Total_TAM_USD__c = acc.Calc_Total_TAM__c * 0.9502; acc.Calc_Total_SVR515_USD__c = acc.Calc_Total_SVR515__c * 0.9502; }else if (acc.Currency_Type__c == 'GBP'){ acc.Total_RR_Converted_to_USD__c = acc.Total_RR_Trigger__c * 1.5279; acc.X3RECalc_Hosting_USD__c = acc.X3RECalc_Hosting__c * 1.5279; acc.X3RECalc_Hybrid_USD__c = acc.X3RECalc_Hybrid__c * 1.5279; acc.X3RECalc_MSA_USD__c = acc.X3RECalc_MSA__c * 1.5279; acc.X3RECalc_Sub_Asp_USD__c = acc.X3RECalc_Sub_Asp__c * 1.5279; acc.X3RECalcMCUniv_USD__c = acc.X3RECalcMCUniv__c * 1.5279; acc.X3RECalc_SPARK_USD__c = acc.X3RECalc_SPARK__c * 1.5279; acc.X3RECalc_TAM_USD__c = acc.X3RECalc_TAM__c * 1.5279; acc.X3RECalc_SVR515_USD__c = acc.X3RECalc_SVR515__c * 1.5279; acc.Calc_Total_Sub_Asp_USD__c = acc.Calc_Total_Sub_Asp__c * 1.5279; acc.Calc_Total_MSA_USD__c = acc.Calc_Total_MSA__c * 1.5279; acc.Calc_Total_MCUniv_USD__c = acc.Calc_Total_MCUniv__c * 1.5279; acc.Calc_Total_Hybrid_USD__c = acc.Calc_Total_Hybrid__c * 1.5279; acc.Calc_Total_Hosting_USD__c = acc.Calc_Total_Hosting__c *1.5279; acc.Calc_Total_SPARK_USD__c = acc.Calc_Total_SPARK__c * 1.5279; acc.Calc_Total_TAM_USD__c = acc.Calc_Total_TAM__c * 1.5279; acc.Calc_Total_SVR515_USD__c = acc.Calc_Total_SVR515__c * 1.5279; }else if (acc.Currency_Type__c == 'KRW') { acc.Total_RR_Converted_to_USD__c = acc.Total_RR_Trigger__c * 0.0009; acc.X3RECalc_Hosting_USD__c = acc.X3RECalc_Hosting__c * 0.0009; acc.X3RECalc_Hybrid_USD__c = acc.X3RECalc_Hybrid__c * 0.0009; acc.X3RECalc_MSA_USD__c = acc.X3RECalc_MSA__c * 0.0009; acc.X3RECalc_Sub_Asp_USD__c = acc.X3RECalc_Sub_Asp__c * 0.0009; acc.X3RECalcMCUniv_USD__c = acc.X3RECalcMCUniv__c * 0.0009; acc.X3RECalc_SPARK_USD__c = acc.X3RECalc_SPARK__c * 0.0009; acc.X3RECalc_TAM_USD__c = acc.X3RECalc_TAM__c * 0.0009; acc.X3RECalc_SVR515_USD__c = acc.X3RECalc_SVR515__c * 0.0009; acc.Calc_Total_Sub_Asp_USD__c = acc.Calc_Total_Sub_Asp__c * 0.0009; acc.Calc_Total_MSA_USD__c = acc.Calc_Total_MSA__c * 0.0009; acc.Calc_Total_MCUniv_USD__c = acc.Calc_Total_MCUniv__c * 0.0009; acc.Calc_Total_Hybrid_USD__c = acc.Calc_Total_Hybrid__c * 0.0009; acc.Calc_Total_Hosting_USD__c = acc.Calc_Total_Hosting__c *0.0009; acc.Calc_Total_SPARK_USD__c = acc.Calc_Total_SPARK__c * 0.0009; acc.Calc_Total_TAM_USD__c = acc.Calc_Total_TAM__c * 0.0009; acc.Calc_Total_SVR515_USD__c = acc.Calc_Total_SVR515__c * 0.0009; }else if (acc.Currency_Type__c == 'USD') { acc.Total_RR_Converted_to_USD__c = acc.Total_RR_Trigger__c * 1.0; acc.X3RECalc_Hosting_USD__c = acc.X3RECalc_Hosting__c * 1.0; acc.X3RECalc_Hybrid_USD__c = acc.X3RECalc_Hybrid__c * 1.0; acc.X3RECalc_MSA_USD__c = acc.X3RECalc_MSA__c * 1.0; acc.X3RECalc_Sub_Asp_USD__c = acc.X3RECalc_Sub_Asp__c * 1.0; acc.X3RECalcMCUniv_USD__c = acc.X3RECalcMCUniv__c * 1.0; acc.X3RECalc_SPARK_USD__c = acc.X3RECalc_SPARK__c * 1.0; acc.X3RECalc_TAM_USD__c = acc.X3RECalc_TAM__c * 1.0; acc.X3RECalc_SVR515_USD__c = acc.X3RECalc_SVR515__c * 1.0; acc.Calc_Total_Sub_Asp_USD__c = acc.Calc_Total_Sub_Asp__c * 1.0; acc.Calc_Total_MSA_USD__c = acc.Calc_Total_MSA__c * 1.0; acc.Calc_Total_MCUniv_USD__c = acc.Calc_Total_MCUniv__c * 1.0; acc.Calc_Total_Hybrid_USD__c = acc.Calc_Total_Hybrid__c * 1.0; acc.Calc_Total_Hosting_USD__c = acc.Calc_Total_Hosting__c *1.0; acc.Calc_Total_SPARK_USD__c = acc.Calc_Total_SPARK__c * 1.0; acc.Calc_Total_TAM_USD__c = acc.Calc_Total_TAM__c * 1.0; acc.Calc_Total_SVR515_USD__c = acc.Calc_Total_SVR515__c * 1.0; }else if (acc.Currency_Type__c == 'AUD') { acc.Total_RR_Converted_to_USD__c = acc.Total_RR_Trigger__c * 0.88309; acc.X3RECalc_Hosting_USD__c = acc.X3RECalc_Hosting__c * 0.88309; acc.X3RECalc_Hybrid_USD__c = acc.X3RECalc_Hybrid__c * 0.88309; acc.X3RECalc_MSA_USD__c = acc.X3RECalc_MSA__c * 0.88309; acc.X3RECalc_Sub_Asp_USD__c = acc.X3RECalc_Sub_Asp__c * 0.88309; acc.X3RECalcMCUniv_USD__c = acc.X3RECalcMCUniv__c * 0.88309; acc.X3RECalc_SPARK_USD__c = acc.X3RECalc_SPARK__c * 0.88309; acc.X3RECalc_TAM_USD__c = acc.X3RECalc_TAM__c * 0.88309; acc.X3RECalc_SVR515_USD__c = acc.X3RECalc_SVR515__c * 0.88309; acc.Calc_Total_Sub_Asp_USD__c = acc.Calc_Total_Sub_Asp__c * 0.88309; acc.Calc_Total_MSA_USD__c = acc.Calc_Total_MSA__c * 0.88309; acc.Calc_Total_MCUniv_USD__c = acc.Calc_Total_MCUniv__c * 0.88309; acc.Calc_Total_Hybrid_USD__c = acc.Calc_Total_Hybrid__c * 0.88309; acc.Calc_Total_Hosting_USD__c = acc.Calc_Total_Hosting__c * 0.88309; acc.Calc_Total_SPARK_USD__c = acc.Calc_Total_SPARK__c * 0.88309; acc.Calc_Total_TAM_USD__c = acc.Calc_Total_TAM__c * 0.88309; acc.Calc_Total_SVR515_USD__c = acc.Calc_Total_SVR515__c * 0.88309; }else if (acc.Currency_Type__c == 'SGD') { acc.Total_RR_Converted_to_USD__c = acc.Total_RR_Trigger__c * 0.78499; acc.X3RECalc_Hosting_USD__c = acc.X3RECalc_Hosting__c * 0.78499; acc.X3RECalc_Hybrid_USD__c = acc.X3RECalc_Hybrid__c * 0.78499; acc.X3RECalc_MSA_USD__c = acc.X3RECalc_MSA__c * 0.78499; acc.X3RECalc_Sub_Asp_USD__c = acc.X3RECalc_Sub_Asp__c * 0.78499; acc.X3RECalcMCUniv_USD__c = acc.X3RECalcMCUniv__c * 0.78499; acc.X3RECalc_SPARK_USD__c = acc.X3RECalc_SPARK__c * 0.78499; acc.X3RECalc_TAM_USD__c = acc.X3RECalc_TAM__c * 0.78499; acc.X3RECalc_SVR515_USD__c = acc.X3RECalc_SVR515__c * 0.78499; acc.Calc_Total_Sub_Asp_USD__c = acc.Calc_Total_Sub_Asp__c * 0.78499; acc.Calc_Total_MSA_USD__c = acc.Calc_Total_MSA__c * 0.78499; acc.Calc_Total_MCUniv_USD__c = acc.Calc_Total_MCUniv__c * 0.78499; acc.Calc_Total_Hybrid_USD__c = acc.Calc_Total_Hybrid__c * 0.78499; acc.Calc_Total_Hosting_USD__c = acc.Calc_Total_Hosting__c * 0.78499; acc.Calc_Total_SPARK_USD__c = acc.Calc_Total_SPARK__c * 0.78499; acc.Calc_Total_TAM_USD__c = acc.Calc_Total_TAM__c * 0.78499; acc.Calc_Total_SVR515_USD__c = acc.Calc_Total_SVR515__c * 0.78499; }else if (acc.Currency_Type__c == 'HKD') { acc.Total_RR_Converted_to_USD__c = acc.Total_RR_Trigger__c * 0.12891; acc.X3RECalc_Hosting_USD__c = acc.X3RECalc_Hosting__c * 0.12891; acc.X3RECalc_Hybrid_USD__c = acc.X3RECalc_Hybrid__c * 0.12891; acc.X3RECalc_MSA_USD__c = acc.X3RECalc_MSA__c * 0.12891; acc.X3RECalc_Sub_Asp_USD__c = acc.X3RECalc_Sub_Asp__c * 0.12891; acc.X3RECalcMCUniv_USD__c = acc.X3RECalcMCUniv__c * 0.12891; acc.X3RECalc_SPARK_USD__c = acc.X3RECalc_SPARK__c * 0.12891; acc.X3RECalc_TAM_USD__c = acc.X3RECalc_TAM__c * 0.12891; acc.X3RECalc_SVR515_USD__c = acc.X3RECalc_SVR515__c * 0.12891; acc.Calc_Total_Sub_Asp_USD__c = acc.Calc_Total_Sub_Asp__c * 0.12891; acc.Calc_Total_MSA_USD__c = acc.Calc_Total_MSA__c * 0.12891; acc.Calc_Total_MCUniv_USD__c = acc.Calc_Total_MCUniv__c * 0.12891; acc.Calc_Total_Hybrid_USD__c = acc.Calc_Total_Hybrid__c * 0.12891; acc.Calc_Total_Hosting_USD__c = acc.Calc_Total_Hosting__c * 0.12891; acc.Calc_Total_SPARK_USD__c = acc.Calc_Total_SPARK__c * 0.12891; acc.Calc_Total_TAM_USD__c = acc.Calc_Total_TAM__c * 0.12891; acc.Calc_Total_SVR515_USD__c = acc.Calc_Total_SVR515__c * 0.12891; }else if (acc.Currency_Type__c == 'NZD') { acc.Total_RR_Converted_to_USD__c = acc.Total_RR_Trigger__c * 0.79067; acc.X3RECalc_Hosting_USD__c = acc.X3RECalc_Hosting__c * 0.79067; acc.X3RECalc_Hybrid_USD__c = acc.X3RECalc_Hybrid__c * 0.79067; acc.X3RECalc_MSA_USD__c = acc.X3RECalc_MSA__c * 0.79067; acc.X3RECalc_Sub_Asp_USD__c = acc.X3RECalc_Sub_Asp__c * 0.79067; acc.X3RECalcMCUniv_USD__c = acc.X3RECalcMCUniv__c * 0.79067; acc.X3RECalc_SPARK_USD__c = acc.X3RECalc_SPARK__c * 0.79067; acc.X3RECalc_TAM_USD__c = acc.X3RECalc_TAM__c * 0.79067; acc.X3RECalc_SVR515_USD__c = acc.X3RECalc_SVR515__c * 0.79067; acc.Calc_Total_Sub_Asp_USD__c = acc.Calc_Total_Sub_Asp__c * 0.79067; acc.Calc_Total_MSA_USD__c = acc.Calc_Total_MSA__c * 0.79067; acc.Calc_Total_MCUniv_USD__c = acc.Calc_Total_MCUniv__c * 0.79067; acc.Calc_Total_Hybrid_USD__c = acc.Calc_Total_Hybrid__c * 0.79067; acc.Calc_Total_Hosting_USD__c = acc.Calc_Total_Hosting__c *0.79067; acc.Calc_Total_SPARK_USD__c = acc.Calc_Total_SPARK__c * 0.79067; acc.Calc_Total_TAM_USD__c = acc.Calc_Total_TAM__c * 0.79067; acc.Calc_Total_SVR515_USD__c = acc.Calc_Total_SVR515__c * 0.79067; }else if (acc.Currency_Type__c == 'THB') { acc.Total_RR_Converted_to_USD__c = acc.Total_RR_Trigger__c * 0.03078; acc.X3RECalc_Hosting_USD__c = acc.X3RECalc_Hosting__c * 0.03078; acc.X3RECalc_Hybrid_USD__c = acc.X3RECalc_Hybrid__c * 0.03078; acc.X3RECalc_MSA_USD__c = acc.X3RECalc_MSA__c * 0.03078; acc.X3RECalc_Sub_Asp_USD__c = acc.X3RECalc_Sub_Asp__c * 0.03078; acc.X3RECalcMCUniv_USD__c = acc.X3RECalcMCUniv__c * 0.03078; acc.X3RECalc_SPARK_USD__c = acc.X3RECalc_SPARK__c * 0.03078; acc.X3RECalc_TAM_USD__c = acc.X3RECalc_TAM__c * 0.03078; acc.X3RECalc_SVR515_USD__c = acc.X3RECalc_SVR515__c * 0.03078; acc.Calc_Total_Sub_Asp_USD__c = acc.Calc_Total_Sub_Asp__c * 0.03078; acc.Calc_Total_MSA_USD__c = acc.Calc_Total_MSA__c * 0.03078; acc.Calc_Total_MCUniv_USD__c = acc.Calc_Total_MCUniv__c * 0.03078; acc.Calc_Total_Hybrid_USD__c = acc.Calc_Total_Hybrid__c * 0.03078; acc.Calc_Total_Hosting_USD__c = acc.Calc_Total_Hosting__c *0.03078; acc.Calc_Total_SPARK_USD__c = acc.Calc_Total_SPARK__c * 0.03078; acc.Calc_Total_TAM_USD__c = acc.Calc_Total_TAM__c * 0.03078; acc.Calc_Total_SVR515_USD__c = acc.Calc_Total_SVR515__c * 0.03078; }else (acc.Total_RR_Converted_to_USD__c = null); } } update acclist; }
All Answers