Mirror of Oracle documentation

Converted for search and offline reading. Authoritative source: Oracle. Diagrams and some complex tables are simplified — check the PDF when in doubt.

» | rplsplit » rplapprv

This section of programs create purchase orders and transfers based on the calculated ROQs.

  • Split Replenishment Orders Among Suppliers (supsplit) splits recommended order quantities using the ratios defined for an item/location, if using the supplier distribution ratios feature.

  • Build Replenishment Orders (rplbld) uses ROQs and investment buy results to build replenishment orders, including grouping like line items together to consolidate orders, where possible.

  • Scale Purchase Orders Based on Supplier Constraints (supcnstr) scales POs based on supplier constraints. See the Purchase Order chapter for details on this process.

  • Truck Splitting Optimization for Replenishment (rplsplit) splits POs and Allocations to optimize truck loads

  • Approve Replenishment Orders (rplapprv) reviews all orders created as part of the replenishment process and determines which orders can be approved. In order to be approved, an order must have an order control of Automatic and must meet vendor minimums.

Additional batch processes that may apply for this section of batches, depending on your implementation:

  • Update Replenishment Order Taxes (batch_rplapprvgtax.ksh) updates tax information when configured to run Brazil Tax as your default tax type.

  • Sync Replenishment Franchise Orders (repl_wf_order_sync.ksh) creates appropriate franchise orders for approved allocations created during replenishment

Cleanup Replenishment Data

The programs in this section are used to clean up temporary tables used in the above programs, or to remove historical attribute and result information.

  • Purge Aged Replenishment Results (rplprg)

  • Purge Replenishment Attribute History (rplathistprg)

  • Purge Replenishment Results History by Month (rplprg_month)

  • Purge Scheduled Replenishment Induction Staging Tables (repl_indctn_purge.ksh) - see the Merchandising Operations Guide Volume 2 for details on integrating replenishment attributes from an external source.

There is also an option of running a background process for some of the above cleanup jobs, as an alternative to running during the batch schedule. The background job options are:

  • Purge Aged Replenishment Results (replenishment_purge_job)

  • Purge Aged Buyer Worksheet Results (buyer_wksht_purge_job)

  • Purge Aged Investment Buy Results (investment_buy_purge_job)

  • Purge Aged Store Orders Results (store_orders_purge_job)

Approve Replenishment Orders (rplapprv)

Module Name rplapprv.pc Description Approve Replenishment Orders Functional Area Replenishment

Module Type Business Processing Module Technology ProC Catalog ID RMS300 Wrapper Script rmswrap.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This program looks at all replenishment, vendor and contract orders created during the nightly batch run to determine if they can be approved. These orders are compared with any vendor minimums that may exist. Orders that do not meet the vendor minimums are either deleted or placed in worksheet status. A flag, held at the supplier inventory management level, determines what action is taken on orders that fail minimums. Vendor generated orders are not subject to these minimum checks.

Vendor minimums can be held at the order, item, or location level. Order and location level minimums are held on the supplier inventory management table. There is a flag that determines if they are applied at the order level or at the location level. Vendor minimums at the item level are held on the item/supplier/country table.

When an order fails the minimums, and the flag is set to ‘N’, a failure at any level causes the order to be placed in worksheet status. When the flag is ‘Y’, a failure at the location level causes the offending location to be deleted; a failure at the item level causes the problematic item to be deleted; and a failure at the order level caused the entire order to be deleted.

For any orders that fail vendor minimums when the flag is set to ‘Y’, a record is written to the supplier minimum failures table for reporting purposes. This table is purged during the preprocessing of this batch program.

After order records are updated, any applicable deals, brackets and allowances are applied to the orders by subsequent processes. Open to buy is then updated for any orders built in approved status. If any orders are contract orders, the contract amounts are updated as well to reflect any order record deletions.

If any orders are Franchise POs, the associated Franchise Orders are also approved if they pass the credit check. If they fail the credit check, both Franchise POs and orders will remain in Worksheet.

An order may not pass vendor minimum checks assuming that the vendor minimum checks are performed for a physical warehouse. If the vendor minimum is not met for a physical location, all the virtual warehouses on the order within the physical warehouse will need to be removed along with associated allocations.

