BEFORE DELETE:
This event runs the block of code before the data is deleted
from the database. Operations such as preventing data deletion from the database can be
handled using this event.
SYNTAX:
trigger triggerName on objectName (before delete) {
// Block of code
}
SCENARIO:
We are
having the requirement to prevent deletion of Account record if it has parent Account
associated with it.
APEX TRIGGER:
trigger AccountMainTrigger on Account (before delete) { // Specifying the event.
createContactClass obj=new
createContactClass(); // Creating
instance of the class.
if(trigger.isbefore &&
trigger.isdelete) // Using
context variable.
{
obj.method1(Trigger.old); // Passing records to apex method.
}
}
APEX CLASS:
public class createContactClass {
public void method1(List<Account>
accList){ // Getting the
list of the account.
for(Account acc:accList){
if(acc.ParentId!=null){ // Checking if the account has a
parent account associated to it.
acc.addError('you cannot delete
this account as it is associated with the parent account. Please remove
relationship between accounts first to delete this account record.'); // Throw error if the condition is
satisfied.
}
}
}
}
Now, let us
try to delete an account record that has a parent account associated with it.
Is it possible to show the custom error message in a toast instead of modal?
ReplyDeleteIs it possible to store the count number of times we tried to delete the record on account object.
ReplyDelete