You need to sign in to do that
Don't have an account?
Srinivas C
global class ForeignExchangeBatch implements Database.Batchable<sObject>, Database.Stateful {
global Database.QueryLocator start(Database.BatchableContext bc) {
String der='SELECT Id,ConversionRate,IsoCode FROM DatedConversionRate where startDate=today AND CreatedDate = TODAY ';
return Database.getQueryLocator(der);
}
global void execute(Database.BatchableContext bc, List<DatedConversionRate> scope){
List<foreign rate__c> exchangeList = new List<foreign rate__c>();
for(DatedConversionRate dCR: scope){
foreign rate__c foreignExchange = new foreign rate__c();
foreignExchange.foreign rate__c_exchrate__c = dCR.ConversionRate;
foreignExchange.foreign rate__c_desc__c = 'Change in Currency Exchange Rate';
foreignExchange.foreign rate__c_schedtype__c = 'Current Spot Rate';
foreignExchange.foreign rate__c_foreigncurr__c =dCR.IsoCode;
foreignExchange.foreign rate__c_funccurr__c=dCR.IsoCode;
foreignExchange.foreign rate__c_frmdate__c =system.today();
foreignExchange.foreign rate__c_thrudate__c=system.today();
foreignExchange.foreign rate__c_inactive__c=false;
foreignExchange.foreign rate__c_cmpno__c = 'company1';
exchangeList.add(foreignExchange);
foreign rate__c exchangeforcompany2 = foreignExchange.clone();
exchangeforcompany2.foreign rate_cmpno__c ='company2';
exchangeList.add(exchangeforcompany2);
foreign rate__c exchangeforcompany3 = foreignExchange.clone();
exchangeforcompany3.foreign rate__c_cmpno__c = 'company3';
exchangeList.add(exchangeforcompany3);
foreign rate__c exchangeforcompany4 = foreignExchange.clone();
exchangeforcompany4.foreign rate_cmpno__c = 'company4';
exchangeList.add(exchangeforcompany4);
foreign rate__c exchangeforcompany5 = foreignExchange.clone();
exchangeforcompany5.foreign rate_cmpno__c = 'company5';
exchangeList.add(exchangeforcompany5);
}
insert exchangeList;
}
global void finish(Database.BatchableContext bc){
}
}
Hi, whenever exchange rate field updated in datedConversionRate object,should create custom object(foreign rate) records. we have 9 exchange rates those 9 records in 5 companies. please correct the code. thank you.
global class ForeignExchangeBatch implements Database.Batchable<sObject>, Database.Stateful {
global Database.QueryLocator start(Database.BatchableContext bc) {
String der='SELECT Id,ConversionRate,IsoCode FROM DatedConversionRate where startDate=today AND CreatedDate = TODAY ';
return Database.getQueryLocator(der);
}
global void execute(Database.BatchableContext bc, List<DatedConversionRate> scope){
List<foreign rate__c> exchangeList = new List<foreign rate__c>();
for(DatedConversionRate dCR: scope){
foreign rate__c foreignExchange = new foreign rate__c();
foreignExchange.foreign rate__c_exchrate__c = dCR.ConversionRate;
foreignExchange.foreign rate__c_desc__c = 'Change in Currency Exchange Rate';
foreignExchange.foreign rate__c_schedtype__c = 'Current Spot Rate';
foreignExchange.foreign rate__c_foreigncurr__c =dCR.IsoCode;
foreignExchange.foreign rate__c_funccurr__c=dCR.IsoCode;
foreignExchange.foreign rate__c_frmdate__c =system.today();
foreignExchange.foreign rate__c_thrudate__c=system.today();
foreignExchange.foreign rate__c_inactive__c=false;
foreignExchange.foreign rate__c_cmpno__c = 'company1';
exchangeList.add(foreignExchange);
foreign rate__c exchangeforcompany2 = foreignExchange.clone();
exchangeforcompany2.foreign rate_cmpno__c ='company2';
exchangeList.add(exchangeforcompany2);
foreign rate__c exchangeforcompany3 = foreignExchange.clone();
exchangeforcompany3.foreign rate__c_cmpno__c = 'company3';
exchangeList.add(exchangeforcompany3);
foreign rate__c exchangeforcompany4 = foreignExchange.clone();
exchangeforcompany4.foreign rate_cmpno__c = 'company4';
exchangeList.add(exchangeforcompany4);
foreign rate__c exchangeforcompany5 = foreignExchange.clone();
exchangeforcompany5.foreign rate_cmpno__c = 'company5';
exchangeList.add(exchangeforcompany5);
}
insert exchangeList;
}
global void finish(Database.BatchableContext bc){
}
}