The pre-processing function for this batch program on prepost truncates the supplier minimum failures table.

Restart/Recovery

The logical unit of work is order number. Records will be committed to the database when commit max counter defined in the restart control table is reached.

Design Assumptions

N/A

Build Replenishment Orders (rplbld)

Module Name rplbld.pc Description Build Replenishment Orders Functional Area Replenishment Module Type Business Processing Module Technology ProC Catalog ID RMS314 Wrapper Script rmswrap_multi.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch program builds Merchandising orders from recommended order quantities (ROQ) generated by the replenishment extract and investment buy calculation processes. The apply type A, C & D contracts to orders created by replenishment batch associates contracts with the ROQs created by the ROQ calculation and distribution for item/locations replenished from supplier program. These ROQs are placed on a temporary table by the replenishment extract and investment buy calculation processes. All records on the temporary tables are processed by this batch each night. These temporary table records are placed into logical groups, and a Merchandising order is created for each logical group.

In order to be placed in the same order group, the item/location ROQs from the temporary tables must share a common supplier, have the same order_status (‘W’orksheet or ‘A’pproved), and be on the same contract (or not be associated with a contract). Depending on flags on the order inventory management table, two other criteria can be used for splitting order groups. First, if the inventory management level is set to ‘D’ept, only items in a single department are allowed in an ordering group. Secondly, the single location indicator can be set to ‘Y’es. If this is the case, only one location is allowed per ordering group. Finally, an item may only exist in an ordering group with a single origin country. When an item/location ROQ temporary table record is encountered with a different origin country than the one it exists with in the current ordering group, it is placed in a different ordering group.

To assist the recalculation and order scaling processes of replenishment ROQs, the replenishment results record, associated with the order temporary table record being processed, is updated with the order number and allocation number that the order temporary table record was placed with. Investment Buy results is also updated with the order number.

If the location to be replenished is a Franchise location and the replenishment Order Control is Semi-Automatic or Automatic, Franchise POs will be created per Costing Location/Location. Associated Franchise Orders will also be created.

Restart/Recovery

The logical unit of work is supplier, contract number, and order status. Records will be committed to the database when commit max counter defined in the restart control table is reached.

Design Assumptions

N/A

Calculate Net Inventory (replroq.ksh)

Module Name replroq.ksh Description Calculate Net Inventory Functional Area Replenishment Module Type Business Processing Module Technology ksh Catalog ID RMS308 Wrapper Script rmswrap_shell.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This module performs the bulk of the logic to process and persist the replenishment data into replenishment net inventory temp table. (The information on this table is extracted by the reqext batch program.)

The wrapper script does the following things:

  • Insert records into the staging table and determines the thread id of each record.

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

  • Moves the records from a staging table to a temporary table and will calculate the net inventory position and determine the ROQ of items which are on replenishment.

The pre-processing function of this batch program in prepost truncates the records from the replenishment net inventory temp tables, and builds replenishment distribution temp and replenishment allocation in temp tables.

Restart/Recovery

The program processes all items on the replenishment day table for the current day. If the program fails, the program can be restarted and it will process the remaining records on replenishment ROQ table.

Design Assumptions

N/A

Calculate ROQ for Profitable Investment Buys (ibcalc)

Module Name ibcalc.pc Description Calculate ROQ for Profitable Investment Buys Functional Area Replenishment Module Type Business Processing Module Technology ProC Catalog ID RMS249 Wrapper Script rmswrap_multi.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The batch program is the calculation engine for investment buy processing. It identifies investment buy (IB) opportunities and calculates recommended order quantities (ROQs) that will meet the target return-on-investment (ROI)

This module will calculate forward buy opportunities using:

  • Carrying costs

  • Ordering parameters

  • Deals – future and expiring

  • Cost changes – future

  • Forecasts

  • Inventory levels

  • Target ROI (return on investment)

The deals and cost change components will be contained on the future cost table. This table will hold a record for each future date that has a costing event (for example, a cost change, deal activation/deactivation). This process utilizes the default costing bracket and default deal thresholds in the calculations.

