Order Release 'Get Buy Rate' Uses Incorrect UOM And Accordingly Applies Unexpected Cost
(Doc ID 3040460.1)
Last updated on AUGUST 09, 2024
Applies to:
Oracle Transportation Management - Version 6.5.3 and laterInformation in this document applies to any platform.
Symptoms
Order Release 'Get Buy Rate' uses incorrect UOM and accordingly applies unexpected cost.
Example:
-------------
Order Release: XXX
Ship Unit (XXX-001) Length: Was entered from the UI as 45 IN. Not it displays as 3.75 FT according to the User Preference.
In the DB table SHIP_UNIT
UNIT_LENGTH = 45
UNIT_LENGTH_UOM_CODE = IN
UNIT_LENGTH_BASE = 3.75
Rate Offering/Record: XXX
Base Cost = 100 USD
Accessorial Cost = 500 USD
Condition basis
Equipment Ship Unit, Unit Length >= 12 FT
Amount = 500 USD Shipment
Open the Order Release, go to Constraints tab and click on 'Get Buy Rate'
Result
Cost Type Accessorial Cost
B 100.00 USD
A 500.00 USD
Total Cost 600.00 USD
It seems the Get Buy Rate is looking at unit length (45) rather than unit length base (3.75)
From the logfile:
29:17.5 247728 Debug RateEngineDetails RECharge.evaluate(): Testing: (SHIPMENT.EQUIPMENT.SHIPUNITS.LENGTH >= 12 FT) [[ACTIVE] ExecuteThread: '60' for queue: 'weblogic.kernel.Default (self-tuning)']
29:17.5 247728 Debug RateEngineDebug Tuple.setMargin(): Margin is null [[ACTIVE] ExecuteThread: '60' for queue: 'weblogic.kernel.Default (self-tuning)']
29:17.5 247728 Debug RateEngineDebug Operand.setSatisfier(): MethodOperand (gid (SHIPMENT.EQUIPMENT.SHIPUNITS.LENGTH), tuplePosition (2), methodNumber (1)) [[ACTIVE] ExecuteThread: '60' for queue: 'weblogic.kernel.Default (self-tuning)']
29:17.5 247728 Debug RateEngineDetails RECharge.evaluate(): condition was evaluated and returned true [[ACTIVE] ExecuteThread: '60' for queue: 'weblogic.kernel.Default (self-tuning)']
29:17.5 247728 Debug RateEngineDetails RECharge.evaluate(): condition is true [[ACTIVE] ExecuteThread: '60' for queue: 'weblogic.kernel.Default (self-tuning)']
Note: If we do bulkplan the Order, the rating is correct and the cost is 100 USD
From the Logs:
06:43.5 1471895 Debug RateEngineDetails RECharge.evaluate(): Testing: (SHIPMENT.EQUIPMENT.SHIPUNITS.LENGTH >= 12 FT) [batch - 1]
06:43.5 1471895 Debug RateEngineDebug Tuple.setMargin(): Margin is null [batch - 1]
06:43.5 1471895 Debug RateEngineDebug Operand.setSatisfier(): null [batch - 1]
06:43.5 1471895 Debug RateEngineDetails RECharge.evaluate(): condition was evaluated and returned false [batch - 1]
-------------
Order Release: XXX
Ship Unit (XXX-001) Length: Was entered from the UI as 45 IN. Not it displays as 3.75 FT according to the User Preference.
In the DB table SHIP_UNIT
UNIT_LENGTH = 45
UNIT_LENGTH_UOM_CODE = IN
UNIT_LENGTH_BASE = 3.75
Rate Offering/Record: XXX
Base Cost = 100 USD
Accessorial Cost = 500 USD
Condition basis
Equipment Ship Unit, Unit Length >= 12 FT
Amount = 500 USD Shipment
Open the Order Release, go to Constraints tab and click on 'Get Buy Rate'
Result
Cost Type Accessorial Cost
B 100.00 USD
A 500.00 USD
Total Cost 600.00 USD
It seems the Get Buy Rate is looking at unit length (45) rather than unit length base (3.75)
From the logfile:
29:17.5 247728 Debug RateEngineDetails RECharge.evaluate(): Testing: (SHIPMENT.EQUIPMENT.SHIPUNITS.LENGTH >= 12 FT) [[ACTIVE] ExecuteThread: '60' for queue: 'weblogic.kernel.Default (self-tuning)']
29:17.5 247728 Debug RateEngineDebug Tuple.setMargin(): Margin is null [[ACTIVE] ExecuteThread: '60' for queue: 'weblogic.kernel.Default (self-tuning)']
29:17.5 247728 Debug RateEngineDebug Operand.setSatisfier(): MethodOperand (gid (SHIPMENT.EQUIPMENT.SHIPUNITS.LENGTH), tuplePosition (2), methodNumber (1)) [[ACTIVE] ExecuteThread: '60' for queue: 'weblogic.kernel.Default (self-tuning)']
29:17.5 247728 Debug RateEngineDetails RECharge.evaluate(): condition was evaluated and returned true [[ACTIVE] ExecuteThread: '60' for queue: 'weblogic.kernel.Default (self-tuning)']
29:17.5 247728 Debug RateEngineDetails RECharge.evaluate(): condition is true [[ACTIVE] ExecuteThread: '60' for queue: 'weblogic.kernel.Default (self-tuning)']
Note: If we do bulkplan the Order, the rating is correct and the cost is 100 USD
From the Logs:
06:43.5 1471895 Debug RateEngineDetails RECharge.evaluate(): Testing: (SHIPMENT.EQUIPMENT.SHIPUNITS.LENGTH >= 12 FT) [batch - 1]
06:43.5 1471895 Debug RateEngineDebug Tuple.setMargin(): Margin is null [batch - 1]
06:43.5 1471895 Debug RateEngineDebug Operand.setSatisfier(): null [batch - 1]
06:43.5 1471895 Debug RateEngineDetails RECharge.evaluate(): condition was evaluated and returned false [batch - 1]
Changes
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Changes |
Cause |
Solution |
References |