• Vishnu Kant Pandey
  • NEWBIE
  • 0 Points
  • Member since 2018

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 3
    Questions
  • 3
    Replies
Hi All,

I have submitted the job by batch apex and same time ScheduledApex and future call are also there.
What should be the order of execution.
B'cos my batches are taking time to prepare so thats why they are getting failed in system.
Is there any way to know the order of preparing the jobs and QueaFlexQueueI also.
I have a process builder on the opportunity it will hit on the basis of record type name and record type developer name.
I am going to update the related child record of opportunity by excel connector and getting error.

Error element myDecision (FlowDecision).
The flow failed to access the value for myVariable_current.RecordType.DeveloperName because it hasn't been set or assigned.

When i am updating this record one to one, no error i have got from salesforce.

Ideally process builder should not fire during to update the child record.

Could Any one help me for the same.

Hi Experts,

I am trying to insert child opportunity records details in system by clubbing all the details to its parent opportunities. Like if i have one parent opportunity and multiple child records so after some custom calculations, i want to insert single record in an other custom object under parent opportunity name.

but i am getting the same error while running this batch class on batch size of 50 but while running the same code for 1 batch size it running perfectly.
What should I do?
my code:
global class XXXXX implements Database.Batchable<sObject>,Database.Stateful {  
    private Date DT1;

    public XXXXX(Date DT) {   
        DT1 = DT;
    }
    global Database.QueryLocator start(Database.BatchableContext BC) {
       String Query = 'Select id, accountid, Name, Disbursement_Date__c, CloseDate, Actual_Maturity_Date__c, Sanction_Amount__c, Current_Face__c,StageName,LastModifiedDate, RecordType.Name, Account_Record_Type__c, Original_face__c, current_factors__c, LeadSource__c,LeadSource__r.name,Credit_Approved_Date__c,Credit_Type__c,Loan_Tenor_in_Month__c,Maturity_Date__c,Credit_Rating__c,Amortization_Type__c,Parent_Opportunity__c,Parent_Opportunity__r.Name from Opportunity where ((RecordType.Name= \'XXXXX\') and (StageName = \'XXXXX\' OR StageName = \'XXXXX\' OR StageName = \'XXXXX\' OR (LeadSource__r.name=\'XXXXX\' and StageName = \'XXXXX\')  ))';
        return Database.getQueryLocator(Query);
    }
    
    global void execute(Database.BatchableContext BC, List<Opportunity> scope) {
            system.debug('Scope  :'+ Scope);
        try{
            List<CIBIL_Reporting__c> XXXXX= new List<CIBIL_Reporting__c>();
            Set<id>accId=new Set<id>();
            Set<id>oppId=new Set<id>();
            Set<id>oppparntId=new Set<id>();
            Map<id,Opportunity>mapOpp=new Map<id,Opportunity>();
            List<Payment_Schedules__c> pslist=new List<Payment_Schedules__c>();
            Map<id,Contact> Mapcon=new Map<id,Contact>();
            Map<Id, Opportunity> oppMap =  new Map<Id, Opportunity>();
for(opportunity opp : Scope){ 
                accId.add(opp.AccountId);
                oppparntId.add(opp.id);
oppMap.put(opp.id, opp);
            }
            system.debug('==accId=='+accId);
            if(accId!=null && accId.size()>0){
                for(Contact con: [Select Id,Account.Parent.name,District_eKYC__c,Date_of_Birth_eKYC__c,Passport_Id__c,account.name,account.ParentId,
                                account.Business_Category__c,account.Industry,Account.Aadhaar_Number__c,Account.Salutation,Account.Legal_Constitution__c,account.AccountNumber,account.CIN__c,
                                Account.BillingPostalCode, accountid,Account.PAN__c, Name, Birthdate, Gender__c, PAN_ID__c, Aadhaar_Number__c,Phone, Email, Official_Email__c,
                                MobilePhone, HomePhone, Alt_Phone__c, OtherPhone, Voter_Id__c, Driving_License__c, Mailing_Address__c, Address_Category__c, 
                                Borrower_Type__c, mailingStreet, mailingState,Account.Incorporation_Date__c, mailingPostalCode, mailingCountry, mailingCity,
                                Borrower_Office_Type__c,Pin_Code_eKYC__c,Fax,Account.Phone from Contact where accountid In: accId]){
                                
                    if(con.accountid!=null)
                        Mapcon.put(con.accountid,con);                
                }
            }
            system.debug('==Mapcon=='+Mapcon);
            system.debug('==oppparntId=='+oppparntId);
            for(opportunity opp: [Select id, accountid, Name, Disbursement_Date__c, CloseDate, Actual_Maturity_Date__c, Sanction_Amount__c, Current_Face__c,StageName,LastModifiedDate, RecordType.Name, Account_Record_Type__c, Original_face__c, current_factors__c, LeadSource__c,LeadSource__r.name,Credit_Approved_Date__c,Credit_Type__c,Loan_Tenor_in_Month__c,Maturity_Date__c,Credit_Rating__c,Amortization_Type__c,Parent_Opportunity__c,Parent_Opportunity__r.Name from Opportunity where Parent_Opportunity__c IN:oppparntId]){  
                if(Mapcon.containskey(opp.accountid)){                
                    If (Opp.RecordType.Name !='XXXXX' && Opp.Parent_Opportunity__c!= null ){
                        oppId.add(opp.id);
                        mapOpp.put(opp.id,opp);
                    }

               }
            }
            
            Integer SanctionAmount = 0;
            Integer Noofday = 0;
            Decimal CF = 0.0;
            Integer AmtOverdue = 0;
            Boolean Flag = false;
            Date lastPaymentReceived;
            
            system.debug('==oppId=='+oppId);
            system.debug('OPPID SIZE =='+ oppId.size());
            system.debug('MAPOPP SIZE =='+ mapOpp.size());
            if(oppId!=null && oppId.size()>0){
                pslist= [select id, Opportunity__r.Sanction_Amount__c,Opportunity__c,Opportunity__r.AccountId,Opportunity__r.Parent_Opportunity__c,
                                                Opportunity__r.Account_Record_Type__c,Payment_Received_Date__c,ClosingPrincipalBal__c,
                                                Open_Principal__c,Clearance__c,Date__c,Net_Payment__c, Delinquent_Days__c from 
                                                Payment_Schedules__c where Opportunity__c IN: oppId and Date__c<:DT1 order by Date__c Desc];                            
            }
            system.debug('==pslist=='+pslist.size());
            
            if(pslist!=null && pslist.Size()>0){
                for(Payment_Schedules__c psch: pslist){
                     
                    if (psch.Opportunity__r.Sanction_Amount__c!=null)
                        SanctionAmount=integer.valueOf(psch.Opportunity__r.Sanction_Amount__c);       
                        
                                      
                    // if Payment is not received
                    if(psch.Clearance__c == false) {
                        flag = True;
                        if (psch.Net_Payment__c!=null) 
                            AmtOverdue+=integer.valueOf(psch.Net_Payment__c);
                            
                           // Noofday = psch.Date__c.daysBetween(DT1);
                            system.debug('No. of DPD: From ' + psch.Date__c + ' To ' + DT1 + Noofday);
                        
                            CF = psch.Open_Principal__c;
                            system.debug('Current Face: ' + CF);
                    }else{ // Payment is received
                        if(!flag){ // if all the Payment was received
                           // Noofday = psch.Date__c.daysBetween(DT1)-1;
                            
                            // if payment is received after Reported Date to CIBIL
                            if(psch.Delinquent_Days__c<=Noofday){
                              //  Noofday = Integer.Valueof(psch.Delinquent_Days__c);
                                CF = psch.ClosingPrincipalBal__c;
                            }else{
                                CF = psch.Open_Principal__c;
                            }
                            system.debug('No. of DPD: From 111: ' + psch.Date__c + ' To ' + DT1 + Noofday);                           
                            system.debug('Current Face 111: ' + CF);
                       }
                          lastPaymentReceived = psch.Payment_Received_Date__c;
                        system.debug('Last Payment Received: +' + psch.Payment_Received_Date__c);
                        
                        break;
                     }
                                
                 }
                 Map<Id,Double>mapdaycount=new Map<Id,Double>();
                AggregateResult[] groupedResults
                          = [SELECT Opportunity__c, Max(Delinquent_Days__c)
                              FROM Payment_Schedules__c where Opportunity__c IN: oppId and Opportunity__r.Parent_Opportunity__c != null and Date__c<:DT1
                              GROUP BY Opportunity__c];
                        
                for (AggregateResult ar : groupedResults)  
                {   
                Id oppId1 = (ID)ar.get('Opportunity__c');
                double temp = (Double)ar.get('expr0');
                temp=temp!=null?temp:0;
                    if(mapdaycount.containsKey(mapOpp.get(oppId1 ).Parent_Opportunity__c)){
                        double maxValue= mapdaycount.get(mapOpp.get(oppId1 ).Parent_Opportunity__c)!=null?mapdaycount.get(mapOpp.get(oppId1 ).Parent_Opportunity__c):0;
                
                        if(temp > mapdaycount.get(mapOpp.get(oppId1).Parent_Opportunity__c)){
                                mapdaycount.put(mapOpp.get(oppId1).Parent_Opportunity__c,temp);
                        }
                    
                    }
                    else{
                    mapdaycount.put(mapOpp.get(oppId1 ).Parent_Opportunity__c,temp);
                    }
                }
                system.debug('==mapdaycount=='+mapdaycount);
                 CIBIL_Reporting__c  cbp = new CIBIL_Reporting__c();
                 for(Payment_Schedules__c psch: pslist){
                     if(mapOpp.containskey(psch.Opportunity__c) && mapOpp.get(psch.Opportunity__c).Account_Record_Type__c == 'Retail Borrower Account' && Mapcon.containskey(psch.Opportunity__r.AccountId) && Mapcon.get(psch.Opportunity__r.AccountId).Borrower_Type__c == 'Borrower'){
                       
                       system.debug('==Test==');
                        cbp.Amt_Overdue__c = String.valueof(AmtOverdue);
                        cbp.Date_of_Last_Payment__c = lastPaymentReceived;
                        
                        cbp.Report_Month__c = DT1;
                        cbp.Current_Face__c = CF;
                        if(mapdaycount.containskey(psch.Opportunity__r.Parent_Opportunity__c))
                        cbp.No_of_Days_Pass_Due__c = mapdaycount.get(psch.Opportunity__r.Parent_Opportunity__c);
                        
                        cbp.Disbursement_Date__c = mapOpp.get(psch.Opportunity__c).CloseDate;
                        cbp.Actual_Maturity_Date__c = mapOpp.get(psch.Opportunity__c).Actual_Maturity_Date__c;
                        cbp.Date_closed__c = mapOpp.get(psch.Opportunity__c).Actual_Maturity_Date__c;
                        cbp.Sanction_Amount__c = mapOpp.get(psch.Opportunity__c).Sanction_Amount__c;
                        cbp.LeadSource__c = mapOpp.get(psch.Opportunity__c).LeadSource__r.name;
                        cbp.Curr_New_Account_No__c = mapOpp.get(psch.Opportunity__c).Name;
                        cbp.Opportunity_Name__c = mapOpp.get(psch.Opportunity__c).Parent_Opportunity__r.Name;
                        cbp.Account_Type__c = mapOpp.get(psch.Opportunity__c).RecordType.Name;
                        //cbp.CIBIL_Record_Type__c = mapOpp.get(psch.Opportunity__c).RecordType.Name;
                        cbp.CIBIL_Record_Type__c = 'Credit Facility Loan';
                   
                        
                        cbp.BirthDate__c = Mapcon.get(psch.Opportunity__r.AccountId).Birthdate;
                        cbp.PAN_ID__c = Mapcon.get(psch.Opportunity__r.AccountId).Account.PAN__c;
                        cbp.Aadhar_Number__c = Mapcon.get(psch.Opportunity__r.AccountId).Account.Aadhaar_Number__c;
                        cbp.Phone__c = Mapcon.get(psch.Opportunity__r.AccountId).Phone;
                        cbp.HomePhone__c = Mapcon.get(psch.Opportunity__r.AccountId).HomePhone;
                        cbp.Alt_Phone__c = Mapcon.get(psch.Opportunity__r.AccountId).Alt_Phone__c;
                        cbp.OtherPhone__c = Mapcon.get(psch.Opportunity__r.AccountId).OtherPhone;               
                        cbp.Gender__c = Mapcon.get(psch.Opportunity__r.AccountId).Gender__c;
                        cbp.Voter_ID__c = Mapcon.get(psch.Opportunity__r.AccountId).Voter_ID__c;
                        cbp.Driving_License__c = Mapcon.get(psch.Opportunity__r.AccountId).Driving_License__c;
                        cbp.Mobile_Phone__c = Mapcon.get(psch.Opportunity__r.AccountId).MobilePhone;
                        cbp.Email__c = Mapcon.get(psch.Opportunity__r.AccountId).Email;
                        cbp.Email1__c = Mapcon.get(psch.Opportunity__r.AccountId).Official_Email__c;
                        cbp.Address_Category__c = Mapcon.get(psch.Opportunity__r.AccountId).Address_Category__c;
                        cbp.Mailing_Address__c = Mapcon.get(psch.Opportunity__r.AccountId).Mailing_Address__c;
                        cbp.Street__c = Mapcon.get(psch.Opportunity__r.AccountId).mailingStreet;
                        cbp.Address_1__c = Mapcon.get(psch.Opportunity__r.AccountId).mailingStreet;
                        cbp.State__c = Mapcon.get(psch.Opportunity__r.AccountId).mailingState;
                        cbp.Postal_code__c = Mapcon.get(psch.Opportunity__r.AccountId).mailingPostalCode;
                        cbp.Country__c = Mapcon.get(psch.Opportunity__r.AccountId).mailingCountry;
                        cbp.City__c = Mapcon.get(psch.Opportunity__r.AccountId).mailingCity;
                        cbp.Account_Name__c = Mapcon.get(psch.Opportunity__r.AccountId).Accountid;               
                        cbp.Account_Id__c = Mapcon.get(psch.Opportunity__r.AccountId).Account.id;
                     }
                }           
                cibillst.add(cbp);
            }
            system.debug('==cibillst=='+cibillst.size());
            if(cibillst!=null && cibillst.size()>0)
                insert cibillst;
        }catch(Exception e){
            system.debug('==Exp=='+e);
        }
    }
    global void finish(Database.BatchableContext BC) {
    }
}

