Posupld (Point of Sale Upload) Batch Is Not Writing All Reject Records to the Lock File

(Doc ID 760766.1)

Last updated on AUGUST 17, 2016

Applies to:

Oracle Retail Merchandising System - Version 13.0.1 to 13.0.3 [Release 13.0]
Information in this document applies to any platform.


When running the POSUPLD batch in a trickle-polling environment there is the probability that when updating or inserting data to tables, such as ITEM_LOC_SOH and/or ITEM_LOC_HIST, locks might occur.  The POSUPLD process handles this situation by writing these records to a Lock File for reprocessing.  However, there are situations in which this lock file is not being generated, so no records are written to this file.  This can occur if the records are rejected because of a lock on the table.

Steps to Reproduce:

1. Issue a 'for update nowait' statement on ITEM_LOC_SOH for a particular item and location present in ITEM_LOC_SOH table. Do not commit or rollback.
2. Run POSUPLD program with input POSU file having that locked item and location.
3. Observe the following:
    a. POSUPLD batch executes without aborting.
    b. Error file for batch execution shows that a lock occurred:

posupld_1~20081114135843~post_item_loc~item_loc_soh~-54~ORA-00054: resource busy and acquire with NOWAIT specified~APPLICATION ERROR: Record #0000000004: locked for item=100001027,store=0000009999' (err.posupld_1.Nov_14)

    c. The record for the item/location that was locked is not written in the lock file.

Business Impact:

Stock figures are not correctly updated in the ITEM_LOC_SOH table, causing differences between TRAN_DATA information and ITEM_LOC_SOH information.


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