You need to sign in to do that
Don't have an account?
Miles Sonnenfeld 2
apex soql get minimum date from group of records
I am trying to get the minimum date from sevral records. My code has no Problems, but when I attempt to run I get an error...Please help as I am not sure why I can select a string using SOQL, but not a Date.
"Line: 7, Column: 1
System.DmlException: Insert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, AfterTenantOpp: execution of AfterInsert caused by: System.StringException: Ending position out of bounds: 4 Class.TenantOpp_CarrierLeaseComplete.CarrierExecution: line 21, column 1 Trigger.AfterTenantOpp: line 24, column 1: []"
My Trigger...
My Class....
"Line: 7, Column: 1
System.DmlException: Insert failed. First exception on row 0; first error: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY, AfterTenantOpp: execution of AfterInsert caused by: System.StringException: Ending position out of bounds: 4 Class.TenantOpp_CarrierLeaseComplete.CarrierExecution: line 21, column 1 Trigger.AfterTenantOpp: line 24, column 1: []"
My Trigger...
trigger AfterTenantOpp on Tenant_Opportunities__c (after insert) { for(Tenant_Opportunities__c TO:trigger.new) { String Recordid = TO.Id; String SiteID = TO.Site_ID__c; String Carrier = TO.Carrier_Tenant__c; Integer Count =[SELECT count() FROM Tenant_Opportunities__c WHERE Carrier_Tenant__c=:Carrier AND Site_ID__c =: SiteID]; List<Site_ID__c> OppIDList = [SELECT Opportunity__c FROM Site_ID__c WHERE Id=:SiteID]; String OppID = string.valueof(OppIDList[0]); system.debug('RecordId: '+Recordid); system.debug('SiteID: '+SiteID); system.debug('Carrier: '+Carrier); system.debug('Count: '+Count); TenantOpp_ProjectExt.NewProjectExt(Recordid, SiteID, Carrier, Count); TenantOpp_CarrierNumber.CarrierNumber(Recordid, SiteID, Carrier, Count); TenantOpp_CarrierLeaseComplete.CarrierExecution(Recordid, SiteID, Carrier, OppID); } }
My Class....
public class TenantOpp_CarrierLeaseComplete { public static void CarrierExecution(String Recordid, String SiteID, String Carrier, String OppID){ List<Tenant_Opportunities__c> CarrierLeaseCompleteList = [SELECT Carrier_Lease_Complete__c FROM Tenant_Opportunities__c WHERE Carrier_Lease_Complete__c != null AND Site_ID__c=:SiteID AND Carrier_Tenant__c=:Carrier ORDER BY Carrier_Lease_Complete__c LIMIT 1]; String StringDateComplete = string.valueof(CarrierLeaseCompleteList[0]); system.debug('StringDateComplete: '+StringDateComplete); String DateYear = StringDateComplete.substring(51,4); system.debug('DateYear: '+DateYear); } }
Best Answer chosen by Miles Sonnenfeld 2
Miles Sonnenfeld 2
I figured it out!