{"id":6794,"date":"2019-02-24T10:44:29","date_gmt":"2019-02-24T15:44:29","guid":{"rendered":"https:\/\/www.jitendrazaa.com\/blog\/?p=6794"},"modified":"2019-02-24T10:44:35","modified_gmt":"2019-02-24T15:44:35","slug":"cannot-change-both-unitprice-and-totalprice-in-update-call","status":"publish","type":"post","link":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/cannot-change-both-unitprice-and-totalprice-in-update-call\/","title":{"rendered":"Cannot change both &#8216;UnitPrice&#8217; and &#8216;TotalPrice&#8217; in update call"},"content":{"rendered":"\n<p class=\"justify\">Recently, I was in need to update Sales Price (Unit Price) for OpportunityLineItem using Trigger. I wrote a small trigger on before insert and before update of OpportunityLineItem to update Sales Price.<\/p>\n\n\n\n<p class=\"justify\">It worked fine on insert however on update, even if user clicked on update button without changing any value, we were getting error <em><strong>Cannot change both &#8216;UnitPrice&#8217; and &#8216;TotalPrice&#8217; in update call.<\/strong><\/em><\/p>\n\n\n\n<p class=\"justify\">Its Standard Salesforce behavior and seems in background platform tries to perform some calculation for Total Price which is Quantity * Sales Price. I was not able to get it working on <strong>before update<\/strong>. However, below two approach worked :<\/p>\n\n\n\n<ol class=\"justify wp-block-list\"><li>Use Process builder to compute Unit Price as per formula. Process builder field update works after trigger so it went through.<\/li><li>In <strong>after update trigger,<\/strong> create list of Opportunity Product to be updates and make explicit update call for all records which qualified for update.<\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Trigger to change UnitPrice in Salesforce<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"jz_research_post":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[9],"tags":[],"class_list":["post-6794","post","type-post","status-publish","format-standard","hentry","category-salesforce"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":5042,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/why-to-avoid-using-workflow-rule-and-process-builder-field-update-with-trigger\/","url_meta":{"origin":6794,"position":0},"title":"Why to avoid using Workflow rule and Process Builder field update with Trigger","author":"Jitendra","date":"February 8, 2016","format":false,"excerpt":"Consideration before using Trigger, Workflow and Process builder field update at same time in Salesforce","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Trigger Workflow and Process Builder in Salesforce","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/02\/Trigger-Workflow-and-Process-Builder.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/02\/Trigger-Workflow-and-Process-Builder.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/02\/Trigger-Workflow-and-Process-Builder.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2016\/02\/Trigger-Workflow-and-Process-Builder.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":3411,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/apex-interview-question-salesforce-part-16\/","url_meta":{"origin":6794,"position":1},"title":"Apex Interview Question \u2013 Salesforce &#8211; Part 16","author":"Jitendra","date":"July 28, 2013","format":false,"excerpt":"151. Give Sample Code Snippet of Apex that that will show that how Parent and Child record can be inserted in Single Statement ? Ans : It can be done with help of External Id. 152 . Which SOQL statement can be used to get all records even from recycle\u2026","rel":"","context":"In &quot;Apex&quot;","block_context":{"text":"Apex","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/apex\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4546,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/system-mode-or-god-mode-in-apex-gotchas\/","url_meta":{"origin":6794,"position":2},"title":"System mode or God mode in Apex &#8211; Gotchas","author":"Jitendra","date":"June 8, 2015","format":false,"excerpt":"Gotchas of System mode or God mode in Apex and its impact by using \"With sharing\" keyword in Salesforce","rel":"","context":"In &quot;Apex&quot;","block_context":{"text":"Apex","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/apex\/"},"img":{"alt_text":"Salesforce God Mode failing","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/06\/Salesforce-God-Mode-failing.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/06\/Salesforce-God-Mode-failing.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/06\/Salesforce-God-Mode-failing.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":1241,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/step-by-step-salesforce-tutorial-creating-trigger-and-test-cases-6-of-6\/","url_meta":{"origin":6794,"position":3},"title":"Step by Step Salesforce Tutorial \u2013 Creating Trigger and Test cases \u2013 6 of 6","author":"Jitendra","date":"October 11, 2010","format":false,"excerpt":"Step by Step Salesforce Tutorial \u2013 Creating Trigger and test cases \u2013 6 of 6 tutorials series","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Creating Trigger in Salesforce using force.com IDE","src":"https:\/\/i0.wp.com\/jitendrazaa.com\/blog\/wp-content\/uploads\/2010\/10\/Creating-Trigger-in-Salesforce-using-force.com-IDE.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1305,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/salesforce-interview-questions-part-3\/","url_meta":{"origin":6794,"position":4},"title":"Salesforce Interview Questions \u2013 Part 3","author":"Jitendra","date":"October 12, 2010","format":false,"excerpt":"Most Frequently Asked interview questions of Apex, Visual force, SOQL in Salesforce.com SFDC","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":6244,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/a-tale-of-governor-limits-and-solutions-in-salesforce\/","url_meta":{"origin":6794,"position":5},"title":"A Tale of Governor Limits and Solutions in Salesforce","author":"Jitendra","date":"November 21, 2017","format":false,"excerpt":"Thrilling story of Salesforce Technical Architect on a quest to solve application problems and avoid governor limit errors","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"A Tale of Governor Limits and Solutions in Salesforce","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/09\/A-Tale-of-Governor-Limits-and-Solutions-in-Salesforce.jpg?fit=900%2C417&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/09\/A-Tale-of-Governor-Limits-and-Solutions-in-Salesforce.jpg?fit=900%2C417&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/09\/A-Tale-of-Governor-Limits-and-Solutions-in-Salesforce.jpg?fit=900%2C417&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/09\/A-Tale-of-Governor-Limits-and-Solutions-in-Salesforce.jpg?fit=900%2C417&ssl=1&resize=700%2C400 2x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/6794","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/comments?post=6794"}],"version-history":[{"count":1,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/6794\/revisions"}],"predecessor-version":[{"id":6796,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/6794\/revisions\/6796"}],"wp:attachment":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media?parent=6794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/categories?post=6794"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/tags?post=6794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}