7 Contracts
Contract batch modules create purchase orders from contracts and purge obsolete contracts. There are four types of supplier contracts in Merchandising: A, B, C, and D.
-
Type A (Plan/Availability): The contract contains a plan of manufacturing quantity by ready date. Supplier availability is matched to the ready date. Orders are raised against the plan as suggested by replenishment requirements, provided there is sufficient supplier availability. You can also raise manual orders.
-
Type B (Plan/No Availability): The contract contains a plan of manufacturing quantity by ready date and dispatch-to location or locations. There are one or more ready dates, which is the date that the items are due at the dispatch-to location. Supplier availability is not required. Orders are raised automatically from the contract based on ready dates.
-
Type C (No Plan/No Availability): The contract is an open contract with no production schedule and no supplier availability declared. The contract lists the items that are used to satisfy a total commitment cost. Orders are raised against the contract based on replenishment requirements. The retailer can also raise manual orders.
-
Type D (No Plan/Availability): The contract is an open contract with no production schedule. The supplier declares availability as stock is ready. The contract lists the items that are used to satisfy a total commitment cost. Orders are raised against the contract, based on replenishment requirements and supplier availability. The retailer can raise manual orders.
Program Summary
The following batch designs are included in this functional area:
-
Apply Type A, C and D Contracts to Orders Created by Replenishment (cntrprss)
-
Contract Maintenance and Purging (contract_purge_job) - background process
-
Create Replenishment Orders for Item/Locations on Type B Contracts (cntrordb)
See also the Merchandising Operations Guide Volume 2 for the following batch-based integrations related to contracts:
-
Upload Item Availability for Type A & D Contracts from Suppliers (ediupavl)
-
Download Contracts to Suppliers (edidlcon)
Apply Type A, C and D Contracts to Orders Created by Replenishment (cntrprss)
Module Name |
cntrprss.pc |
Description |
Apply Type A, C & D Contracts to Orders Created by Replenishment |
Functional Area |
Contracts |
Module Type |
Business Processing |
Module Technology |
ProC |
Catalog ID |
RMS202 |
Wrapper Script |
rmswrap_multi.ksh |
Design Overview
This module evaluates contracts of type A, C, and D to determine whether an order should be created from the contract. Contracts are ranked so that orders are created off the best contracts first, based on lead-time, cost, contract status (such as, closed preferred over open), and contract type (such as,. type C are preferred over D). This updates the temporary orders created by the item replenishment extract (rplext) module with the contract and supplier information of the best available contract for each item and populates the repl_results table.
Contract Maintenance and Purging (cntrmain)
Module Name |
cntrmain.pc |
Description |
Contract Maintenance and Purging |
Functional Area |
Contracts |
Module Type |
Admin |
Module Technology |
ProC |
Catalog ID |
RMS231 |
Wrapper Script |
rmswrap.ksh |
Design Overview
This program is used to mark contracts that have reached their end date to completed (for types A and B) or review status (for types C and D). This module also purges contracts that have remained in cancelled, worksheet, submitted, or complete status for a user-defined number of months without any orders and contacts marked for deletion. The number of months is determined by the system parameter for order history months.
Restart/Recovery
This batch program has two processing functions, one for purging and another for updating contracts. The purge function (delete_contracts) deletes and commits records via arrays whose size is defined in commit max counter while the update function (reset_inactive) updates records in bulk based on the update criteria. The program as a whole is inherently restartable.
Contract Maintenance and Purging (contract_purge_job)
Module Name |
contract_purge_job |
Description |
Contract Maintenance and Purging |
Functional Area |
Contracts |
Module Type |
Admin - Ad hoc |
Module Technology |
Background Processing |
Catalog ID |
N/A |
Wrapper Script |
b8dwrap.ksh |
Design Overview
This background job is composed of two-step processing. It will have a threading assignment and a business logic processing.
Thread assignment program will filter eligible records from contract header table based on its purge criteria from system parameter settings. The Order History Months parameter will determine number of months a contract elapsed in the system comparing current date and contract's status date. Contracts are also considered for deletion when they remained in cancelled, worksheet, submitted, or complete status for a user-defined number of months without any orders and contacts marked for deletion. 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 mark contracts that have reached their end date to completed (for types A and B) or review status (for types C and D). 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.
Key Tables Affected
Table 7-1 Key Tables Affected
Table | Select | Insert | Update | Delete |
---|---|---|---|---|
PURGE_CONFIG_OPTIONS |
Yes |
No |
No |
No |
RMS_BATCH_STATUS |
Yes |
No |
No |
No |
B8D_PROCESS_CONFIG |
Yes |
No |
No |
No |
JOB_AUDIT_LOGS |
No |
Yes |
No |
No |
B8D_CONTRACT_MAIN_PURGE_STG |
Yes |
Yes |
No |
Yes |
CONTRACT_HEADER |
Yes |
No |
Yes |
Yes |
CONTRACT_DETAIL |
No |
No |
No |
Yes |
CONTRACT_COST |
No |
No |
No |
Yes |
ORDHEAD |
Yes |
No |
No |
No |
Create Replenishment Orders for Item/Locations on Type B Contracts (cntrordb)
Module Name |
cntrordb.pc |
Description |
Create Replenishment Orders for Item/Locations on Type B Contracts |
Functional Area |
Contracts |
Module Type |
Business Processing |
Module Technology |
ProC |
Catalog ID |
RMS232 |
Wrapper Script |
rmswrap_multi.ksh |
Design Overview
This module automatically creates replenishment orders for items on an approved, orderable type ‘B' contract based on production dates.
Type B (Plan/No Availability) contracts contain a plan of manufacturing quantity by ready date and dispatch-to location or locations. There are one or more ready dates, which is the date that the items are due at the dispatch-to location. Supplier availability is not required. This program automatically writes POs from the contract based on ready dates.
Prepost cntrordb post – updates the system level variable last_cont_order_date to the current vdate