Hi Experts,

I am trying to insert child opportunity records details in system by clubbing all the details to its parent opportunities. Like if i have one parent opportunity and multiple child records so after some custom calculations, i want to insert single record in an other custom object under parent opportunity name.

but i am getting the same error while running this batch class on batch size of 50 but while running the same code for 1 batch size it running perfectly.
What should I do?
my code:
global class XXXXX implements Database.Batchable<sObject>,Database.Stateful {  
    private Date DT1;

    public XXXXX(Date DT) {   
        DT1 = DT;
    }
    global Database.QueryLocator start(Database.BatchableContext BC) {
       String Query = 'Select id, accountid, Name, Disbursement_Date__c, CloseDate, Actual_Maturity_Date__c, Sanction_Amount__c, Current_Face__c,StageName,LastModifiedDate, RecordType.Name, Account_Record_Type__c, Original_face__c, current_factors__c, LeadSource__c,LeadSource__r.name,Credit_Approved_Date__c,Credit_Type__c,Loan_Tenor_in_Month__c,Maturity_Date__c,Credit_Rating__c,Amortization_Type__c,Parent_Opportunity__c,Parent_Opportunity__r.Name from Opportunity where ((RecordType.Name= \'XXXXX\') and (StageName = \'XXXXX\' OR StageName = \'XXXXX\' OR StageName = \'XXXXX\' OR (LeadSource__r.name=\'XXXXX\' and StageName = \'XXXXX\')  ))';
        return Database.getQueryLocator(Query);
    }
    
    global void execute(Database.BatchableContext BC, List<Opportunity> scope) {
            system.debug('Scope  :'+ Scope);
        try{
            List<CIBIL_Reporting__c> XXXXX= new List<CIBIL_Reporting__c>();
            Set<id>accId=new Set<id>();
            Set<id>oppId=new Set<id>();
            Set<id>oppparntId=new Set<id>();
            Map<id,Opportunity>mapOpp=new Map<id,Opportunity>();
            List<Payment_Schedules__c> pslist=new List<Payment_Schedules__c>();
            Map<id,Contact> Mapcon=new Map<id,Contact>();
            Map<Id, Opportunity> oppMap =  new Map<Id, Opportunity>();
for(opportunity opp : Scope){ 
                accId.add(opp.AccountId);
                oppparntId.add(opp.id);
oppMap.put(opp.id, opp);
            }
            system.debug('==accId=='+accId);
            if(accId!=null && accId.size()>0){
                for(Contact con: [Select Id,Account.Parent.name,District_eKYC__c,Date_of_Birth_eKYC__c,Passport_Id__c,account.name,account.ParentId,
                                account.Business_Category__c,account.Industry,Account.Aadhaar_Number__c,Account.Salutation,Account.Legal_Constitution__c,account.AccountNumber,account.CIN__c,
                                Account.BillingPostalCode, accountid,Account.PAN__c, Name, Birthdate, Gender__c, PAN_ID__c, Aadhaar_Number__c,Phone, Email, Official_Email__c,
                                MobilePhone, HomePhone, Alt_Phone__c, OtherPhone, Voter_Id__c, Driving_License__c, Mailing_Address__c, Address_Category__c, 
                                Borrower_Type__c, mailingStreet, mailingState,Account.Incorporation_Date__c, mailingPostalCode, mailingCountry, mailingCity,
                                Borrower_Office_Type__c,Pin_Code_eKYC__c,Fax,Account.Phone from Contact where accountid In: accId]){
                                
                    if(con.accountid!=null)
                        Mapcon.put(con.accountid,con);                
                }
            }
            system.debug('==Mapcon=='+Mapcon);
            system.debug('==oppparntId=='+oppparntId);
            for(opportunity opp: [Select id, accountid, Name, Disbursement_Date__c, CloseDate, Actual_Maturity_Date__c, Sanction_Amount__c, Current_Face__c,StageName,LastModifiedDate, RecordType.Name, Account_Record_Type__c, Original_face__c, current_factors__c, LeadSource__c,LeadSource__r.name,Credit_Approved_Date__c,Credit_Type__c,Loan_Tenor_in_Month__c,Maturity_Date__c,Credit_Rating__c,Amortization_Type__c,Parent_Opportunity__c,Parent_Opportunity__r.Name from Opportunity where Parent_Opportunity__c IN:oppparntId]){  
                if(Mapcon.containskey(opp.accountid)){                
                    If (Opp.RecordType.Name !='XXXXX' && Opp.Parent_Opportunity__c!= null ){
                        oppId.add(opp.id);
                        mapOpp.put(opp.id,opp);
                    }

               }
            }
            
            Integer SanctionAmount = 0;
            Integer Noofday = 0;
            Decimal CF = 0.0;
            Integer AmtOverdue = 0;
            Boolean Flag = false;
            Date lastPaymentReceived;
            
            system.debug('==oppId=='+oppId);
            system.debug('OPPID SIZE =='+ oppId.size());
            system.debug('MAPOPP SIZE =='+ mapOpp.size());
            if(oppId!=null && oppId.size()>0){
                pslist= [select id, Opportunity__r.Sanction_Amount__c,Opportunity__c,Opportunity__r.AccountId,Opportunity__r.Parent_Opportunity__c,
                                                Opportunity__r.Account_Record_Type__c,Payment_Received_Date__c,ClosingPrincipalBal__c,
                                                Open_Principal__c,Clearance__c,Date__c,Net_Payment__c, Delinquent_Days__c from 
                                                Payment_Schedules__c where Opportunity__c IN: oppId and Date__c<:DT1 order by Date__c Desc];                            
            }
            system.debug('==pslist=='+pslist.size());
            
            if(pslist!=null && pslist.Size()>0){
                for(Payment_Schedules__c psch: pslist){
                     
                    if (psch.Opportunity__r.Sanction_Amount__c!=null)
                        SanctionAmount=integer.valueOf(psch.Opportunity__r.Sanction_Amount__c);       
                        
                                      
                    // if Payment is not received
                    if(psch.Clearance__c == false) {
                        flag = True;
                        if (psch.Net_Payment__c!=null) 
                            AmtOverdue+=integer.valueOf(psch.Net_Payment__c);
                            
                           // Noofday = psch.Date__c.daysBetween(DT1);
                            system.debug('No. of DPD: From ' + psch.Date__c + ' To ' + DT1 + Noofday);
                        
                            CF = psch.Open_Principal__c;
                            system.debug('Current Face: ' + CF);
                    }else{ // Payment is received
                        if(!flag){ // if all the Payment was received
                           // Noofday = psch.Date__c.daysBetween(DT1)-1;
                            
                            // if payment is received after Reported Date to CIBIL
                            if(psch.Delinquent_Days__c<=Noofday){
                              //  Noofday = Integer.Valueof(psch.Delinquent_Days__c);
                                CF = psch.ClosingPrincipalBal__c;
                            }else{
                                CF = psch.Open_Principal__c;
                            }
                            system.debug('No. of DPD: From 111: ' + psch.Date__c + ' To ' + DT1 + Noofday);                           
                            system.debug('Current Face 111: ' + CF);
                       }
                          lastPaymentReceived = psch.Payment_Received_Date__c;
                        system.debug('Last Payment Received: +' + psch.Payment_Received_Date__c);
                        
                        break;
                     }
                                
                 }
                 Map<Id,Double>mapdaycount=new Map<Id,Double>();
                AggregateResult[] groupedResults
                          = [SELECT Opportunity__c, Max(Delinquent_Days__c)
                              FROM Payment_Schedules__c where Opportunity__c IN: oppId and Opportunity__r.Parent_Opportunity__c != null and Date__c<:DT1
                              GROUP BY Opportunity__c];
                        
                for (AggregateResult ar : groupedResults)  
                {   
                Id oppId1 = (ID)ar.get('Opportunity__c');
                double temp = (Double)ar.get('expr0');
                temp=temp!=null?temp:0;
                    if(mapdaycount.containsKey(mapOpp.get(oppId1 ).Parent_Opportunity__c)){
                        double maxValue= mapdaycount.get(mapOpp.get(oppId1 ).Parent_Opportunity__c)!=null?mapdaycount.get(mapOpp.get(oppId1 ).Parent_Opportunity__c):0;
                
                        if(temp > mapdaycount.get(mapOpp.get(oppId1).Parent_Opportunity__c)){
                                mapdaycount.put(mapOpp.get(oppId1).Parent_Opportunity__c,temp);
                        }
                    
                    }
                    else{
                    mapdaycount.put(mapOpp.get(oppId1 ).Parent_Opportunity__c,temp);
                    }
                }
                system.debug('==mapdaycount=='+mapdaycount);
                 CIBIL_Reporting__c  cbp = new CIBIL_Reporting__c();
                 for(Payment_Schedules__c psch: pslist){
                     if(mapOpp.containskey(psch.Opportunity__c) && mapOpp.get(psch.Opportunity__c).Account_Record_Type__c == 'Retail Borrower Account' && Mapcon.containskey(psch.Opportunity__r.AccountId) && Mapcon.get(psch.Opportunity__r.AccountId).Borrower_Type__c == 'Borrower'){
                       
                       system.debug('==Test==');
                        cbp.Amt_Overdue__c = String.valueof(AmtOverdue);
                        cbp.Date_of_Last_Payment__c = lastPaymentReceived;
                        
                        cbp.Report_Month__c = DT1;
                        cbp.Current_Face__c = CF;
                        if(mapdaycount.containskey(psch.Opportunity__r.Parent_Opportunity__c))
                        cbp.No_of_Days_Pass_Due__c = mapdaycount.get(psch.Opportunity__r.Parent_Opportunity__c);
                        
                        cbp.Disbursement_Date__c = mapOpp.get(psch.Opportunity__c).CloseDate;
                        cbp.Actual_Maturity_Date__c = mapOpp.get(psch.Opportunity__c).Actual_Maturity_Date__c;
                        cbp.Date_closed__c = mapOpp.get(psch.Opportunity__c).Actual_Maturity_Date__c;
                        cbp.Sanction_Amount__c = mapOpp.get(psch.Opportunity__c).Sanction_Amount__c;
                        cbp.LeadSource__c = mapOpp.get(psch.Opportunity__c).LeadSource__r.name;
                        cbp.Curr_New_Account_No__c = mapOpp.get(psch.Opportunity__c).Name;
                        cbp.Opportunity_Name__c = mapOpp.get(psch.Opportunity__c).Parent_Opportunity__r.Name;
                        cbp.Account_Type__c = mapOpp.get(psch.Opportunity__c).RecordType.Name;
                        //cbp.CIBIL_Record_Type__c = mapOpp.get(psch.Opportunity__c).RecordType.Name;
                        cbp.CIBIL_Record_Type__c = 'Credit Facility Loan';
                   
                        
                        cbp.BirthDate__c = Mapcon.get(psch.Opportunity__r.AccountId).Birthdate;
                        cbp.PAN_ID__c = Mapcon.get(psch.Opportunity__r.AccountId).Account.PAN__c;
                        cbp.Aadhar_Number__c = Mapcon.get(psch.Opportunity__r.AccountId).Account.Aadhaar_Number__c;
                        cbp.Phone__c = Mapcon.get(psch.Opportunity__r.AccountId).Phone;
                        cbp.HomePhone__c = Mapcon.get(psch.Opportunity__r.AccountId).HomePhone;
                        cbp.Alt_Phone__c = Mapcon.get(psch.Opportunity__r.AccountId).Alt_Phone__c;
                        cbp.OtherPhone__c = Mapcon.get(psch.Opportunity__r.AccountId).OtherPhone;               
                        cbp.Gender__c = Mapcon.get(psch.Opportunity__r.AccountId).Gender__c;
                        cbp.Voter_ID__c = Mapcon.get(psch.Opportunity__r.AccountId).Voter_ID__c;
                        cbp.Driving_License__c = Mapcon.get(psch.Opportunity__r.AccountId).Driving_License__c;
                        cbp.Mobile_Phone__c = Mapcon.get(psch.Opportunity__r.AccountId).MobilePhone;
                        cbp.Email__c = Mapcon.get(psch.Opportunity__r.AccountId).Email;
                        cbp.Email1__c = Mapcon.get(psch.Opportunity__r.AccountId).Official_Email__c;
                        cbp.Address_Category__c = Mapcon.get(psch.Opportunity__r.AccountId).Address_Category__c;
                        cbp.Mailing_Address__c = Mapcon.get(psch.Opportunity__r.AccountId).Mailing_Address__c;
                        cbp.Street__c = Mapcon.get(psch.Opportunity__r.AccountId).mailingStreet;
                        cbp.Address_1__c = Mapcon.get(psch.Opportunity__r.AccountId).mailingStreet;
                        cbp.State__c = Mapcon.get(psch.Opportunity__r.AccountId).mailingState;
                        cbp.Postal_code__c = Mapcon.get(psch.Opportunity__r.AccountId).mailingPostalCode;
                        cbp.Country__c = Mapcon.get(psch.Opportunity__r.AccountId).mailingCountry;
                        cbp.City__c = Mapcon.get(psch.Opportunity__r.AccountId).mailingCity;
                        cbp.Account_Name__c = Mapcon.get(psch.Opportunity__r.AccountId).Accountid;               
                        cbp.Account_Id__c = Mapcon.get(psch.Opportunity__r.AccountId).Account.id;
                     }
                }           
                cibillst.add(cbp);
            }
            system.debug('==cibillst=='+cibillst.size());
            if(cibillst!=null && cibillst.size()>0)
                insert cibillst;
        }catch(Exception e){
            system.debug('==Exp=='+e);
        }
    }
    global void finish(Database.BatchableContext BC) {
    }
}

This makes absolutely no sense to me. I am trying to insert two OpportunityLineItems that are exactly the same but I get this exception. What good reason is there to stop the insertion of two Records that are the same?

I understand if this was an upsert operation as you can't insert and update and the same time but I am inserting two brand new OpportuntiyLineItem records.

Thanks,
Jason


Message Edited by TehNrd on 09-24-2008 04:48 PM
  • September 24, 2008
  • Like
  • 0
Hi,
 
We currently use Enterprise edition for salesforce. Can anyone please highlight what are the advantages for getting the Unlimited Edition now that APEX is included with the Enterprise Edition? One of the reason why we were planning to go for UE was for APEX code as earlier it was not available in EE.
 
Appreciate if anyone could highlight the advantages of UE over EE, espcially w.r.t development.
 
Thanks and regards,
Ambili Rasu
  • January 18, 2008
  • Like
  • 0