This trigger will prevent records from being deleted or fields from being changed once they have been set, so they are write-once. Note, the other fields can be written many times but the specific field's value can only be set when the record is created.
trigger Trigger_Account on Account (before delete, before update) {
if (trigger.isDelete) {
for (Account a : trigger.old) {
a.addError('You can’t delete accounts');
}
} else {
for (Account aNew : trigger.new) {
Account aOld = Trigger.oldMap.get(aNew.ID);
if (aNew.Phone != aOld.Phone) {
aNew.Phone = aOld.Phone;
}
}
}
}
trigger Trigger_Account on Account (before delete, before update) {
if (trigger.isDelete) {
for (Account a : trigger.old) {
a.addError('You can’t delete accounts');
}
} else {
for (Account aNew : trigger.new) {
Account aOld = Trigger.oldMap.get(aNew.ID);
if (aNew.Phone != aOld.Phone) {
aNew.Phone = aOld.Phone;
}
}
}
}
No comments:
Post a Comment