function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Srinivas CSrinivas C 

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.

User-added imageUser-added image
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){
        
    }    
}