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 |
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.
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.