Incorrect Update of Stock on Hand, when a Sale with four Decimal Points is Posted from POS

(Doc ID 2234083.1)

Last updated on FEBRUARY 22, 2017

Applies to:

Oracle Retail Store Inventory Management - Version 14.0.2 and later
Information in this document applies to any platform.


In Store Inventory Management (SIM) application, find that, when processing a Sale transaction from Point-of-Service (POS), containing quantity in four decimal numbers, SIM stock on hand is incorrectly updated. However, the quantity is correctly updated in Retail Merchandising System (RMS).

Steps to recreate:

1. Find an item whose Unit of Measure (UOM) is set to KG/LB/FT/Liter/Gallon etc. (any UOM where quantities in decimals are expected)
2. Note that the following columns are defined as NUMBER(12,4) in the specified tables


3. Ensure that a positive SOH exists for the above item in STORE_ITEM_STOCK table (ex: 20)
4. From POS, ring up a sale for the above item with a precision of four decimal quantity (ex: 1.4325).
5. Find that the POSTransaction is successfully processed in SIM
6. Query POS_TRANSACTION table and note the quantity (ex: 1.4325)
7. Query RMS database table TRAN_DATA and find that the quantity is correctly recorded (ex: 1.4325)
8. Now query SIM database table STORE_ITEM_STOCK and note that the quantity is rounded to 3 decimal points.
9. Example: Original SOH: 20. Sale: 1.4325 - Quantity in Step 8 should be updated as 18.5675. But note that the quantity is updated as 18.567 (i.e. the last decimal is dropped)
10. Now query RMS database table ITEM_LOC_SOH and note that the quantity is correctly updated (18,5675)



Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms