REST CostAdjustmentSvc no UpdateExt?


(Caleb Grundmeier) #1

I don’t see any way to update Part Cost via oData methods using the CostAdjustmentSvc. Also can’t update cost via a UBAQ (using the default BPM update type, not the Advanced BPM).

Does anybody else have way to update Part Cost via REST or UBAQ?

I’ve tried the PartCostSearchSvc (which has an UpdateExt) but that doesn’t create the ADJ-CST PartTran records like a Cost Adjustment does. I find it odd that the CostAdjustmentSvc doesn’t have a Update or UpdateExt method.


(Jason Woods) #2

Run a trace from within Epicor to see what method is called. A simpler trace can be found if you run a DMT instead.
I believe it’s CostAdjustment.PerformCostAdjustment
But that’s from memory.


(Mark Damen) #3

I looked in BL Tester.

The method you need to make adjustments within the CostAdjustment service is SetCostAdjustment.


(Caleb Grundmeier) #4

Hmm… I see that now. Now my question is, why doesn’t this BO follow other BO method patterns? This BO doesn’t allow you to use a UBAQ to update cost. You would think they would have an UpdateExt method that would call the SetCostAdjustment internally.

We are working on some integration to sync things between two companies. So far everything has been done using the UpdateExt method…then we got this one.


(Bart Elia) #5

Unfortunately its a horrid naming convention from decades ago. There are a category of BOs that are actually libs. They finally started breaking these out as ‘Lib’ instead of ‘Simple BOs’ - they are identical in function. No one has pushed to rename and break all those Simple BOs due to fear of customers coming at us with pitchforks breaking things.

The ‘Full’ BOs have all those common methods (and support OData). The simple bos and libs do not.


(John Mitchell) #6

Are you looking at rewriting these as a V2 BO’s? We have a Jira Task (TASK6841048) to fix an issue where you can’t make cost adjustments to parts with a large quantity of lots (100k) but it would be nice to have a rewrite of the BO since the current logic does a for each loop through each lot :sob:


(Bart Elia) #7

We are investigating things but don’t expect an overhaul of everything in a near term. I DO want to see some targeted improvements in certain APIs but cannot make commitments for other teams ATM.