The pre-processing for this batch in the prepost program sets the status of investment buy from ‘W’ (worksheet) to ‘U’ (unprocessed).

Restart/Recovery

The logical unit of work is item and location combination.

Design Assumptions

N/A

Determines Eligible Investment Buy Opportunities (ibexpl)

Module Name ibexpl.pc Description Determines Eligible Investment Buy Opportunities Functional Area Investment Buy Module Type Business Processing Module Technology ProC Catalog ID RMS250 Wrapper Script rmswrap.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The batch program pre-qualifies investment buy (IB) eligible wh/dept and IB eligible supp/dept/ locs.

The warehouse/department table holds IB parameters at the warehouse or at the warehouse/ department level. If there are IB parameters defined at the warehouse/department level, they are used. If there are no IB parameters defined at the warehouse/department level, the IB parameters at the warehouse level are used. If IB parameters are not defined at either level, then system level IB parameters are used. The first part of this program sends IB parameters to the warehouse/department level no matter what level they are held at in the database. The results are written to the warehouse/department explode table.

Next the warehouse/department explode table is combined with supplier inventory management data to get the final list of all eligible supplier/department/locations. The supplier inventory management data determines whether or not a given sup/dept/loc combo is IB eligible. The main problem is that this table can store information at different levels depending upon the supplier’s inventory management level. Valid options for this level are:

The main problem is that this table can store information at different levels depending upon the supplier’s inventory management level.

Valid options for this level are:

  • Supplier (S)

  • Supplier/department (D)

  • Supplier/location (L)

  • Supplier/department/location (A)

If the record is not found at the defined level, it needs to look up the hierarchy as shown below, up to the highest level (supplier). If no record exists as the supplier level, it is not IB eligible.

  • Supplier

  • Supplier/department Supplier

  • Supplier/location Supplier

  • Supplier/department/location Supplier/department ’ Supplier

The second part of this program explodes the supplier inventory management data down to the supplier/department/location level by filling in the implied rows. The exploded supplier inventory management information is only done for IB eligible warehouse/department combinations from the warehouse/department explode table. The results are placed on the SIM explode table.

Restart/Recovery

N/A

Design Assumptions

N/A

Multithreading Wrapper for reqext (batch_reqext.ksh)

Module Name batch_reqext.ksh Description Multithreading Wrapper for reqext Functional Area Replenishment Module Type Admin Module Technology ksh Catalog ID RMS192 Wrapper Script N/A

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this module is to run the reqext batch program multithreaded.

prepost reqext pre - create the transfer header records for unique combination of Warehouse and Store, stock category, and department.

prepost reqext post – update transfer status to Approved.

Restart/Recovery

N/A - this script only serves as a wrapper for the batch process reqext.pc.

Design Assumptions

N/A

Purge Aged Buyer Worksheet Results (buyer_wksht_purge_job)

Module Name buyer_wksht_purge_job Description Purge Aged Buyer Worksheet Results Functional Area Replenishment Module Type Admin - Ad hoc Module Technology Background Processing Catalog ID N/A Wrapper Script b8dwrap.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This background job is composed of two steps processing. It will have a threading assignment and a business logic processing.

Thread assignment program will filter eligible records from buyer worksheet manual results table based on its purge criteria from system parameter settings. The Replenishment Result Purging Cycle parameter will determine those unneeded records that are older than predetermined number of days from its creation date. These records are chunked and Thread ID is assigned for each. They will be stored temporarily in a staging table.

The Business logic program will process all records from the staging table. Using bulk processing, this program will delete old records from buyer worksheet manual table. It will free up and clean the staging table afterwards. There is a STOP ON NEXT feature in bulk processing (through a loop) where Administrators can stop this batch with a flip of this indicator.

Restart/Recovery

N/A

Key Tables Affected

Table 11-1 Key Tables Affected

TableSelectInsertUpdateDelete
SYSTEM_OPTIONSYesNoNoNo
RMS_BATCH_STATUSYesNoNoNo
B8D_PROCESS_CONFIGYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
B8D_BUYER_WKSHT_PURGE_
STG
YesYesNoYes
BUYER_WKSHT_MANUALNoNoNoYes

