You need to sign in to do that
Don't have an account?
ruchika Nayyar
Once an opportunity line item will create update Opportunity's Account with the total number of Product Quantities.
trigger OPPTRIGGER on OpportunityLineItem (after update) {
Set<Id> OLI= new set<Id>();
for(OpportunityLineItem obj: TriggerNew)
{
SetOLI.add(obj.Id);
}
Map<ID, OpportunityLineItem> map1= New Map<ID, OpportunityLineItem>();
for(OpportunityLineItem obj:[Select Id,Name,quantity,opportunity,opportunity.AccountId,Opportunity.Account.myruchika__Total_sales_quantities__c from OpportunityLineItem where ID in :Set OLI])
{
if(obj.opportunity!=null && obj.Opportunity.AccountId!= null)
{
if(map1.get(obj.Opportunity.AccountId)== null)
{
map1.put(obj.Opportunity.AccountId, New list<OLI> New OpportunityLineItem)
{
map1.get(obj.Opportunity.AccountId).Add(obj);
}
}
}
}
list<Account> lstacc= New list<Account>();
for(Account obj:[Select Id,myruchika__Total_sales_quantities__c from account where ID in:Map.keySet()])
{
if(map1.get(obj.Id)!=null)
{
decimal total quantities=0;
}
}
for(OpportunityLineItem objLI:Map1.get(obj.Id))
{
totalquantity+=objLI.quantity
}
if(obj.myruchika__Total_sales_quantities__c==null)
{
obj.myruchika__Total_sales_quantities__c=0;
}
obj.myruchika__Total_sales_quantities__c+=totalquantity;
lstacc.add(obj);
}
updateOpportunityLineItem.size() >0)
update updateOpportunityLineItem;
}
}
error is coming in this code
please help me for this code
Set<Id> OLI= new set<Id>();
for(OpportunityLineItem obj: TriggerNew)
{
SetOLI.add(obj.Id);
}
Map<ID, OpportunityLineItem> map1= New Map<ID, OpportunityLineItem>();
for(OpportunityLineItem obj:[Select Id,Name,quantity,opportunity,opportunity.AccountId,Opportunity.Account.myruchika__Total_sales_quantities__c from OpportunityLineItem where ID in :Set OLI])
{
if(obj.opportunity!=null && obj.Opportunity.AccountId!= null)
{
if(map1.get(obj.Opportunity.AccountId)== null)
{
map1.put(obj.Opportunity.AccountId, New list<OLI> New OpportunityLineItem)
{
map1.get(obj.Opportunity.AccountId).Add(obj);
}
}
}
}
list<Account> lstacc= New list<Account>();
for(Account obj:[Select Id,myruchika__Total_sales_quantities__c from account where ID in:Map.keySet()])
{
if(map1.get(obj.Id)!=null)
{
decimal total quantities=0;
}
}
for(OpportunityLineItem objLI:Map1.get(obj.Id))
{
totalquantity+=objLI.quantity
}
if(obj.myruchika__Total_sales_quantities__c==null)
{
obj.myruchika__Total_sales_quantities__c=0;
}
obj.myruchika__Total_sales_quantities__c+=totalquantity;
lstacc.add(obj);
}
updateOpportunityLineItem.size() >0)
update updateOpportunityLineItem;
}
}
error is coming in this code
please help me for this code
NOTE: When adding code please use the "Add a code sample" button (icon <>) to increase readability and make it easier to reference.
NOTE: This code has not been tested and may contain typographical or logical errors
[1] https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/langCon_apex_SOQL_agg_fns.htm