-
ChatterFeed
-
0Best Answers
-
0Likes Received
-
0Likes Given
-
1Questions
-
1Replies
System.LimitException: Too many query rows: 50001 - Just Started Throwing the Code
This issue came up without any new code being deployed.
All help is greatly appreciated.
Description of Trigger
The Trigger automatically greats a renewal opportunity after a new opportunity is marked as closed one.
Code
All help is greatly appreciated.
Description of Trigger
The Trigger automatically greats a renewal opportunity after a new opportunity is marked as closed one.
Code
trigger RenewalOpptTrigger on Opportunity (after update) { Map<Id, Account> accts = new Map<Id, Account>([SELECT Id, Name FROM Account]); List<Opportunity> opps = new List<Opportunity>([SELECT Name FROM Opportunity]); //Checking paramaters for Renewal Opportunity - Must be Won and Closed, etc. if (trigger.isUpdate){ for (Opportunity opp : Trigger.new){ System.debug('Opportunity: ' + opp.Name + ', Stage: ' + opp.StageName); if(opp.StageName == 'Customer - Closed Won'){ if(opp.Type == 'Renewal' || opp.Type =='Renewal and Expansion' || opp.Type == 'New - Enterprise' || opp.Type == 'New Business Expansion'){ System.debug(LoggingLevel.Error, 'Opp ID: ' + opp.Id); //Renewal Date Calculations - Renewal Start and End Dates Date contractStartDate = opp.Contract_Start_Date__c; integer duration = (integer)opp.Contract_Duration_Months__c; Date renewalStartDate = contractStartDate.addMonths(duration); system.debug(renewalStartDate); Account acct = accts.get(opp.AccountId); String acctName = acct.Name; String stage = 'SAL Demo Scheduled'; decimal amount; if(opp.License__c != null && opp.Contract_Increase__c!=null ){ amount = ((opp.Contract_Increase__c/100)+1) * opp.License__c; } else{amount = opp.License__c;} system.debug(amount); String title = String.valueOf(renewalStartDate.year()) + '_Renewal_' + acctName + '_$' + String.valueOf(amount.format()); OpportunityContactRole[] oppconroles = [SELECT IsPrimary, ContactId FROM OpportunityContactRole WHERE OpportunityId = :opp.Id]; boolean exists = false; for (Opportunity o : opps) { if (o.Name == title) { exists = true; System.debug(LoggingLevel.Error, o.Name + ' already EXISTS'); } } if(!exists){ Opportunity ren_opp = opp.clone(false, true, false, false); ren_opp.License__c = amount; ren_opp.Amount = amount; ren_opp.Previous__c = opp.License__c; system.debug(ren_opp.License__c); ren_opp.StageName = stage; ren_opp.Contract_Start_Date__c = renewalStartDate; ren_opp.Contract_Duration_Months__c = duration; ren_opp.CloseDate = renewalStartDate; ren_opp.Type = 'Renewal'; ren_opp.Probability = 10; if(ren_opp.Contract_Increase__c>0){ ren_opp.Type='Renewal and Expansion';} ren_opp.Name = title; //System Information deletions ren_opp.CampaignId = null; ren_opp.Date_moved_to_Closed_Lost__c = null; ren_opp.Date_moved_to_Closed_Won__c = null; ren_opp.Date_moved_to_Contract_Sent__c = null; ren_opp.Date_moved_to_Demo_Complete__c = null; ren_opp.Date_moved_to_Demo_Scheduled__c = null; ren_opp.Date_moved_to_Verbal_Commit__c = null; ren_opp.Date_moved_to_Proposal_Sent__c = null; ren_opp.Amount_at_Closed_Lost__c = null; ren_opp.Amount_at_Closed_Won__c = null; ren_opp.Amount_at_Contract_Sent__c = null; ren_opp.Amount_at_Demo_Complete__c = null; ren_opp.Amount_at_Demo_Scheduled__c = null; ren_opp.Amount_at_Proposal_Sent__c = null; ren_opp.Amount_at_Verbal_Commit__c = null; //SOW Deletions ren_opp.Unique_Pricing_Scenario__c = null; ren_opp.Department__c = null; ren_opp.Signature_Events__c = null; ren_opp.Number_of_Seats__c = null; ren_opp.Special_Admin_Structure__c = null; ren_opp.Design_Resources__c = null; ren_opp.Needs_Designer_Pro__c = false; ren_opp.Key_Functionality_Landmines__c = null; ren_opp.Custom_Dev_Work__c=null; ren_opp.Splash_User_Experience__c=null; ren_opp.Kickoff_Email_Recipients__c=null; ren_opp.Imminent_Deadline__c=null; ren_opp.Client_Fears_or_Concerns__c=null; ren_opp.Opportunities_for_Growth__c = null; ren_opp.Opportunities_for_Growth_Yes__c = null; ren_opp.Additional_Comments__c = null; ren_opp.Require_Starter_Themes__c = null; // ren_opp.SOW_End_Date__c = renewalStartDate; ren_opp.Primary_Purpose_of_Events__c = null; //Docusign deletions ren_opp.DocuSign_Status__c = null; //Discovery Questions deletions ren_opp.Annual_of_Events__c = null; ren_opp.CRM__c=null; ren_opp.CRM_Other__c=null; ren_opp.CRM_Other__c = null; ren_opp.Budget__c = null; ren_opp.Purpose_of_Events__c = null; ren_opp.Purpose_of_Events_Other__c=null; ren_opp.What_are_they_currently_using__c = null; ren_opp.Marketing_Automation__c = null; ren_opp.Marketing_Automation_Other__c = null; ren_opp.Role_of_Primary_Contact__c = null; ren_opp.Role_of_Primary_Contact_other__c = null; ren_opp.Current_process_for_event_program__c = null; ren_opp.Currently_using_other__c = null; ren_opp.Value_Driver_details__c = null; ren_opp.Primary_Purpose_of_Events_Other__c = null; ren_opp.Need_SPS__c = null; //Other Deletions ren_opp.ForecastCategoryName = 'Pipeline'; ren_opp.Agreed_to_Case_Study__c = false; insert ren_opp; List<OpportunityContactRole> rolesToInsert = new List<OpportunityContactRole>(); for (OpportunityContactRole opprole : oppconroles) { System.debug(LoggingLevel.ERROR, 'ContactRole: ' + opprole.ContactId); OpportunityContactRole ocp = opprole.clone(false, true, true, true); ocp.OpportunityId = ren_opp.Id; rolesToInsert.add(ocp); } if (rolesToInsert.size() > 0) { insert rolesToInsert; } update ren_opp; } else{} } else{ System.debug('Case is not of the correct type'); } } else{ System.debug('Case '+ opp.Name + ' is not Closed and Won'); } } } }
- Will Foley
- June 27, 2017
- Like
- 0
System.LimitException: Too many query rows: 50001 - Just Started Throwing the Code
This issue came up without any new code being deployed.
All help is greatly appreciated.
Description of Trigger
The Trigger automatically greats a renewal opportunity after a new opportunity is marked as closed one.
Code
All help is greatly appreciated.
Description of Trigger
The Trigger automatically greats a renewal opportunity after a new opportunity is marked as closed one.
Code
trigger RenewalOpptTrigger on Opportunity (after update) { Map<Id, Account> accts = new Map<Id, Account>([SELECT Id, Name FROM Account]); List<Opportunity> opps = new List<Opportunity>([SELECT Name FROM Opportunity]); //Checking paramaters for Renewal Opportunity - Must be Won and Closed, etc. if (trigger.isUpdate){ for (Opportunity opp : Trigger.new){ System.debug('Opportunity: ' + opp.Name + ', Stage: ' + opp.StageName); if(opp.StageName == 'Customer - Closed Won'){ if(opp.Type == 'Renewal' || opp.Type =='Renewal and Expansion' || opp.Type == 'New - Enterprise' || opp.Type == 'New Business Expansion'){ System.debug(LoggingLevel.Error, 'Opp ID: ' + opp.Id); //Renewal Date Calculations - Renewal Start and End Dates Date contractStartDate = opp.Contract_Start_Date__c; integer duration = (integer)opp.Contract_Duration_Months__c; Date renewalStartDate = contractStartDate.addMonths(duration); system.debug(renewalStartDate); Account acct = accts.get(opp.AccountId); String acctName = acct.Name; String stage = 'SAL Demo Scheduled'; decimal amount; if(opp.License__c != null && opp.Contract_Increase__c!=null ){ amount = ((opp.Contract_Increase__c/100)+1) * opp.License__c; } else{amount = opp.License__c;} system.debug(amount); String title = String.valueOf(renewalStartDate.year()) + '_Renewal_' + acctName + '_$' + String.valueOf(amount.format()); OpportunityContactRole[] oppconroles = [SELECT IsPrimary, ContactId FROM OpportunityContactRole WHERE OpportunityId = :opp.Id]; boolean exists = false; for (Opportunity o : opps) { if (o.Name == title) { exists = true; System.debug(LoggingLevel.Error, o.Name + ' already EXISTS'); } } if(!exists){ Opportunity ren_opp = opp.clone(false, true, false, false); ren_opp.License__c = amount; ren_opp.Amount = amount; ren_opp.Previous__c = opp.License__c; system.debug(ren_opp.License__c); ren_opp.StageName = stage; ren_opp.Contract_Start_Date__c = renewalStartDate; ren_opp.Contract_Duration_Months__c = duration; ren_opp.CloseDate = renewalStartDate; ren_opp.Type = 'Renewal'; ren_opp.Probability = 10; if(ren_opp.Contract_Increase__c>0){ ren_opp.Type='Renewal and Expansion';} ren_opp.Name = title; //System Information deletions ren_opp.CampaignId = null; ren_opp.Date_moved_to_Closed_Lost__c = null; ren_opp.Date_moved_to_Closed_Won__c = null; ren_opp.Date_moved_to_Contract_Sent__c = null; ren_opp.Date_moved_to_Demo_Complete__c = null; ren_opp.Date_moved_to_Demo_Scheduled__c = null; ren_opp.Date_moved_to_Verbal_Commit__c = null; ren_opp.Date_moved_to_Proposal_Sent__c = null; ren_opp.Amount_at_Closed_Lost__c = null; ren_opp.Amount_at_Closed_Won__c = null; ren_opp.Amount_at_Contract_Sent__c = null; ren_opp.Amount_at_Demo_Complete__c = null; ren_opp.Amount_at_Demo_Scheduled__c = null; ren_opp.Amount_at_Proposal_Sent__c = null; ren_opp.Amount_at_Verbal_Commit__c = null; //SOW Deletions ren_opp.Unique_Pricing_Scenario__c = null; ren_opp.Department__c = null; ren_opp.Signature_Events__c = null; ren_opp.Number_of_Seats__c = null; ren_opp.Special_Admin_Structure__c = null; ren_opp.Design_Resources__c = null; ren_opp.Needs_Designer_Pro__c = false; ren_opp.Key_Functionality_Landmines__c = null; ren_opp.Custom_Dev_Work__c=null; ren_opp.Splash_User_Experience__c=null; ren_opp.Kickoff_Email_Recipients__c=null; ren_opp.Imminent_Deadline__c=null; ren_opp.Client_Fears_or_Concerns__c=null; ren_opp.Opportunities_for_Growth__c = null; ren_opp.Opportunities_for_Growth_Yes__c = null; ren_opp.Additional_Comments__c = null; ren_opp.Require_Starter_Themes__c = null; // ren_opp.SOW_End_Date__c = renewalStartDate; ren_opp.Primary_Purpose_of_Events__c = null; //Docusign deletions ren_opp.DocuSign_Status__c = null; //Discovery Questions deletions ren_opp.Annual_of_Events__c = null; ren_opp.CRM__c=null; ren_opp.CRM_Other__c=null; ren_opp.CRM_Other__c = null; ren_opp.Budget__c = null; ren_opp.Purpose_of_Events__c = null; ren_opp.Purpose_of_Events_Other__c=null; ren_opp.What_are_they_currently_using__c = null; ren_opp.Marketing_Automation__c = null; ren_opp.Marketing_Automation_Other__c = null; ren_opp.Role_of_Primary_Contact__c = null; ren_opp.Role_of_Primary_Contact_other__c = null; ren_opp.Current_process_for_event_program__c = null; ren_opp.Currently_using_other__c = null; ren_opp.Value_Driver_details__c = null; ren_opp.Primary_Purpose_of_Events_Other__c = null; ren_opp.Need_SPS__c = null; //Other Deletions ren_opp.ForecastCategoryName = 'Pipeline'; ren_opp.Agreed_to_Case_Study__c = false; insert ren_opp; List<OpportunityContactRole> rolesToInsert = new List<OpportunityContactRole>(); for (OpportunityContactRole opprole : oppconroles) { System.debug(LoggingLevel.ERROR, 'ContactRole: ' + opprole.ContactId); OpportunityContactRole ocp = opprole.clone(false, true, true, true); ocp.OpportunityId = ren_opp.Id; rolesToInsert.add(ocp); } if (rolesToInsert.size() > 0) { insert rolesToInsert; } update ren_opp; } else{} } else{ System.debug('Case is not of the correct type'); } } else{ System.debug('Case '+ opp.Name + ' is not Closed and Won'); } } } }
- Will Foley
- June 27, 2017
- Like
- 0