Design Assumptions

N/A

Purge Aged Investment Buy Results (investment_buy_purge_job)

Module Name investment_buy_purge_job Description Purge Aged Investment Buy Results Functional Area Replenishment Module Type Admin - Ad hoc Module Technology Background Processing Catalog ID N/A Wrapper Script b8dwrap.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This background job is composed of two steps processing. It will have a threading assignment and a business logic processing.

Thread assignment program will filter eligible records from investment buy results table based on its purge criteria from system parameter settings. The Replenishment Result Purging Cycle parameter will determine those unneeded records that are older than predetermined number of days from its creation date. These records are chunked and Thread ID is assigned for each. They will be stored temporarily in a staging table.

The Business logic program will process all records from the staging table. Using bulk processing, this program will delete old records from investment buy results table. It will free up and clean the staging table afterwards. There is a STOP ON NEXT feature in bulk processing (through a loop) where Administrators can stop this batch with a flip of this indicator.

Restart/Recovery

N/A

Key Tables Affected

Table 11-2 Key Tables Affected

TableSelectInsertUpdateDelete
SYSTEM_OPTIONSYesNoNoNo
RMS_BATCH_STATUSYesNoNoNo
B8D_PROCESS_CONFIGYesNoNoNo

Table 11-2 (Cont.) Key Tables Affected

TableSelectInsertUpdateDelete
JOB_AUDIT_LOGSNoYesNoNo
B8D_INVESTMENT_BUY_PURG
E_STG
YesYesNoYes
IB_RESULTSNoNoNoYes

Design Assumptions

N/A

Purge Aged Replenishment Results (replenishment_purge_job)

Module Name replenishment_purge_job Description Purge Aged Replenishment Results Functional Area Replenishment Module Type Admin - Ad hoc Module Technology Background Processing Catalog ID N/A Wrapper Script b8dwrap.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The replenishment extraction programs write a number of records to Replenishment Results. This table holds information that is relevant to replenishment processes. Over time, records on this table become unneeded and must be cleared out.

This background job is composed of one step processing only. It will retain the business logic processing from the original batch program algorithm.

The Business logic program will invoke a call to a new program specific for handling historical tables such as replenishment results table that are considered partitioned tables. PARTITION_SQL.PURGE_INTERVAL_PARTITION is called passing the target table name “REPL_RESULTS” and will execute the proper deletion/purging of records from target table by exercising table partitioning handling such as Dropping Interval Partition (same as truncate or delete from table).

The purge program considered the system parameter setting, Replenishment Results Purging Cycle to determine those records that are older than a predetermined number of days.

Restart/Recovery

N/A

Key Tables Affected

Table 11-3 Key Tables Affected

TableSelectInsertUpdateDelete
SYSTEM_OPTIONSYesNoNoNo
PERIODYesNoNoNo
RMS_BATCH_STATUSYesNoNoNo
ALL_TAB_PARTITIONSYesNoNo‘No
ALL_PART_TABLESYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo
REPL_RESULTSNoNoNoYes

Design Assumptions

N/A

Purge Aged Replenishment Results (rplprg)

Module Name rplprg.pc Description Purge Aged Replenishment Results Functional Area Replenishment Module Type Admin Module Technology ProC Catalog ID RMS316 Wrapper Script rmswrap.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The replenishment extraction programs write a number of records to replenishment results. Store orders populate the store orders table. The investment buy process writes records to IB results and the Buyer Worksheet Form populates buyer worksheet manual table. These tables hold information that is relevant to replenishment processes. Over time, records on these tables become unneeded and must be cleared out. The replenishment purge program goes through these tables and clears out those records that are older than a predetermined number of days. The purging cycles (number of days) are maintained as a system parameter.

Restart/Recovery

Because this program performs only deletes, there is no need for restart/recovery or multithreading, and there is no driving cursor. However, this program still needs an entry on restart control to determine the number of records to be deleted between commits.

Design Assumptions

N/A

Purge Aged Store Orders Results (store_orders_purge_job)

