You need to sign in to do that
Don't have an account?
Ashw
how to put this code in class and call it from trigger
if in Opportunity stagename is closed won & closed lost and amount is already exist and then it should not be editable.
trigger OppTrg on Opportunity (before update) {
Opportunity newopp = trigger.new[0];
Opportunity oldOpp = trigger.old[0];
if(oldOpp.StageName == 'Closed Won' || oldOpp.StageName == 'Closed Lost'){
if(oldOpp.Amount != newOpp.Amount){
newopp.addError('YOu cannot change the amount when Opp is set to Closed Won or Closed lost');
}
}
}
trigger OppTrg on Opportunity (before update) {
Opportunity newopp = trigger.new[0];
Opportunity oldOpp = trigger.old[0];
if(oldOpp.StageName == 'Closed Won' || oldOpp.StageName == 'Closed Lost'){
if(oldOpp.Amount != newOpp.Amount){
newopp.addError('YOu cannot change the amount when Opp is set to Closed Won or Closed lost');
}
}
}
*****trigger******
trigger OppTrg on Opportunity (Before Update)
{
oppTrgClass.StageAmountCheck(trigger.new, trigger.oldmap);
}
*****class******
public class oppTrgClass
{
public void StageAmountCheck(List<Opportunity> opps, Map<Id,Opportunity> oldmap)
{
for(Opportunity o : opps)
{
if((oldmap.get(o.Id).stagename == 'Closed Won' || oldmap.get(o.Id).stagename == 'Closed Lost') && o.Amount != oldmap.get(o.Id).Amount)
{
o.addError('You cannot change the amount when Opp is set to Closed Won or Closed lost');
}
}
}
}