You may have a problem removing a unit from the stock even though WS0D shows enough stock.
The reason for this error is usually that there is not enough stock available to allow unit movement. Please reach out to the support team providing the SKU barcode and the work unit number and they will assist you in diagnosing and solving this issue.
Validate Stock Availability
First, find the product code and location in DE7K from the SKU barcode given by the customer and then using the product code and the location confirm the stock and its availability at the location in WS0D. This can be achieved by the following steps:
- Open CIMS and login
- Open DE7K, either typing on the program or expand the menu and click DE7K
- Load the Workunit num by entering the work unit number and run Execute Query (F12) to find the product code and location against the given SKU barcode.
- Open WS0D
- Enter Search Query mode, F11
- Enter the product code and the Location
- Execute the query F12
- Confirm the stock and its availability at the location by using the filter 'GOOD'.
Determine Availability By Including WARN Movements
The following query is used by the DE7K to try to process the stock, the package name is cdi_move, and the function name check_stock_level.
-- Get the sum of warn movements going into or out of this bin.
nvl(sum(b.qty1), 0), nvl(sum(b.qty2), 0), nvl(sum(b.qty3), 0),
nvl(sum(b.qty4), 0), nvl(sum(b.qty5), 0), nvl(sum(b.qty6), 0),
nvl(sum(b.qty7), 0), nvl(sum(b.qty8), 0), nvl(sum(b.qty9), 0),
nvl(sum(b.qty10),0), nvl(sum(b.qty11),0), nvl(sum(b.qty12),0)
from pro.gtrans_defs a, pro.gtrans_items b
where a.gtrans_num = b.gtrans_num
and a.gtrans_state = 'WARN'
and decode('OUT', 'IN', a.gdest_type, a.gsource_type) = 'RETAIL-STOCK'
and decode('OUT', 'IN', a.gdest_num, a.gsource_num) = '90020'
and decode('OUT', 'IN', b.gdest_bin, b.gsource_bin) = 'CLP001'
and b.season = 'S191'
and b.sty_num = 'MP01'
and b.sty_qual = '61845'
and b.bf_mat_char_val = '2BLU-BLUE'
and b.sty_size = '3RG'
and nvl(b.gitem_state, '~') not in ('P','B')
group by a.gtrans_num
having nvl(sum(b.qty4), 0) > 0
Note: You will need to adjust this query according to the specifications of the product in the work unit that the customer wants to move.
The output of the query would be such as the following:
After running the query, you would see that the product is included in some WARN movements so it is a soft allocation. If there is a WARN movement with this specific product, you can propose to the customer to either remove it from one or more of these WARN stock movements or cancel one or more WARN stock movements with this product itself to allow the work unit to be processed.
How to Cancel a Stock Movement
Inform the customer that they can delete these warn movements through the WS0C screen. They can delete per line items or whole documents. As this is a business decision, the customer will decide which action suits them.
eg. this is one of the movements with the item selected is highlighted