Module Name store_orders_purge_job Description Purge Aged Store Orders Results Functional Area Replenishment Module Type Admin - Ad hoc Module Technology Background Processing Catalog ID N/A Wrapper Script b8dwrap.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This background job is composed of two steps processing. It will have a threading assignment and a business logic processing.

Thread assignment will filter eligible records from store orders results table based on its purge criteria from system parameter settings. The Replenishment Result Purging Cycle parameter will determine those unneeded records that are older than predetermined number of days from its creation date. These records are chunked and Thread ID is assigned for each. They will be stored temporarily in a staging table.

The Business logic program will process all records from the staging table. Using bulk processing, this program will delete old records from store orders results table. It will free up and clean the staging table afterwards. There is a STOP ON NEXT feature in bulk processing (through a loop) where Administrators can stop this batch with a flip of this indicator.

Restart/Recovery

N/A

Key Tables Affected

Table 11-4 Key Tables Affected

TableSelectInsertUpdateDelete
SYSTEM_OPTIONSYesNoNoNo
RMS_BATCH_STATUSYesNoNoNo
B8D_PROCESS_CONFIGYesNoNoNo
JOB_AUDIT_LOGSNoYesNoNo

Table 11-4 (Cont.) Key Tables Affected

TableSelectInsertUpdateDelete
B8D_STORE_ORDERS_PURGE
_STG
YesYesNoYes
STORE_ORDERSNoNoNoYes

Design Assumptions

N/A

Purge Replenishment Attribute History (rplathistprg)

Module Name rplathistprg.pc Description Purge Replenishment Attribute History Functional Area Replenishment Module Type Admin Module Technology ProC Catalog ID RMS312 Wrapper Script rmswrap.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The batch will purge data from the replenishment attributes update history table if it’s older than the defined number of retention weeks as specified in the system parameters.

Restart/Recovery

N/A

Design Assumptions

N/A

Purge Replenishment Results History by Month (rplprg_month)

Module Name rplprg_month.pc Description Purge Replenishment Results History by Month Functional Area Replenishment Module Type Admin Module Technology ProC

Catalog ID RMS317 Wrapper Script rmswrap.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The replenishment extraction programs write a number of records to replenishment results. Store orders populate the store orders table. The investment buy process writes records to IB results and the Buyer Worksheet Form populates buyer worksheet manual table. These tables hold information that is relevant to replenishment processes. Over time, records on these tables become unneeded and must be cleared out.

The monthly replenishment purge program goes through these tables and clears out those records that are older than a predetermined number of days defined as a system parameter. The eways ewInvAdjustToRMS, ewReceiptToRMS need to be shutdown when this program is run.

Restart/Recovery

Because this program performs only deletes, there is no need for restart/recovery or multithreading, and there is no driving cursor. However, this program still needs an entry on restart control to determine the number of records to be deleted between commits.

Design Assumptions

N/A

Purge Scheduled Replenishment Induction Staging Tables (repl_indctn_purge.ksh)

Module Name repl_indctn_purge.ksh Description Purge scheduled replenishment induction staging tables Functional Area Inventory Management Module Type Admin Module Technology Shell Script Catalog ID N/A Wrapper Script N/A

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this module is to remove old scheduled replenishment records from the staging tables. Records that are candidates for deletion are:

  • Processes that have successfully been processed or processed with warnings that have been uploaded to Merchandising or downloaded to S9T

  • Processes in error status where all other related records containing the process ID have been processed successfully

  • Processes that are past the data retention days (that is, the action date is earlier than the retention date)

Restart/Recovery

Restart ability will be implied, because the records that are selected from the cursor will be deleted before the commit.

Design Assumptions

N/A

Recalculate Maximum Levels for Floating Point Replenishment (repladj)

Module Name repladj.pc Description Recalculate Maximum Levels for Floating Point Replenishment Functional Area Replenishment Module Type Business Processing Module Technology ProC Catalog ID RMS307 Wrapper Script rmswrap_multi.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch module recalculates the maximum stock levels for all item-location combinations with replenishment method of ‘F’ (floating point). The floating model stock method will dynamically calculate an order-up-to-level. The calculated order-up-to-level is used to update the item/location replenishment table.

