17 Cost Changes Management
The Cost Changes Management module is an application available in Supply Chain Hub. This chapter describes the implementation considerations and the operation details for this application.
Implementation Overview
Cost Changes Management gives the possibility to create and maintain Cost Changes and before their effective date publish them to MFCS.
Status Workflow
Figure 17-1 Cost Changes Management Status Workflow

Cost Changes Management follows a workflow path, and the status can change depending on:
- The user permissions
- The status of the Cost Change
Cost Change Status:
- New – New status is the initial status of a Cost Change and the prior status to being approved, if a user has approval permissions and they submit a Cost Change in New Status the Cost Change is automatically approved.
- Approved – Approved status is Cost Changes that have been recorded on SPCC and are waiting to be exported into MFCS at a later date, while a Cost Change is in Approved Status it can be updated or rejected. If a user with approval permissions updates an Approved Cost Change the status remains as Approved.
- Rejected – The Rejected Status is for Cost Changes that were either submitted or approved previously and a user rejected them. Rejected Cost Changes can be updated and submitted again and changed into New Status.
- Changes Proposed – Cost Changes with Changes Proposed status were previously approved and were updated by a user without Approve permissions, in this status a user with Approve permissions can make further updates, and approve, or reject the changes made. If the user rejects the changes the Cost Change goes back to Approved Status with the previously approved data.
- Extracted – Extracted Status is displayed when a previously approved Cost Change was sent to MFCS and can no longer be updated.
- Error – Error Status is used when an issue is encountered while extracting the Cost Change into MFCS and when in this status technical support will be required to understand what caused the error.
Integration High Level
Figure 17-2 Cost Changes Management Integration Overview

