ROQ Calculation and Distribution for Item/Locs Replenished from Supplier (rplext.ksh)

Module Name

rplext.ksh

Description

ROQ Calculation and Distribution for Item/Locs Replenished from Supplier

Functional Area

Replenishment

Module Type

Business Processing

Module Technology

KSH

Catalog ID

RMS315

Wrapper Script

rmswrap_shell.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

Vendor Replenishment Extraction, which uses bulk processing logic, is the driving program for the replenishment process. It cycles through every item-location combination that is ready to be reviewed on the current day, and calculates the quantity of the item that needs to be ordered to the location. The program then writes these temporary order line items to the temporary order table and replenishment results. The temporary order table is later reviewed by the batch in its evaluation of orders against contract types A, C, D, whereas replenishment results is processed by build replenishment orders.

The wrapper script does the following things:

  • Calls the function will insert records into the replenishment ROQ table and determines the thread id of each record.

  • Retrieves the max concurrent thread from configuration table to determine the maximum number of concurrent processes the wrapper should run at a time.

  • For each thread, call the function that will move the records from the replenishment ROQ table to the replenishment ROQ global temporary table and the processed records will be inserted to the temporary order and replenishment results tables.

The pre-processing function for this program in the prepost batch truncates records form the temporary order table and the missed order table.

The post-processing function for this program truncates the replenishment distro temp and replenishment allocation in temp table.

Restart/Recovery

If the program fails, the program can be restarted and it will process the remaining records on replenishment table.

Locking Strategy

STORE_ORDER table records are locked while calculating ROQ.

Performance Considerations

The values on RMS_PLSQL_BATCH_CONFIG can be change to alter the behavior of the chunking and threading process.

MAX_CHUNK_SIZE - determines the maximum number of rows that should be processed for a given thread. Currently, this is set to 10000.

MAX_CONCURRENT_THREAD - determines the maximum number of parallel threads for a given run. Currently, this is set to 32.

Design Assumptions

N/A