Skip to main content
global class Updating_MembershipSalesLines1 implements Schedulable {

 

    global void execute(SchedulableContext ctx) {

 

    

 

     Map<String,List<membership_sales_lines__c>> lineRelatedRecords = new Map<String,List<membership_sales_lines__c>>();       

 

     List<membership_sales_lines__c> memberShipRecords = [Select Id,Name,Payment_status__c,Ledger_entry_no__c from membership_sales_lines__c where Payment_status__c !='Paid'];

 

     for(membership_sales_lines__c sales : memberShipRecords) {

 

            String salesOrder = sales.Name;

 

            List<membership_sales_lines__c> accOppList = lineRelatedRecords.get(salesOrder);

 

            

 

            if(accOppList == null) {

 

                lineRelatedRecords.put(salesOrder,new List<membership_sales_lines__c>{sales});

 

            } else {

 

                lineRelatedRecords.get(salesOrder).add(sales);

 

            }

 

        }        

 

            List<membership_sales_lines__c> paidStatusRecords = new List<membership_sales_lines__c>();

 

            paidStatusRecords = [select Id,Name,Payment_status__c,Ledger_entry_no__c from membership_sales_lines__c where Payment_status__c = 'Paid'];

 

            

 

            for(membership_sales_lines__c  obj : paidStatusRecords)

 

            {

 

                if(lineRelatedRecords.containsKey(obj.Name))

 

              {

 

                       obj.Payment_status__c = lineRelatedRecords.get(obj.Name).Payment_status__c ;

 

              }

 

            }  

 

 
2 件の回答
  1. 2021年3月10日 18:40
    Hi Yeturu,

     

     For which variable are you getting variable does not exisit?

     

    Is it for lineRelatedRecords

     

     Are you not getting an error  on this line-:

     

      if(lineRelatedRecords.containsKey(obj.Name))

     

     In your map you are storing list against every string

     

    Map<String,List<membership_sales_lines__c>> lineRelatedRecords = new Map<String,List<membership_sales_lines__c>>();

     

     lineRelatedRecords.get(obj.Name) will return a list and not single object

     

     
0/9000