The integration of Cost Changes from Cost Changes Management to MFCS described above is done in the following order:
- Cost Changes are created and managed in Cost Changes Management, either through the UI or via upload functionality.
- After being approved, and when the publish date is reached, Cost Changes are published by a batch process.
- Cost Change Induction Java Services adds Cost Change to an MFCS induction file, which is transferred to MFCS SFTP/FTS.
- Finally, MFCS induction batch for Cost Changes is executed and integrates Cost Changes to MFCS.
Configuration
This section describes configurations.
POM Configuration
Batch scheduler details with all batches, dependencies and frequencies can be downloaded following the steps in the Supply Chain Hub Frameworks section.
Other Cloud Services Configuration
This section describes implementation details that must be reviewed from Oracle Retail Merchandising System perspective.
Cost Change ids used in Cost Changes Management module should not overlap with Cost Change ids created through other modes in MFCS such as Induction, Rest Services or MFCS UI.
System Options
The following MFCS System Option is used by the publish cost change batch to determine when to publish Cost Changes from Cost Changes Management to MFCS.
TABLE | PARAMETER | DESCRIPTION |
---|---|---|
FOUNDATION_UNIT_OPTIONS | COST_PRIOR_CREATE_DAYS | Indicates the minimum number of days prior to the cost change effective date that a cost change can be entered. |
Other Implementation Considerations
This section describes Cost Changes Management implementation considerations.
Notifications and Alerts
Cost Changes Management uses the Events Framework to inform users about some actions with notifications and alerts. Below is the list of notifications available. The notifications are implemented via the Rule Engine Framework documented in the Supply Chain Hub Frameworks section.
Notifications
SPCC_EVENT_PEND_APPR_COSTCHG
Submitted Cost Change is pending approval.
Property | Value |
---|---|
Event Name | SPCC_EVENT_PEND_APPR_COSTCHG |
Event Type | ORCV_SPCC_EVENT_PEND_APPR_COSTCHG |
Description |
Notification triggered when:
|
Trigger | UI/S9T |
Target Users |
User has access to Application
|
Alerts
SPAP_EVENT_APPTS_PENDING_ACTION
List of future Appointments pending approval.
Property | Value |
---|---|
Event Name | SPCC_EVENT_COSTCHGS_PENDING |
Event Type | ORCV_SPCC_EVENT_COSTCHGS_PENDING |
Alert Type | |
Description | Email with the list of cost changes pending approval. |
Trigger | Batch ORCV_SPCC_COSTCHG_EVT_PND_JOB |
Target Users |
|
Specific Batch Configuration
This section describes specific batch configurations.
Cost Changes Events Pending Batch
Batch job to check if there are Cost Changes pending user actions and creates Alerts.
- Job: ORCV_RLEG_SPCC_COSTCHG_EVT_PND
- Frequency: Ad-hoc
- Dependency: None
- Inter Scheduler Dependency: None
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_RLEG_SPCC_COSTCHG_EVT_PND |
MAX_CHUNK_SIZE | 1000 |
MAX_CONCURRENT_THREADS | 4 |
RETRY_LOCK_ATTEMPTS | 3 |
RETRY_WAIT_TIME | 3 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
Publish Cost Change Batch
Publish Cost Change batch publishes Cost Changes from Cost Changes Management to the integration layer when the publish date is reached. It uses the System Option COST_PRIOR_CREATE_DAYS from MFCS Foundation Unit Option to determine how many days before the effective date they should be published. Approved Cost Changes are considered and Cost Changes that were previously Approved and are in Changes Proposed are considered in their previous Approved version. The Cost Changes Integration API is called with the objects containing the cost changes to be integrated.
- Job: ORCV_SPCC_PUB_CCHG_JOB
- Frequency: Nightly
- Dependency: None
- Inter Scheduler Dependency: None
Batch configuration table: ORCV_BATCH_CONFIG
COLUMN NAME | DEFAULT VALUES |
---|---|
PROGRAM_NAME | ORCV_SPCC_PUB_CCHG_JOB |
MAX_CHUNK_SIZE | 1000 |
MAX_CONCURRENT_THREADS | 4 |
RETRY_LOCK_ATTEMPTS | 3 |
RETRY_WAIT_TIME | 3 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
Materialized Views
This application requires some results to be materialized in tables using the Materialized View Framework described in the Supply Chain Hub Frameworks section, below is the list for this application. Materialized views used in Cost Change Management are listed in this section.
Codes
Certain operations require codes to define the options available. Below you can find the list of code types available. The codes are defined in tables ORCV_CODE_HEAD and ORCV_CODE_DETAIL.
CODE TYPE | CODE TYPE DESCRIPTION |
---|---|
CCST | Cost Change status |
Custom Validations
The module performs validations by implementing Custom Validation Groups of the Custom Validations Framework described in the Supply Chain Hub Frameworks section. The groups listed below can be used to add Custom Validations for Cost Changes.
Group Id | Executed When |
---|---|
SPCC_COSTCHG_APPROVE | Cost Change is approved or Approved Cost Change is updated. |
SPCC_COSTCHG_REJECT | Cost changes is rejected. |
SPCC_COSTCHG_SUBMIT | Cost Change is submitted or when updating an existing Cost Change. |
Templates
Cost Changes Management uses a spreadsheet download and upload process, developed as part of the Retail Supply Chain Hub Frameworks, for creation, maintenance, and extraction of data. To support those functions, several different configurations should be reviewed as part of the implementation.
Template SPCC Cost Change
Table 17-1 Template Key: SPCC_COST_CHANGE_DATA
ACTION TYPE | ROLE NAME |
---|---|
Download | ORCV_SPCC_COSTCHG_APPR_JOB |
Download | ORCV_SPCC_COSTCHG_EDIT_JOB |
Download | ORCV_SPCC_COSTCHG_VIEW_JOB |
Download Blank | ORCV_SPCC_APP_JOB |
Upload | ORCV_SPCC_COSTCHG_APPR_JOB |
Upload | ORCV_SPCC_COSTCHG_EDIT_JOB |
Table 17-2 Worksheet Cost Changes Head
ACTION | MANDATORY CELLS / FIELDS | NOTES |
---|---|---|
Create |
Cost change id, supplier, origin country, effective date, cost change description, reason code |
Creates a new Cost Change. When the user has Edit permissions, it creates the Cost Change with status New. When the user has Approve permissions, it creates the Cost Change with status Approved. |
Update |
Cost change id Updatable: effective date, cost change description |
Updates the Cost Change with the new details. When the upload is done by a user with Edit permissions, if the previous status was New or Reject, the Cost Change status will be New. If the previous status was Approved or Change Proposed, the status will be Change Proposed. When the upload is done by a user with Approve permissions, the Cost Change status will be Approved. |
Approve, Reject |
Cost change id | Approves or Rejects the Cost Change. |
Table 17-3 Worksheet Cost Changes Detail
ACTION | MANDATORY CELLS / FIELDS | NOTES |
---|---|---|
Create |
Cost change id, Item or VPN, New unit cost |
Adds items to the Cost Change. When the Cost Change is not present in Cost Changes Head worksheet it is considered an update of the Cost Change. |
Update |
Cost change id Updatable: new unit cost, recalculate order indicator |
Updates the item details of the Cost Change. |
Interactive Grid Additional Columns
This application supports adding additional fields to the Interactive Grids by using the Interactive Grid Additional Columns functionality described in the Supply Chain Hub Frameworks section.
The Interactive Grids that support this functionality are listed below:
Interactive Grid | Grid ID | User Types | Page | Non Based View | Entity Primary Key |
---|---|---|---|---|---|
Cost Changes Dashboard Grid | P100_IG_COSTCHG | Retail Administrator, Retailer User, Supplier Administrator, Supplier User | Home |
ORCV_V_SPCC_ COSTCHG_HEAD_NB |
COST_CHANGE_ID |
Cost Change Items Grid | P200_IG_ITEMS | Retail Administrator, Retailer User, Supplier Administrator, Supplier User | Create or Edit Cost Change |
ORCV_V_SPCC_ ITEM_NB |
ITEM, SUPPLIER, COUNTRY |
References
Cost Changes Management also uses the Queries module to enable communication between retailer and supplier users, details about Queries are available in the Supply Chain Hub Frameworks section.
Operations
This section describes Cost Changes Management operations.
Integration by Module
Figure 17-4 Cost Changes Management Integration by Module

