You need to sign in to do that
Don't have an account?

Date expressions must use Integer or Long
Hello Everyone I am writting a trigger for validating a record not be deleted before 2 years from RECORD CREATION
DATE. I am getting error like 'Date expressions must use Integer or Long' Can someone please help me to
complete this code. Thanks in advance.
trigger DelTrigger on BD__c (before Delete) {
for(BD__c ObjInd : Trigger.Old){
if(Trigger.isDelete){
if (ObjInd.Date__c != null){
Integer noOfMonths = (Date.today() - ObjInd.Date__c)/365*12;
if (noOfMonths <= 24 ){
ObjInd.addError('Record can not be deleted');
}
}
}
}
}
Regards,
Dj
DATE. I am getting error like 'Date expressions must use Integer or Long' Can someone please help me to
complete this code. Thanks in advance.
trigger DelTrigger on BD__c (before Delete) {
for(BD__c ObjInd : Trigger.Old){
if(Trigger.isDelete){
if (ObjInd.Date__c != null){
Integer noOfMonths = (Date.today() - ObjInd.Date__c)/365*12;
if (noOfMonths <= 24 ){
ObjInd.addError('Record can not be deleted');
}
}
}
}
}
Regards,
Dj
You can use: mydate.monthsBetween(today); directly
Date:
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/langCon_apex_primitives.htm
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_date.htm
Regards
trigger DelTrigger on BD__c (before delete) {
for(BD__c ObjInd : Trigger.Old){
if(Trigger.isDelete){
if (ObjInd.CreatedDate != null){
Date today = Date.today();
Date mydate = ObjInd.CreatedDate.date();
Integer monthDiff = mydate.monthsBetween(today);
if (monthDiff <= 24 ){
ObjInd.addError('Record can not be deleted');
}
}
}
}
}