You need to sign in to do that
Don't have an account?
Lavanya Ponniah 3
Whats wrong in this trigger?Its not firing
trigger OrderInclusiveorWaive on OrderItem (before insert,before update)
{
List<Product2> pt = new List<Product2>();
for(OrderItem op : Trigger.new)
{
for(PricebookEntry pbe : [Select Id, pricebook2id, product2id, unitprice From PricebookEntry Where Id=:op.PricebookEntryId])
{
for(Pricebook2 pb2 : [Select Id From Pricebook2 Where Id=:pbe.Pricebook2Id])
{
for(Product2 p : [Select Name From Product2 Where Id =: pbe.product2id])
{
if(p.id == pbe.product2id)
{
if( op.Inclusive_or_Waive__c == TRUE )
{
if((op.Total_Hardware_Type_Ordered_Products__c) >= (op.Total_Package_Ordered_Products__c))
{
op.addError(' No Quantity is Matched,Please match it');
}
}
else if( op.Inclusive_or_Waive__c == FALSE )
{
if(p.id!=null || (op.Total_Hardware_Type_Ordered_Products__c) >= (op.Total_Package_Ordered_Products__c))
{
pt.add(p);
}
}
}
update p;
}
}
}
}
}
{
List<Product2> pt = new List<Product2>();
for(OrderItem op : Trigger.new)
{
for(PricebookEntry pbe : [Select Id, pricebook2id, product2id, unitprice From PricebookEntry Where Id=:op.PricebookEntryId])
{
for(Pricebook2 pb2 : [Select Id From Pricebook2 Where Id=:pbe.Pricebook2Id])
{
for(Product2 p : [Select Name From Product2 Where Id =: pbe.product2id])
{
if(p.id == pbe.product2id)
{
if( op.Inclusive_or_Waive__c == TRUE )
{
if((op.Total_Hardware_Type_Ordered_Products__c) >= (op.Total_Package_Ordered_Products__c))
{
op.addError(' No Quantity is Matched,Please match it');
}
}
else if( op.Inclusive_or_Waive__c == FALSE )
{
if(p.id!=null || (op.Total_Hardware_Type_Ordered_Products__c) >= (op.Total_Package_Ordered_Products__c))
{
pt.add(p);
}
}
}
update p;
}
}
}
}
}
Please post some output.
It should fire .
Also add System.debug() immedietly before for loop.