Call a BO method from BPM to change the part revision in a quote

I have a post-processing BPM for the Quote.Update method. That has a start block, set field block and Invoke BO method block. When the Quote Header/Line is created the BPM is triggered. However, the BO method call always returns a warning that the “QUOTE DETAIL HAS NOT CHANGE” did not change, even though I am changing the key fields in ds.QuoteDtl[RevisionNumber] and ds.QuotDtl[BaseRevisionNum]. See uploaded snapshots. I am missing anything?

Error Detail

Description: Quote Detail has not changed.
Program: Erp.Services.BO.Quote.dll
Method: ChangePartRev
Line Number: 5930
Column Number: 17
Table: QuoteDtl
Server Trace Stack: at Erp.Services.BO.QuoteSvc.ChangePartRev(QuoteTableset& ds) in c:_Releases\ERP\UD10.1.400.38\Source\Server\Services

You are changing in a POST process, that means, its already been updated. You most likely need to set the row mod of what you are changing

Why not just place it in PRE process?

I am trying to correct a known bug with Part Revision. The Part Revision is set correctly in the preprocess but later changed
in the post process to an incorrect value. So, in addition to the Par Revision, I need to change the RowMod value?

Note, no Database table data was queried or modified from this BPM. This is the most efficient BPM I’ve designed so far. I utilized knowledge learned from multiple levels of testing and tracing to correct the Part Revision stored in the Data-Set (DS) structure used by the Business Object (BO) methods during the preprocessing and post-processing. In other words, the Part Revision is corrected in the Data-Set currently stored in the process memory before the DS is handed over to the Quote Line update BO but within the post-processing stage.