8 Cost Changes
Suppliers often change the cost of items.
Cost is an important factor in individual transactions and many financial calculations in Merchandising. Changes in cost must be reflected in the information stored in Merchandising and pending transactions.
Cost Change Purge (ccprg)
Module Name |
ccprg.pc |
Description |
Purge Aged Cost Changes |
Functional Area |
Cost Change |
Module Type |
Admin |
Module Technology |
ProC |
Catalog ID |
RMS476 |
Wrapper Script |
rmswrap.ksh |
Design Overview
This program is responsible for removing old cost changes from the system. Cost changes are removed from the system using the following criteria:
-
The status of the cost change is either Delete or Canceled.
-
The status of the cost change is Rejected and the effective date of the cost change has met the requirement for the number of days that rejected cost changes are held.
-
The status of the cost change is Extracted and the effective date of the cost change has met the requirement for the number of days that extracted cost changes are held.
The number of days that rejected cost changes are held is determined by the system parameter Retention of Rejected Cost Changes (RETENTION_OF_REJECTED_COST_CHG). The number of days that extracted cost changes are held is determined by the system parameter Retention of Extracted Cost Changes (RETN_EXTRACTED_COST_CHG).
Cost Change Purge (cost_change_purge_job)
Module Name |
cost_change_purge_job |
Description |
Purge Aged Cost Changes |
Functional Area |
Cost Change |
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 cost change header table based on its purge criteria from system parameter settings. The Retention of Rejected Cost Changes parameter will determine the number of days that rejected cost changes are held. The Retention of Extracted Cost Changes parameter will determine the number of days extracted cost changes are held. It also should meet the following criteria:
-
The status of the cost change is either Delete or Canceled.
-
The status of the cost change is Rejected and the effective date of the cost change has met the requirement for the number of days that rejected cost changes are held.
-
The status of the cost change is Extracted and effective date of the cost change has met the requirement for the number of days that extracted cost changes are held.
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 the records from cost change header and other related cost change tables. 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 8-1 Key Tables Affected
Table | Select | Insert | Update | Delete |
---|---|---|---|---|
PERIOD |
Yes |
No |
No |
No |
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 |
Ys |
No |
No |
B8D_COST_CHANGE_PURGE_STG |
Yes |
Yes |
No |
Yes |
COST_SUSP_SUP_HEAD |
Yes |
No |
No |
Yes |
COST_SUSP_SUP_DETAIL |
Yes |
No |
No |
Yes |
COST_SUSP_SUP_DETAIL_LOC |
Yes |
No |
No |
Yes |
Process Scheduled Ownership Change Data (ownership_change_process)
Module Name |
ownership_change_process.ksh |
Description |
Processes scheduled ownership change records from the Ownership Change related tables. |
Functional Area |
Foundation Data |
Module Type |
Business Processing |
Module Technology |
Ksh |
Catalog ID |
N/A |
Wrapper Script |
rmswrap_shell.ksh |
Design Overview
This batch program process scheduled and approved ownership change transaction records that are set to go into effect the next day. It updates costing and ownership attributes of item/supplier/country or item/supplier/country/location combinations.
Additionally, primary supplier and country is updated for item/location records. This process will also trigger creation of PO and RTV depending on ownership change type along with relevant tran data postings to account for financial impacts of such transactions. There will not be any transaction data entries if non-inventoried consignment items are involved. Since the user has the flexibility to define child items with the same or different purchase type compared to the parent item, any ownership change that is carried out at the parent item level will impact only those child items having the same ownership as the parent. Ownership changes can be carried out at the individual child item level as well. On successful completion of the batch, overall status of the Ownership transaction will be updated to 'Processed'.
To account for changes in the item and other transactions that can happen between the time the ownership change was approved and it's picked by the batch for processing; following validations are performed at the time of batch execution. The batch program will fail to process for the ownership change transaction if any of the item/supplier/country/location fails the following validations.
-
The item should not be part of any pack; the exception being when its component of sellable only complex pack or an orderable (non-sellable) buyer complex pack
-
The location should not be included in any other approved Ownership Change transaction for the similar Item/Supplier/Country combination
-
Item should be associated with supplier site and country as specified in the items table.
-
Current Primary supplier site of the location should be same as the one specified in Items table (When the change type is Update Primary Supplier)
-
The item/supplier/country/location combination should not exist on any approved and not closed Purchase Order
-
The item/supplier/country/location combination should not exist on any open Return to Vendor
-
Any replenishment attribute should not be active for item/supplier/country/location combination
-
The item/supplier/country/location combination should not exist on any Cost Change scheduled on or after the effective date of the ownership change
-
Item/supplier/country/location should currently have a purchase type that corresponds to the ownership change type. For example: If Change Type is 'Owned to Consignment' then allow those locations with Purchase Type at Item/Supplier/Country/Location as 'Owned'. Similar treatment for other Change Types.
-
The item/supplier/country location should have a purchase type of either consignment or concession (When the change type is Update Primary Supplier).
The item/supplier/country/location should have the same purchase type for the current and new supplier/country; either both are consignment or both are concession. (When the change type is Update Primary Supplier).
-
When Supplier-Controlled Pricing is used (
system_options.allow_supplier_controlled_pricing
isY
), then the item/supplier/country/location/purchase type/pricing control combination should not exist on,-
worksheet, rejected, submitted, or approved price changes/clearances/clearance resets with effective date on or after the effective date of the ownership change,
-
worksheet, rejected, submitted, or approved promotion offers with start date/end date on or after the effective date of the ownership change,
-
active promotion offers where the ownership change date is in between the offer start and end dates.
-
Purge Processed and Aged Ownership Change Data (ownership_change_purge)
Module Name |
ownership_change_purge.ksh |
Description |
Purges old processed ownership change records from the Ownership Change related tables. |
Functional Area |
Foundation Data |
Module Type |
Admin |
Module Technology |
Ksh |
Catalog ID |
N/A |
Wrapper Script |
rmswrap_shell.ksh |
Design Overview
This batch program purges old and processed records from the ownership change related tables based on the Ownership Change Purge Days system parameter.
Note:
This process also supports archiving, if desired. For more information on how to configure this process for archiving, see the Merchandising Implementation Guide section titled "Background Configuration Process".
Supplier Cost Change Extract (sccext)
Module Name |
sccextsqlb.pls/sccextsqls.pls |
Description |
Apply Pending Cost Changes to Items |
Functional Area |
Cost Change |
Module Type |
Business Processing |
Module Technology |
PLSQL |
Catalog ID |
RMS355 |
Wrapper Script |
rmswrap_plsql.ksh |
Design Overview
The sccext module selects supplier cost change records that are set to go into effect the next day and updates the Merchandising item/supplier/country tables with the new cost. The item/location tables are also updated with the new cost if the cost change impacts the primary supplier/country for an item/location, as this is considered a base cost change. The process also triggers a recalculation of cost and deal application for pending purchase orders. Since the user has the flexibility to have child items with the same or different purchase type compared to the parent item, any cost change created at the parent item level will impact only those child items having the same ownership as the parent. Cost changes can be created for individual child items as well.
Note:
For Cost Changes defined at the Item level, the batch will apply the changes in cost only to the Item/Supplier/Country level and to Location exceptions (Item/Supplier/Country/Location records) that have the same cost as the Item/Supplier/Country level. Location exceptions that have a cost different from that on the Item/Supplier/Country record will not be updated by Item level Cost Changes.