Override Unit Price – need F4074 Advanced Pricing Records created

KevinCourtney

Active Member
Hello,

In Sales Order Processing, if the Unit Price is zero, the Master Business Function (Edit Line) looks up the Unit Price then creates F4074 Price Adjustment Ledger File (also known as the Advanced Pricing History File) records. If the Unit Price is not equal to zero (meaning the user overrode the price), no F4074 records are created.

I have a request that if the user overrides the Unit Price create the F4074 Advanced Pricing records based on the Unit Price the user entered.

I’ve been digging through the bowels of the Master Business Functions and haven’t come across an easy way to achieve this.

Have any of you attempted to do this and/or do you have any suggests on how I might try to do it?

Even if I had business function that I could call, passing it the order detail line info and unit price and it would create the F4074 records that would work. Is there one out there that might do this that you know of?

Thanks in advance,

Kevin Courtney
Trident Seafoods
 
I think I can offer some help.

The Master business function checks to see if the field Prce Override Indicator (PROV ?) has been initialized. This flag gets initialized when a user manual keys in a unit price (therefore making it non-zero). If init then yes it will skip the advanced pricing routines and no F4074 records will be written.

Instead of overriding the price on the sales detail line, you can use the row exit Price history. Within that form you can add a manual override adjustment. When you save it and return to the detail sales grid the price will be set based on your manual adjustment and your F4074 records will exist.

Will that work?
 
Hello Aaron,

Thanks for ideas. I’ve implemented a solution and it’s being tested now. If it doesn’t work, I’ll see if working with the Price Override Indicator will help.

Incidentally, my solution is just before the Edit Line is called I write the Unit Price to a worktable and set its value to zero in the program. Then, deep in the MBF, in the C++ source B4200070 GetSalesBasePrice, just after IB4200070_GetBasePriceRecord is called, I go out to the worktable and if there is a unit price there, override the one that the IB4200070_GetBasePriceRecord brought back with the one from the worktable.

From there the MBF creates the advanced pricing records based on the unit price that my user entered.

If anyone needs more details, please email me.

Thanks,

Kevin Courtney
Trident Seafoods Inc.
 
Back
Top