The maximum model stock (used for calculating order-up-to-level) is derived using the sales history of various periods of time in order to accommodate seasonality as well as trend. The sales history is obtained from the item/location history table.

Restart/Recovery

The module has restart/recovery based on item/ location. Records will be committed to the database when maximum commit counter defined in the restart control table is reached.

Design Assumptions

N/A

ROQ Calculation and Distribution for Item/Locs Replenished from WH (reqext)

Module Name reqext_sqls.pls/reqext_sqlb.pls Description ROQ Calculation and Distribution for Item/Locations Replenished from Warehouse Functional Area Replenishment Module Type Business Processing Module Technology PLSQL Catalog ID RMS310 Runtime Parameters rmswrap_plsql.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This module performs the automatic replenishment of items from warehouses to stores. It runs through every item-store combination set to be reviewed on the current day, and calculates the quantity of the item, known as the recommended order quantity (ROQ) that needs to be transferred to the store (if any). In addition, it distributes this ROQ over any applicable alternate items associated with the item.

Once the transfer quantity of an item has been calculated, transfers are created and records are written to the replenishment results table based on the replenishment order control indicator. For franchise stores, separate transfers are created based on the need date and will be linked back to a Franchise Order through the Franchise Order Number field.

This batch will also insert records into the respective tables for supporting the localization feature. This will be applicable only if localizations are enabled.

The pre-processing function of this batch will create transfer header records for unique combinations of warehouse and store, stock category and department.

The post-processing function of this batch will update the transfer status to Approved.

Restart/Recovery

The logical unit of work is an item/source warehouse. Restart/recovery is achieved implicitly because item/location replenishment records that have been processed are updated with a last

review date and only records that have not been reviewed today will be picked up by the driving cursor again. Records will be committed to the database when the maximum commit counter defined in the restart control table is reached. During the night run the batch processed only those store order records with delivery slot. The review dates are not updated during day run. During night all the records are processed irrespective of the delivery slots.

Design Assumptions

N/A

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

Module Name rplextsqls.pls/rplextsqlb.pls Description ROQ Calculation and Distribution for Item/Locs Replenished from Supplier Functional Area Replenishment Module Type Business Processing Module Technology PLSQL Catalog ID RMS315 Wrapper Script rmswrap_plsql.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 execution goes as:

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

Split Replenishment Orders Among Suppliers (supsplit)

Module Name supsplit.pc Description Split Replenishment Orders Among Suppliers Functional Area Replenishment Module Type Business Processing Module Technology ProC Catalog ID RMS370 Wrapper Script rmswrap_multi.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This program splits replenishment orders among different suppliers based on the supplier distribution ratio setup for an item/location on replenishment. It applies to Direct to Store, Crossdock replenishments and warehouse stocked replenishments where a purchase order will be created from a supplier.

Restart/Recovery

The logical unit of work for this program is set at item level. Records will be committed to the database when commit max counter defined in the restart control table is reached.

Design Assumptions

N/A

Sync Replenishment Franchise Orders (repl_wf_order_sync.ksh)

Module Name repl_wh_order_sync.ksh Description Sync Replenishment Franchise Orders Functional Area Replenishment Module Type Business Processing Module Technology ksh Catalog ID RMS306 Wrapper Script rmswrap_shell.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This module will serve as the wrapper for a package function which will check the crossdock orders created during replenishment and create franchise order records for any allocations where the destination location is a franchise store.

Restart/Recovery

N/A

Design Assumptions

N/A

Truck Splitting Optimization for Replenishment (rplsplit)

Module Name rplsplit.pc Description Truck Splitting Optimization for Replenishment Functional Area Replenishment Module Type Business Processing Module Technology ProC Catalog ID RMS318 Wrapper Script rmswrap_multi.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this program is to select all the orders eligible for truck splitting, which are created by the replenishment programs. The orders that are eligible will be sent into the truck splitting logic and the resulting orders will be created.

The orders, which will be eligible for splitting, are as follows:

  • The order must have been created today by replenishment with the order approve indicator set to Yes.

  • The order must not have been already split.

  • The order must be a single location order and the location must be a warehouse.

  • The order must not have any allocations associated.

