function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
swain 10swain 10 

I want to write a trigger to update stock quantity custom field in product object after orderitem in inserted in order........i mean stock quantity will deducted according to quanity of product selected in order item

I want to write a trigger to update stock quantity custom field in product object after orderitem in inserted in order........i mean stock quantity will deducted according to quanity of product selected in order item
Vivek PawarVivek Pawar
This is the sample code u can optimize & use .....

trigger orderItemTrigger on OrderItem(after insert) 
{
    if(trigger.isAfter)
    {
        Map<Id,Product2> mapofproducts = new Map<Id,Product2> ( [SELECT Id, vivekdemo__Stock_Quantity__c FROM Product2] );
        if(trigger.isInsert )
        {
            for(OrderItem oItem : trigger.new)
            {
                if(oItem.Product2Id != null)
                {
                    Product2 product = mapofproducts.get(oItem.Product2Id);
                    if(product.Stock_Quantity__c - oItem.Quantity >0 )
                    {
                        product.Stock_Quantity__c -= oItem.Quantity;
                    } 
                    else
                    {
                        System.debug('Error No stock left');
                    }   
                }
            }
            update mapofproducts.values();
        }
    }
}