STEP | DESCRIPTION |
---|---|
0 | RSCH Data Access of MFCS data |
1 | Cost Change Java Service checks if there are Cost Changes from Cost Changes Management to be published to MFCS and generates ODS files for MFCS Induction. |
2 | Cost Change Java Service sends generated files to Integration File Transfer Java Service to send to MFCS |
3 | Integration File Transfer publishes files to MFCS File Transfer Services (FTS) or MFCS shared folder (depending on configuration). |
4 | Cost Changes Management calls Upload Download Java Service to transform files, depending on the request details, Upload Download Java Service might need to callback to Cost Changes Management to get more details. |
5 | Event Alert Java Service checks if there are alerts to be triggered. |
Batch by Module
This section describes batches by module.
Cost Changes Events Pending Batch
The Cost Changes Events Pending Batch uses the Rule Engine Framework described in the Supply Chain Hub Frameworks section. To execute this batch call Rule Engine Web Service with Rule Key SPCC_COSTCHG_EVT_PND.
Publish Cost Changes
Authentication Method: OAuth2
BaseURL: https://<BASE_URL>/ords/mfcs/orcv/merch/costchangesmanagement/publish/costchange/
batch/<URL_PATH>
URL PATH | REQUEST METHOD | REQUEST BODY | AFFECTED TABLES |
---|---|---|---|
/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_SPCC_PUB_CCHG_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SPCC_COSTCHG_HEAD ORCV_SPCC_COSTCHG_DTL ORCV_COSTS_INT_HEAD_SVC ORCV_COSTS_INT_DETAIL_SVC ORCV_COSTS_INT_DETAIL_LOC_SVC ORCV_COSTS_INT_ERR_SVC |
/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":<EXEC_ID>, "jobName":"ORCV_SPCC_PUB_CCHG_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SPCC_COSTCHG_HEAD ORCV_SPCC_COSTCHG_DTL ORCV_COSTS_INT_HEAD_SVC ORCV_COSTS_INT_DETAIL_SVC ORCV_COSTS_INT_DETAIL_LOC_SVC ORCV_COSTS_INT_ERR_SVC |
/log | GET |
URL query parameters: /log?jobName=ORCV_SPCC_PUB_CCHG_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
/kill | POST | Empty |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
/status | GET |
URL query parameters: /status?jobName=ORCV_SPCC_PUB_CCHG_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
/ping | GET | Empty | N/A |
Materialized Views Refresh Details
This section describes Materialized Views Refresh Details.
ORCV_MV_SPCC_DASH_SUBCHG
COLUMN | DESCRIPTION | VALUE |
---|---|---|
Result Synonym | Name of the synonym pointing to the result table. | ORCV_MV_SPCC_DASH_SUBCHG |
Result Table A | Name of _A result table. | ORCV_SPCC_DASH_SUBCHG_A_R |
Result Table B | Name of _B result table. | ORCV_SPCC_DASH_SUBCHG_B_R |
Source View | The View contains business logic to be used to populate the result table. | ORCV_V_SPCC_DASH_SUBCHG_R |
Driving View | This field contains the view to distribute the refresh process. | ORCV_V_SPCC_DASH_SUBCHG_RC |
Pre-Processor | Name of the pre-process procedure if applicable. |
ORCV_COMMON_MV_REFRESH. COMMON_PRE_PROCESSOR |
Check Function | Name of the check function to validate if there is a need to refresh or if there are any batch dependencies. | NA |
Preserve Data | Flag to decide if the data needs to be preserved until the next run cycle. | Y |
Restart Indicator | Flag to indicate if to allow restart batch processor or not. | N |
Max Concurrent Threads | This field contains the max_concurrent_threads that created the record. | 4 |
Filter Fields | Column name of the view to be used for threading. | SUPPLIER |
ORCV_MV_SPCC_DASH_TOP_DEPT
COLUMN | DESCRIPTION | VALUE |
---|---|---|
Result Synonym | Name of the synonym pointing to the result table. | ORCV_MV_SPCC_DASH_TOP_DEPT |
Result Table A | Name of _A result table. | ORCV_SPCC_DASH_TOP_DEPT_A_R |
Result Table B | Name of _B result table. | ORCV_SPCC_DASH_TOP_DEPT_B_R |
Source View | The View contains business logic to be used to populate the result table. | ORCV_V_SPCC_DASH_TOP_DEPT_R |
Driving View | This field contains the view to distribute the refresh process. | ORCV_V_SPCC_DASH_TOP_DEPT_RC |
Pre-Processor | Name of the pre-process procedure if applicable. |
ORCV_COMMON_MV_REFRESH. COMMON_PRE_PROCESSOR |
Check Function | Name of the check function to validate if there is a need to refresh or if there are any batch dependencies. | NA |
Preserve Data | Flag to decide if the data needs to be preserved until the next run cycle. | Y |
Restart Indicator | Flag to indicate if to allow restart batch processor or not. | N |
Max Concurrent Threads | This field contains the max_concurrent_threads that created the record. | 4 |
Filter Fields | Column name of the view to be used for threading. | DEPT |