Orders will only be split if they meet criteria for splitting as defined in the supplier inventory management parameters.

Restart/Recovery

The logical unit of work for this program is set at order level. Records will be committed to the database when commit max counter defined in the restart control table is reached.

Design Assumptions

N/A

Update Replenishment Calculation Attributes (rplatupd)

Module Name rplatupd.pc Description Update Replenishment Calculation Attributes Functional Area Replenishment Module Type Business Processing Module Technology ProC Catalog ID RMS313 Wrapper Script rmswrap_multi.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The batch module reads replenishment attributes from the replenishment attribute item and location tables and processes the item location relationships to determine what replenishment attributes for what locations have to be updated. Replenishment attributes for each item/ location are recorded in a separate table. Review cycle information is kept on another table, and the rejected records are written to the mass change rejections table for later reporting.

The pre-processing function of this batch program on prepost truncates records in the mass change rejections table.

The post-processing function of this batch program on prepost locks and deletes records form the various replenishment attributes tables.

Restart/Recovery

The logical unit of work is replenishment attribute id, item, and location. Records will be committed to the database when commit max counter defined in the restart control table is reached.

Design Assumptions

N/A

Update Replenishment Calculation Attributes by Item/Loc (rilmaint)

Module Name rilmaint_sqls.pls/rilmaint_sqlb.pls Description Update Replenishment Calculation Attributes by Item/Location Functional Area Replenishment Module Type Business Processing Module Technology PLSQL Catalog ID RMS311 Wrapper Script rmswrap_plsql.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This module transfers the replenishment attributes from the item/location replenishment updates table to the item/location replenishment table. Item/location replenishment updates is populated when certain attributes impacting replenishment are modified. These attributes are located across the entire system and are monitored for changes by a series of triggers and modules. Once a change is logged in the item/location replenishment updates table, this program will note the type of change and will update item/location replenishment table appropriately.

Restart/Recovery

The logical unit of work for this batch program is item, change type and location. Records are committed to the database once the maximum commit counter defined in the restart control table is reached.

Design Assumptions

N/A

Update Replenishment Order Taxes (batch_rplapprvgtax.ksh)

Module Name batch_rplapprvgtax.ksh Description Update Replenishment Order Taxes Functional Area Replenishment Module Type Business Processing Module Technology ksh Catalog ID RMS194 Wrapper Script N/A

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This script calls a function to enable parallel execution via multiple thread calls compute taxes for approved replenishment orders. Computed taxes are inserted/updated into the order tax breakup table.

This batch should be run only for Global Tax (GTAX) configuration.

Restart/Recovery

The logical unit of work is a set of purchase orders. Purchase order numbers in the replenishment approval GTAX queue table are assigned a thread number given the number of slots.

The same table drives the restart and recovery as well. Purchase orders in a thread that successfully complete execution are deleted from replenishment approval GTAX queue. Any restart after a fatal error will include the failed purchase order numbers when assigning new threads.

Design Assumptions

This program should only be run in Global Tax (GTAX) installations.

Update Replenishment Size Profile (replsizeprofile)

Module Name replsizeprofile.pc Description Update Replenishment Size Profile Functional Area Replenishment Module Type Business Processing

Module Technology ProC Catalog ID RMS309 Wrapper Script batch_replsizeprofile.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The batch module will do a total synchronization update of the Merchandising size profile table with data from the Allocation size profile table if the Allocation product is installed. It will also do a complete refresh of the size profile materialized view used by the replenishment attributes update batch and the replenishment attributes screen when size curves are applied to the items being replenished.

Restart/Recovery

N/A

Design Assumptions

N/A


In this guide

  • 15 Sales HistoryBatch Operations Guide · shares ALL_PART_TABLES, ALL_TAB_PARTITIONS, PARTITION_SQL, PURGE_INTERVAL_PARTITION
  • 17 Stock LedgerBatch Operations Guide · shares ALL_PART_TABLES, ALL_TAB_PARTITIONS, PARTITION_SQL, PURGE_INTERVAL_PARTITION