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


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.

Schedule Overview

Figure 17-3 Cost Changes Management Batch Schedule Overview


Cost Changes Management Batch Schedule Overview

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.

Reason Codes

Cost Changes Reason Codes available in Cost Changes Management are the reason codes available in MFCS table COST_CHG_REASON.

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:

  • New Cost Change is Submitted by a User without Approval Permissions
  • New Cost Change is Submitted by Supplier and Cost Change has a Significant Change
  • Approved Cost Change is Updated by a User without Approval Permissions
Trigger UI/S9T
Target Users

User has access to Application

  • User has Approval Permission
  • User has access to Supplier
  • User has access to at least 1 Item of the Cost Change
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 EMAIL
Description Email with the list of cost changes pending approval.
Trigger Batch ORCV_SPCC_COSTCHG_EVT_PND_JOB
Target Users
  • User has access to Application
  • User has Approval Permission
  • User has access to Supplier
  • User has access to at least 1 Item of the Cost Change

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.

ORCV_MV_SPCC_DASH_TOP_DEPT

Number of cost changes items by department displayed in Cost Changes Management Home page.

  • Pre-Dependencies: N/A
  • Post-Dependencies: N/A
  • Frequency: Ad-hoc.
ORCV_MV_SPCC_DASH_SUBCHG

Number of cost changes that have status substantial change displayed in Cost Changes Management Home page.

  • Pre-Dependencies: N/A
  • Post-Dependencies: N/A
  • Frequency: Ad-hoc.

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


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