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
p_bhatp_bhat 

Partial success of a bulk DML operation not working with OpportunityLineItems List<Database.SaveResult> resultSet = Database.update(OppyLineItemList,false);

When i try to execute below code snippet, Ideally only my 1st element in the list should get failed as I am trying to set quantity field to 0 and rest of records should get saved to Database successfully. But all the records are getting failed.

List<OpportunityLineItem> lstOLI  = [SELECT Id,Quantity FROM OpportunityLineItem LIMIT 10];
lstOLI[0].Quantity = 0;
List<Database.SaveResult> resultSet = Database.update(lstOLI,false);
system.debug('---resultSet-- '+resultSet);

Output -
USER_DEBUG [4]|DEBUG|---resultSet-- (Database.SaveResult[getErrors=(Database.Error[getFields=(Quantity);getMessage=field integrity exception: Quantity (quantity must be nonzero);getStatusCode=FIELD_INTEGRITY_EXCEPTION;]);getId=null;isSuccess=false;]
, Database.SaveResult[getErrors=(Database.Error[getFields=(unknown);getMessage=field integrity exception: unknown (total price must be specified);getStatusCode=FIELD_INTEGRITY_EXCEPTION;]);getId=null;isSuccess=false;] 
, Database.SaveResult[getErrors=(Database.Error[getFields=(unknown);getMessage=field integrity exception: unknown (total price must be specified);getStatusCode=FIELD_INTEGRITY_EXCEPTION;]);getId=null;isSuccess=false;]
, Database.SaveResult[getErrors=(Database.Error[getFields=(unknown);getMessage=field integrity exception: unknown (total price must be specified);getStatusCode=FIELD_INTEGRITY_EXCEPTION;]);getId=null;isSuccess=false;]
, Database.SaveResult[getErrors=(Database.Error[getFields=(unknown);getMessage=field integrity exception: unknown (total price must be specified);getStatusCode=FIELD_INTEGRITY_EXCEPTION;]);getId=null;isSuccess=false;]
, Database.SaveResult[getErrors=(Database.Error[getFields=(unknown);getMessage=field integrity exception: unknown (total price must be specified);getStatusCode=FIELD_INTEGRITY_EXCEPTION;]);getId=null;isSuccess=false;]
, Database.SaveResult[getErrors=(Database.Error[getFields=(unknown);getMessage=field integrity exception: unknown (total price must be specified);getStatusCode=FIELD_INTEGRITY_EXCEPTION;]);getId=null;isSuccess=false;]
, Database.SaveResult[getErrors=(Database.Error[getFields=(unknown);getMessage=field integrity exception: unknown (total price must be specified);getStatusCode=FIELD_INTEGRITY_EXCEPTION;]);getId=null;isSuccess=false;]
, Database.SaveResult[getErrors=(Database.Error[getFields=(unknown);getMessage=field integrity exception: unknown (total price must be specified);getStatusCode=FIELD_INTEGRITY_EXCEPTION;]);getId=null;isSuccess=false;]
, Database.SaveResult[getErrors=(Database.Error[getFields=(unknown);getMessage=field integrity exception: unknown (total price must be specified);getStatusCode=FIELD_INTEGRITY_EXCEPTION;]);getId=null;isSuccess=false;])
BhushanAdhikariBhushanAdhikari
Hi,

If you checkthe errors, for first record you have got error saying Quantity must be non zero. And for other the errors isrelated to the total Price. make sure you are providing the Total price or the unit price.

Thanks!
p_bhatp_bhat
Hi BhushanAdhikari,

Thanks for taking time and answering my query.

All the other records in my list has UnitPrice set. My question was more like when I have list of 10 OpportunityLineItem records, out of which all 9 record have valid data and 1 record with incorrect data. With Database.Update(listofSobject, false); all my 9 records should get updated sucessfully except 1, whereas here all my records are getting failed. Which is not expected behavior using Database.Update 
sowmya chilukurisowmya chilukuri
Hi,

I have the same issue, is this resolved? I have 2 records out of 1 is bad data which means validtiion fails but second record is good and data does not meet the validation rule criteria but I see the error and both the records are not being updated.