Poor Restart/Recovery Functionality for Batch Programs OCIROQ.PC and REQEXT.PC in RMS (Doc ID 1162190.1)

Last updated on OCTOBER 26, 2016

Applies to:

Oracle Retail Merchandising System - Version 13.2.4 to 13.2.8 [Release 13.2]
Information in this document applies to any platform.
Checked for relevance 28-Feb-2012
Checked for relevance 29-Sep-2013

Symptoms

The restart/recovery of the replenishment batch jobs OCIROQ.PC and REQEXT.PC is difficult to use and different from other RMS batch jobs.
For example, OCIROQ.PC aborts after having processed few rows.

Expected Behavior
--------------------
The standard RMS recovery procedure would be as follows:
1. Fix the underlying problem (in this case, a table had run out of space).
2. Restart the program.

Actual Behavior
----------------
What is seen instead is:
1. Fix the underlying problem.
2. Identify which store order replenishment rows had been processed, since they had been updated by GET_REPL_ORDER_QTY_SQL.GET_STORE_ORDERS.
3. Update STORE_ORDERS.PROCESSED_DATE to re-stage this data.
4. Rerun PREPOST.PC for OCIROQ PRE to truncate RPL_NET_INVENTORY_TMP.
5. Rerun OCIROQ.PC.

If this re-staging is not performed, simply rerunning OCIROQ.PC would result in duplicate rows being inserted into RPL_NET_INVENTORY_TMP and would cause incorrect quantities to be transferred.


The program BATCH_REQEXT.KSH  will also be impacted by needed changes.


Steps to Reproduce
--------------------
1. Set up store replenishment data that will be picked up by OCIROQ.PC, including a variety of replenishment methods: e.g, four different types of (REPL_METHOD, STOCK_CAT) rows: (C,W) - constant; (M,W) - min/max; (T,W) - time supply; and (SO,W) - store orders.
2. Start OCIROQ.PC.
3. After some rows appear in RPL_NET_INVENTORY_TMP, abort OCIROQ.PC.
4. Note the complicated recovery steps required to restart OCIROQ.PC (if one simply restarts OCIROQ.PC, note that duplicate data appears in RPL_NET_INVENTORY_TMP).
5. Re-stage the data from step 1.
6. Run a proposed new, fixed version of OCIROQ.PC and abort it after some rows appear in RPL_NET_INVENTORY_TMP table.
6. Restart OCIROQ.PC and note that there are no duplicate rows in RPL_NET_INVENTORY_TMP table.

Cause

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