2 Setup and Configuration

The Setup and Configuration chapter provides parameters and steps for setting up a new Retail Analytics Platform cloud environment. While the platform comprises many application modules (some of which you may not use), there are certain common processes and settings that are shared across all of them. It is critical to check and update these core settings before moving on to later implementation steps, as they will define many system-wide behaviors that could be difficult to change once you've started loading data into the platform.

Configuration Overview

A high-level outline of the setup process is provided below to describe the activities to be performed in this chapter.

Table 2-1 RAP Configuration Overview

Activity Description

Learn the configuration tools

The Retail Analytics Platform has many tools available to support an implementation, such as Retail Home, POM, and Data Visualization. Knowing how to use these tools is an important first step in the process.

Verify Object Storage connectivity

Generate access tokens for interacting with Object Storage and test the connection, as it is required for all file movement into and out of the Oracle cloud.

Configure the system calendar

Update the parameters that define the type and characteristics of your business calendar, such as whether it is a 4-5-4 or 4-4-5 fiscal calendar.

Configure the system languages

Update the master list of supported languages that need to be present in addition to your primary language, such as the need for seeing data in both English and French.

Configure history retention policies

Certain data tables in Retail Insights that are leveraged by other applications on the platform have a history retention period after which some data may be erased.

Configure application-specific settings

All applications in the Retail Analytics Platform have their own settings which must be reviewed before starting an implementation of those modules.

Configuration Tools

Review the sections below to learn about the tools and common components used within the Retail Analytics Platform. Many of these tools are used both for initial implementation and for ongoing maintenance activities, so implementers should be prepared to transfer knowledge of these tools to the customer before completing the project.

Retail Home

One of the first places you will go in a new RAP environment is Retail Home. It serves both as the customer portal for Oracle Retail cloud applications and as a centralized place for certain common configurations, such as Customer Module Management. Module management allows implementers to quickly configure the complex batch schedules and interdependencies of RAP applications using a simplified module-based layout. Optional batch programs, such as those used for Retail Insights or Science applications, can be turned off from this tool and it synchronizes with the batch scheduler to ensure all related programs are disabled automatically.

For more general information about Retail Home and the other features it provides, review the Retail Home Administration Guide.

Because Customer Modules are a necessary part of configuring and using a RAP environment, see the steps below for how to access this feature.

  1. To access Retail Home, access the URL sent to your cloud administrator on first provisioning a new environment. It should look similar to the URL format below.

    https://{service}.retail.{region}.ocs.oraclecloud.com/{solution-customer-env}/retailhome
  2. Navigate to Settings → Application Administration → Customer Modules Management. Confirm the table on this page loads without error and displays multiple rows of results. If an error occurs, contact Oracle Support.

    Customer Modules Management Tab
  3. You may enable or disable various modules, depending on your implementation plans. For example, if you are not implementing any Retail Insights modules, then the sections for “RCI” and “RMI” can be deactivated.

    Note:

    Other components within the RI parent module may still be necessary. Detailed module requirements are described in Batch Orchestration

In addition to Customer Modules, you may also use Retail Home’s Resource Bundle Customization (RBC) feature to change translatable strings in the applications to custom values. Use the steps below to verify this feature is available:

  1. Navigate to Settings → Application Administration → Application Navigator Setup.

  2. Confirm that a row already exists for each application in the platform, including Retail Insights, Retail Science Platform, and Merchandise Financial Planning.

  3. On Retail Insights, select the row and click Edit.

    1. If not enabled, change the Platform Service toggle to an enabled state.

    2. Check all of the boxes that appear.

    3. Enter a valid platform service URL.

      If your platform services URL is blank and you do not know the URL, log a Service Request to receive it from Oracle.

  4. Repeat the steps above for the RSP and MFP modules, if necessary.

    Edit Application Info: Retail Insights Window
  5. Navigate to Settings → Resource Bundles → Resource Text Strings once the navigator and platform service setup is validated.

  6. Set the following values in the dropdown menus:

    1. Application: Retail Insights

    2. Bundle: Retail Insights

    3. Language: AMERICAN (en)

    Dropdown Menus
  7. Click the Search button and wait for results to return.

    • If multiple rows of results are returned, then you have successfully verified the feature is enabled and functioning properly.

    • If you receive an error, contact Oracle Support.

If you need additional details on how the RBC feature is used within each application module, refer to the product-specific documentation sets, such as the Retail Insights Administration Guide.

Process Orchestration and Monitoring (POM)

The Process Orchestration and Monitoring (POM) application is a user interface for scheduling, tracking, and managing both nightly as well as intraday batch jobs for applications such as RI, MFP, and RSP. Two important screens from the POM application are Batch Monitoring and Batch Administration. The Batch Monitoring window provides a runtime view of the statuses and dependencies of the different batch cycles running on the current business day. Batch Administration allows you to modify the batch schedules and synchronize them with Retail Home.

For general information about POM and the features it provides, review the POM Implementation Guide and POM User Guides.

POM and Customer Modules Management

The first time you will likely be interacting with POM will be to synchronize customer modules from Retail Home to set up your starting batch processes and turn off any processes for modules you are not using. The steps below explain the general process for syncing POM and Retail Home, which are used by Retail Insights and Science applications to set up the nightly batches. They are also required for the RAP common components used by all the modules.

  1. Log in to the Retail Home application as a user with the RETAIL_HOME_ADMIN (or RETAIL_HOME_ADMIN_PREPROD) user role.

  2. Navigate to Settings → Application Administration → Customer Modules Management.

  3. Configure your batch modules as needed, disabling any components which you do not plan to implement, then click the Save button to complete the setup.

  4. Now log in to the POM application URL with a user granted the BATCH_ADMINISTRATOR_JOB or pre-prod equivalent role.

  5. Navigate to Tasks → Batch Administration.

  6. Click on the tile named RI <Release_#> to view the RI batch jobs, which should be loaded into the table below the tiles.

    RI Batch Jobs
  7. Click the Sync with MDF button (above the table) and then click the OK button in the Warning message popup. Once clicked, the Platform Services calls are initiated between Retail Home and POM to sync the module status.

    Warning Message
  8. While the modules are synchronizing, you will see a message: 'Some features are disabled while a schedule is being synced'. Do not attempt to modify the schedule or make other changes while the sync is in progress.

    Message: Some Features Are Disabled
  9. Once the sync is complete, a JSON file with the batch schedule summary is downloaded. This file contains the current and previous status of an application and module in MDF and POM after sync. For example: {"scheduleName":"RI","synced":true,"enabledModules":[{"state":"MATCHED_MODULE","mdfStatus":"ENABLED","prevMdfStatusInPom":"ENABLED","prevStatusInPom":"ENABLED","publishToPom":true,"applicationName":"RI","moduleName":"RMI_SI_ONORDER","matchedModule":true},…

  10. Click the Nightly or the Standalone tab above the table and enter a filter for the Module column (based on the modules that were activated or deactivated) and press Enter. The jobs will be enabled or disabled based on the setup in Customer Modules Management.

  11. Navigate to Tasks → Batch Monitoring. Click on the same application tile as before. If the batch jobs are not listed, change the Business Date option to the 'Last Schedule Date' shown on the tile.

    Business Date Selection Menu
  12. Once the date is changed, the batch jobs are loaded in the table. Click the Restart Schedule button so that module changes are reflected in the new schedule. Click OK on the confirmation pop-up. After a few seconds, a 'Restarted' message is displayed.

  13. In the same screen, filter the Job column (for example,'W_HOUSEHOLD') to check the status of jobs. The status is either 'Loaded' or 'Disabled' based on the configuration in the Customer Modules Management screen in Retail Home.

Note:

A specific module in Retail Home may appear under several applications, and jobs within a module may be used by multiple processes in POM. The rule for synchronizing modules is, if a given POM job is enabled in at least one module, it will be enabled in POM (even if it is disabled in some other modules). Only when a job is not needed for any modules will it be disabled.

Control & Tactical Center

Retail Insights and Science modules make use of a centralized configuration interface named the Control & Tactical Center. From here the user can review and override the system configurations for different applications through the Manage System Configurations screen. The table can be filtered by Application and their configured tables. There is also a Description section on the right side that displays the details of the filtered table.

Manage System Configurations Tab

Here are the steps for accessing and using this feature:

  1. To access the system configurations, start from the Retail Home URL sent to your cloud administrator on first provisioning a new environment. It should look similar to the URL format below.

    https://{service}.retail.{region}.ocs.oraclecloud.com/{solution-customer-env}/retailhome
  2. Using the Retail Home application menu, locate the link for the Retail Science Platform (RSP). Alternatively, you can directly navigate to the application using a URL similar to the format below.

    https://{service}.retail.{region}ocs.oraclecloud.com/{solution-customer-env}/orase/faces/Home
  3. In the task menu, navigate to Control & Tactical Center → Strategy & Policy Management. A new window opens.

    Note:

    Make sure your user has the ADMINISTRATOR_JOB role in IDCS or OCI IAM before logging into the system.
  4. Click Manage System Configurations in the new application screen.

  5. Select an application in the dropdown menu to pick the desired set of configurations. Based on the selection, the Filter and Table options are populated with the configured columns and data. The Description section also displays the details of the selected table.

Specifically for the initial environment setup, you will be working mainly within the Retail Insights group of configuration tables. You will also use the Strategy & Policy Management interface to access the forecasting configurations needed to set up and generate forecasts for Planning applications. It is also used to manage the business policies and rules used by Offer Optimization. Any required configurations in these areas will be covered later in this document.

Data Visualizer

Retail Analytics Platform implementations largely involve processing large volumes of data through several application modules, so it is important to know how to access the database to review settings, monitor load progress, and validate data tables. Database access is provided through the Oracle Data Visualization (DV) tool, which is included with all Retail Analytics Platform environments. The URL to access the DV application will be similar to the below URL:

https://{service}.retail.{region}ocs.oraclecloud.com/{solution-customer-env}/dv/?pageid=home

The RAP database comprises several areas for the individual application modules, but the majority of objects are exposed in DV as a connection to the RAFEDM01 database user. This user has read-only access to the majority of database objects which are involved in RI and Science implementations, as well as the tables involved in publishing data to the Planning modules. Follow the steps below to verify access to this database connection:

  1. Log in to the DV application with a user that includes the RIApplicationAdministrator_JOB or DVContentAuthor groups in IDCS or OCI IAM (in non-production environments, use RIApplicationAdministrator_JOB_PREPROD or DVContentAuthor).

  2. Expand the navigation panel using the Navigator icon in the upper left corner.

    Navigation Panel
  3. Click Data and, once the screen loads, click Connections. Confirm that you have a connection already available for RAFEDM (Retail Analytics Front End Data Mart).

    Connections
  4. Click the connection. The Add Data Set screen will load using the selected connection. A list of database users are displayed in the center panel.

     If any errors are displayed or a password is requested, contact Oracle Support for assistance.

    Data Sets
  5. Click the RAFEDM01 user.

  6. Click C_ODI_PARAM on the following list of database tables.

  7. Click the Add All button to select all columns in the table. In the bottom panel, click the Refresh icon to receive sample data. Confirm that one or more rows of data are displayed.

    All Tables Selected
  8. If you are performing a one-time query that does not need to be repeated or reused, you can stop at this point. You can also switch to the Enter SQL option in the upper right corner, to write simple queries on the database. However, if you want to create a reusable dataset, or expose the data for multiple users, proceed to the next steps.

    Note:

    The Enter SQL option does NOT allow for the full range of Oracle SQL commands. You cannot join multiple tables or perform complex operations such as pivots and partition-by clauses. The primary purpose is to select columns to add to a dataset and do basic manipulations of them.
  9. Click the last icon in the data flow at the top of the screen.

  10. Change the value of the Data Access setting to Live

  11. Click Add to complete the dataset definition and start the dataset formatting process.

    Data Sets
  12. You can format the dataset on this screen for use in DV projects. You may rename the columns, change the datatype between Measure and Attribute, create new columns based on calculated values, and extract values from existing columns (such as getting the month from a date). Refer to Oracle Analytics documentation on Dataset creation for full details. When finished, click Create Project in the upper right corner to save the dataset and open a new project with it.

    Project Created

Once you have verified database connectivity, you may continue on to creating more datasets and projects as needed. Datasets will be saved for your user and can be reused at later dates without having to re-query the database. Saved datasets can be accessed using the Data screen from the Navigator panel.

Object Storage

Note:

File Transfer Services do not replace SFTP in existing customer environments. If your environment is already provisioned then you will continue to use SFTP as described in the product documentation for Retail Insights and Science, and the section below does not apply to you.

File Transfer Services (FTS) for the Retail Analytics Platform cloud services are being made available in this release, replacing SFTP in new environments. They will allow you to manage uploading and downloading files to Oracle Cloud Infrastructure Object Storage, which is an internet-scale, high-performance storage platform that offers reliable and cost-efficient data durability.

Access to files is through a pre-authenticated request (PAR), which is a URL that requires no further authentication to upload or download files to the cloud. To retrieve a PAR, you must use the appropriate file transfer REST service. These new services will enable you to import files to and export files from Object Storage used by the solutions. The primary role of these services is to ensure that only valid external users can call the service by enforcing authorization policies. Where supported, the files can be compressed (zipped) before upload.

The general flow of activities involving FTS and an external integrating system are as follows for transferring files into our cloud service:

  1. The third-party solution calls the service, requesting pre-authentication to upload files from Object Storage, including the incoming prefix and file name. On receiving the PAR, the file is uploaded using the URL included within the response. A PAR has a validity of 10 minutes; an upload can take longer than 10 minutes but after it is returned it must be started within that period.

  2. The cloud service batch processing will retrieve the files from Object Storage, after they have passed an anti-virus and malware scan.

  3. The batch processing will delete the file from Object Storage to ensure it is not re-processed in the next batch run. The batch processing uncompresses the file and processes the data.

Object Storage Process Flow

To interact with FTS you must use the REST APIs provided. The table below lists the API end points for different file operations.

Operation Method FTS API Endpoint

Ping

GET

{baseUrl}/services/private/FTSWrapper/ping

List Prefixes

GET

{baseUrl}/services/private/FTSWrapper/listprefixes

List Files

GET

{baseUrl}/services/private/FTSWrapper/listfiles

Move Files

POST

{baseUrl}/services/private/FTSWrapper/movefiles

Delete Files

DELETE

{baseUrl}/services/private/FTSWrapper/delete

Request Upload PAR

POST

{baseUrl}/services/private/FTSWrapper/upload

Request Download PAR

POST

{baseUrl}/services/private/FTSWrapper/download

The {baseUrl} is the URL for your RAP service that is supplied to you when your service is provisioned. Refer to the Required Parameters section for additional parameters you will need to make FTS requests.

Required Parameters

To leverage File Transfer Services, several pieces of information are required. This information is used in API calls and also inserted into automated scripts, such as the test script provided later in this document.

The below parameters are required for uploading data files to object storage.

BASE_URL="https://__YOUR_TENANT_BASE_URL__"
TENANT="__YOUR-TENANT_ID__"
IDCS_URL="https://_YOUR__IDCS__URL__/oauth2/v1/token"
IDCS_CLIENTID="__YOUR_CLIENT_APPID__"
IDCS_CLIENTSECRET="__YOUR_CLIENT_SECRET___"
IDCS_SCOPE="rgbu:rsp:psraf-__YOUR_SCOPE__"
Base URL

The substring before the first ‘/’ in the Application URL is termed as the base URL.

Example URL: https://rap.retail.eu-frankfurt-1.ocs.oraclecloud.com/rgbu-rap- hmcd-stg1-rsp/orase/faces/Home

In the above URL, BASE_URL = https://rap.retail.eu-frankfurt-1.ocs.oraclecloud.com

Tenant

The string after the Base URL and before the Application URL starts would be the Tenant.

Example URL: https://rap.retail.eu-frankfurt-1.ocs.oraclecloud.com/rgbu-rap- hmcd-stg1-rsp/orase/faces/Home

In the above URL, TENANT = rgbu-rap-hmcd-stg1-rsp

IDCS or OCI IAM URL

Your authentication URL is the one used when you first access any of your cloud services and are redirected to a login screen. You will get the base URL from the login screen and combine it with the necessary path to fetch the authentication token.

Example Base URL: https://idcs-a4cbf187f29d4f41bc03fffb657d5513.identity.oraclecloud.com/

Using the above URL, IDCS_URL = https://idcs-a4cbf187f29d4f41bc03fffb657d5513.identity.oraclecloud.com/oauth2/v1/token

IDCS or OCI IAM Scope

The authentication scope is a code associated with the specific environment you are planning to interact with. It has a static prefix based on the application, appended with an environment-specific code and index.

Base format: rgbu:rsp:psraf-<ENV><ENVINDEX>

Where <ENV> is replaced with one of the codes in (PRD, STG) and <ENVINDEX> is set to 1, unless you have multiple staging environments, and then the index can be 2 or greater.

To determine this information, look at the URL for your environment, such as:

https://rap.retail.eu-frankfurt-1.ocs.oraclecloud.com/rgbu-rap-hmcd-stg1-rsp/orase/faces/Home

In the tenant string, you can see the code stg1. This can be added to your scope string (ensuring it is in uppercase characters only).

IDCS_SCOPE = rgbu:rsp:psraf-STG1

Client ID and Secret

The client ID and secret are authentication keys generated for your specific connection and must be passed with every request. Retail Home provides an interface to get these values when you login with a user having the PLATFORM_SERVICES_ADMINISTRATOR group.

  1. Navigate to the Application Navigator Setup screen.

  2. Select a row for the application you will transfer files to. The row must already have a Platform Services URL assigned to it. Use the Actions menu to select the Create IDCS OAuth 2.0 Client action.
    Create IDCS OAuth 2.0 Client Menu Option
  3. Enter the requested details in the window. The application name should be unique to the connection you are establishing and cannot be used to generate multiple client ID/secret pairs.
    Create IDCS Oauth 2.0 Client Window

    The application name cannot be re-used for multiple requests. It also cannot contain spaces. The scope should be the string previously established in IDCS or OCI IAM Scope. The description is any value you wish to enter to describe the application name being used.

  4. Click OK to submit the form and display a new popup with the client ID and secret for the specified Application Name. Do NOT close the window until you have captured the information and verified it matches what is shown on screen. Once you close the window, you cannot recover the information and you will need to create a new application.

Common HTTP Headers

Each call to FTS should contain the following HTTP headers:

Content-Type: application/json

Accept: application/json

Accept:-Language: en

Authorization: Bearer {ClientToken}

The {ClientToken} is the access token returned by IDCS or OCI IAM after requesting client credentials. This is refreshed periodically to avoid authentication errors.

Retrieving Identity Access Client Token

The access client token is returned from a POST call to the IDCS or OCI IAM URL, provided at provisioning, along with the following:

Headers

Content-Type: application/x-www-form-urlencoded

Accept: application/json

Authorization: Basic {ociAuth}

ociAuth is the base64 encoding of your {clientId}:{clientSecret}

Data (URLEncoded)

grant_type=client_credentials

scope=rgbu :rpas :psraf-{environment}

FTS API Specification

An example shell script implementing these API calls can be found in Sample Public File Transfer Script for Planning Apps. The sample script will require all of the parameters discussed so far in this chapter to be added to it before it can be used to issue FTS commands. Refer to the table below for a more detailed list of services available in FTS.

Ping

Returns the status of the service, and provides an external health-check.

Method

GET

Endpoint

{baseUrl}/services/private/FTSWrapper/ping

Parameters

Common headers

Request

None

Response

{ appStatus:200 }

The appStatus code follows HTTP return code standards.

List Prefixes

Returns a list of the known storage prefixes. These are analogous to directories, and are restricted to predefined choices per service.

Method

GET

Endpoint

{baseUrl}//services/private/FTSWrapper/listprefixes

Parameters

Common headers

Request

None

Response

A JSON array of strings containing the known prefixes.

List Files

Returns a list of the file within a given storage prefix.

Method

GET

Endpoint

{baseUrl}/services/private/FTSWrapper/listfiles

Parameters

Common headers

Request

Query parameters (…/listfiles?{parameterName}) that can be appended to the URL to filter the request:

prefix – the storage prefix to use

contains – files that contain the specified substring

scanStatus – file status returned by malware/antivirus scan

limit – control the number of results in a page

offset – page number

sort – the sort order key

Response

A JSON resultSet containing array of files. For each file, there is metadata including: name, size, created and modified dates, scan status and date, scan output message.

Move Files

Moves one or more files between storage prefixes, while additionally allowing the name to be modified

Method

GET

Endpoint

{baseUrl}/services/private/FTSWrapper/movefiles

Parameters

Common headers

Request

An array of files containing the current and new storage prefixes and file names, as shown below.

{"listOfFiles": [
	{"currentPath": 
		{ "storagePrefix": "string",
			"fileName": "string"}, 
			"newPath": {
				"storagePrefix": "string", 
				"fileName": "string"
			}
		}
	]
}

Response

HTTP 200, request succeeded;

HTTP 500, an error was encountered.

Delete Files

Deletes one more or files

Method

DELETE

Endpoint

{baseUrl}/services/private/FTSWrapper/deletefiles

Parameters

Common headers

Request

A JSON array of files to be deleted. One or more pairs of storagePrefix and filename elements can be specified within the array.

{"listOfFiles": 
	[ 
		{
			"storagePrefix": "string",
			 "fileName": "string"
		}
	]
}

Response

A JSON array of each file deletion attempted and the result.

Request Upload PAR

Request PAR for uploading one or more files

Method

POST

Endpoint

{baseUrl}/services/private/FTSWrapper/upload

Parameters

Common headers

Request

A JSON array of files to be uploaded. One or more pairs of storagePrefix and filename elements can be specified within the array.

{ "listOfFiles":
	 [ 
		{
			"storagePrefix": "string",
			"fileName": "string"
		}
	]
}

Response

A parList containing an array containing elements corresponding to the request including the PAR accessUri and name of file.

Request Download PAR

Request PARs for downloading one or more files

Method

POST

Endpoint

{baseUrl}/services/private/FTSWrapper/download

Parameters

Common headers

Request

A JSON array of files to be downloaded. One or more pairs of storagePrefix and filenames can be specified within the array.

{ "listOfFiles":
	[
		{
			"storagePrefix": "string", 
			"fileName": "string"
		}
	]
}

Response

A parList containing an array containing elements corresponding to the request including the PAR accessUri and name of file.

Platform Configurations

This section provides a list of initial setup and configuration steps to be taken as soon as you are ready to start a new implementation of the Retail Analytics Platform and have the cloud environments provisioned and generally available.

Several configuration tables in the RAP database should be reviewed before processing any data. A list of these tables is below, along with an explanation of their primary uses. The way to apply changes to these tables is through the Control & Tactical Center, as described in the previous section on Configuration Tools.

Table 2-2 Platform Configuration Tables

Table Usage

C_ODI_PARAM

Table used to configure all Oracle Data Integrator (ODI) batch programs as well as many Retail Insights properties.

W_LANGUAGES_G

Table used to define all languages that need to be supported in the database for translatable data (primarily for Retail Insights and Science Platform).

C_MODULE_ARTIFACT

Table used for database table partitioning.

C_HIST_LOAD_STATUS

Table used to configure historical data loads, configure ad hoc batch processes, and monitor the results of those jobs after each run.

C_SOURCE_CDC

Table used to configure and monitor both historical and ongoing integration to Planning applications through the Retail Insights data warehouse.

C_ODI_PARAM Initialization

The first table requiring updates is C_ODI_PARAM because your system calendar is populated using the ODI programs. This table is displayed as C_ODI_PARAM_VW on the Manage System Configurations screen in the Control & Tactical Center. The following settings must be updated prior to using the platform.

Table 2-3 C_ODI_PARAM Intitial Settings

Scenario Parameter Usage

SIL_DAYDIMENSION

START_DT

Start date for generating the system calendar (this is different from the fiscal calendar). Set 12+ months before the start of the planned fiscal calendar to provide adequate space for adjustments to the fiscal calendar starting period.

Example: If your Fiscal start period is currently February 2020, then it would be fine to start the system calendar on 20190101. Starting from the first day of a year ensures there are no incomplete months in the calendar.

SIL_DAYDIMENSION

END_DT

End date for generating the system calendar (this is different from the fiscal calendar). Set 6-12 months beyond the expected end of the fiscal calendar to ensure the final year of that calendar does not extend beyond the available dates.

Example: If your Fiscal end period is currently January 2025, then you could set the end date to 20251231. Ending on the last day of a year ensures there are no incomplete months in the calendar.

SIL_DAYDIMENSION

WEEK_START_DT_VAL

Starting day of the week for the system calendar (1 = Sunday, 2 = Monday). The default calendar setup uses a Sunday-to-Saturday week.

GLOBAL

RI_OPTIONALLY_ENCLOSED_BY

Note:

This parameter is deprecated in the new RAP architecture and was replaced by CTX file parameters.

Set a character to use for wrapping text strings in data files, such as a quotation mark ("), to allow column delimiters to occur within the strings without causing any failures in the load process.

The recommended value is "

GLOBAL

CURRENCY_CODE

Set the default currency code used when loading CSV-based fact data files if none are provided on the files themselves. Defaults to ‘USD’.

GLOBAL

LANGUAGE_CODE

Default language code used by the system to load data.

Do not change unless your source systems are using a non-English primary language in their database and datasets.

Default=EN

GLOBAL

RI_PART_DDL_CNT_LIMIT

The maximum number of partitions to create during the initial setup run. The average initial setup of the calendar may need 50k-150k partitions.

The recommended value is 500000 (meaning max 500k partitions)

GLOBAL

RI_INV_HIST_DAYS

The number of days to retain a zero-balance record on inventory positions. Excessive retention of zero balances can cause batch performance issues due to high data volumes. But dropping the records too soon may be detrimental to your business reporting or analytical processes if you make use of zero-balance information.

Default=91 days.

GLOBAL

RI_CLOSED_PO_HIST_DAYS

The number of days to retain closed purchase orders on the daily positional snapshots. Closed purchase orders may be important for reporting or analytical processes, but typically are not needed as they do not impact your open on-order calculations.

Default=30 days. 

GLOBAL

RI_GEN_PROD_RECLASS_IND

Set to ‘Y’ to enable RI to automatically generate item-level reclass records. Can only be used in a non-RMS implementation. Requires that full product files are sent every day, to detect when an item moves between hierarchy positions even if no other change occurred.

GLOBAL

RI_INT_ORG_DS_MANDATORY_IND

Set to ‘Y’ to require input data on the Organization hierarchy interface for the batch to run. This will prevent the batch from executing if the data files were not uploaded properly for a given day or the file was missing from the upload.

GLOBAL

RI_PROD_DS_MANDATORY_IND

Set to ‘Y’ to require input data on the Product hierarchy interface for the batch to run. This will prevent the batch from executing if the data files were not uploaded properly for a given day or the file was missing from the upload.

SIL_RETAIL_COHEADDIMENSION

RI_MIS_COHEAD_REQ_IND

Seed missing customer order (CO) head IDs from sales fact to CO Dimension. If you are providing customer order IDs on your sales history load, make sure to set this to ‘Y’.

SIL_RETAILCOLINEDIMENSION

RI_MIS_COLINE_REQ_IND

Seed missing customer order (CO) line IDs from sales fact to CO Dimension. If you are providing customer order line IDs on your sales history load, make sure to set this to ‘Y’.

SIL_EMPLOYEEDIMENSION

RI_MIS_CASHIER_REQ_IND

Seed missing Cashier IDs from sales fact to Employee dimension. If you are providing employee IDs on your sales history load, make sure to set this to ‘Y’.

SIL_RETAILCUSTOMERDIMENSION

RI_MIS_CUSTOMER_REQ_IND

Seed missing customer IDs from sales fact to Customer dimension. If you are providing customer IDs on your sales history load, make sure to set this to ‘Y’.

SIL_RETAILPROMODIMENSION

RI_MIS_PROMO_REQ_IND

Seed missing promotions from the sales promo fact to the Promotion dimension. If you are providing promotion IDs on your sales history load and not providing a Promotion file, make sure to set this to ‘Y’.

Retail Insights contains many additional configurations in the C_ODI_PARAM table that are not necessary for platform initialization, but may be needed for your project. This includes Merchandise Financial Planning configurations for specifying custom planning levels to be used in the integration between MFP and RI. The default parameters align with MFP’s default plan outputs, but if you are customizing MFP to use a different base intersection, then you must also update those values in C_ODI_PARAM. Refer to the Retail Insights Implementation Guide for complete details on Planning Configurations.

W_LANGUAGES_G Initialization

The W_LANGUAGES_G table controls all the languages supported in the translatable database data. This applies to areas such as product names, location names, attribute values, season/phase descriptions, and other text-based descriptors. This is important mainly to Retail Insights, which supports displaying data in multiple languages in reporting and analytics. It is recommended to delete all languages from this table that will not be used because every language code in this table will have records generated for it in some interfaces, creating unnecessary data that can impact system performance.

For example, product names will automatically have database records initialized for every supported language in this configuration table, even if the data you are providing does not contain any of those languages. This creates significant amounts of data in your product descriptions table, which may not serve any real purpose for your implementation. If you are only using a single primary language, then you can safely delete all but one row from W_LANGUAGES_G. The default row to preserve is the one with a language code of US which is used for American English.

C_MODULE_ARTIFACT Initialization

The C_MODULE_ARTIFACT table is used by the database to configure table partitioning. Many tables in Retail Insights are partitioned based on the business calendar (usually by calendar date or fiscal week) and this partitioning must be performed immediately after the business calendar is loaded.

Before running partitioning procedures, you validate this table has all rows set to ACTIVE_FLG=Y and PARTITION_FLG=Y with the exception of W_RTL_PLAN* or W_RTL_PLANFC* tables, which should not be partitioned at this time and must have a flag values of N.

C_HIST_LOAD_STATUS

The C_HIST_LOAD_STATUS table is used to track the progress of historical loads of data, primarily inventory position and pricing facts. You may edit the following fields on this table based on your implementation needs:

  • HIST_LOAD_LAST_DATE – Specifies the planned final date for the end of your historical loads (for example, the end of the 2-year period you plan to load into RAP). The history load programs will assume that you are providing each week of inventory in sequence from earliest to latest and process the data in that order.

  • ENABLED_IND – Turns on or off a specific table load for historical data. Most of the tables in these processes are only required for Retail Insights, and the rest can be disabled to improve performance. Set to a value of N to disable a table load.

  •  MAX_COMPLETED_DATE – The load programs use this to keep track of the last loaded week of data. It does not allow you to reload this week or any prior week, so if you are trying to start over again after purging some history, you must also reset this field.

  •  HIST_LOAD_STATUS – The load programs uses this to track the status of each step in the load process. If your program gets stuck on invalid records change this field back to INPROGRESS before re-running the job. If you are restarting a load after erasing history data, then you need to clear this field of any values.

If you are only implementing Science or Planning application modules, then the following history tables should be enabled at a minimum; all others should be disabled.

  • W_RTL_PRICE_IT_LC_DY_F

  • W_RTL_PRICE_IT_LC_DY_HIST_TMP

  • W_RTL_INV_IT_LC_DY_F

  • W_RTL_INV_IT_LC_WK_A

  • W_RTL_INV_IT_LC_DY_HIST_TMP

As you load data files for one or more weeks of history per run, the value of MAX_COMPLETED_DATE and HIST_LOAD_STATUS automatically update to reflect the progress you have made. If you need to restart the process (for example, you have loaded test data and need to start over with production data) these two columns must first be cleared of all data before beginning the history load again.

C_SOURCE_CDC

The C_SOURCE_CDC table is used for changed data capture (CDC) parameters for the integrations between the Retail Insights data warehouse and the Planning application schemas. In general, this table is updated automatically as batches are run. However, it is important to know when you may need to modify these values.

For most interfaces, the table will initially have no records. The first time an integration batch program runs, it will take all the data from the source table and move it to the export table. It will then create a C_SOURCE_CDC record for the target table name, with a value for LAST_MIN_DATE and LAST_MAX_DATE matching the timeframe extracted. On the next run, it will look at LAST_MAX_DATE as the new minimum extract date and pulls data greater than that date from the source table. If you are performing history loads for tables, such as Sales Transactions, you may need to change these dates if you have to re-send data to Planning for past periods.

Specifically for positional data (at this time only Inventory Position), the usage is not quite the same. Positional data will always send the current end-of-week values to Planning, it does not look at historical weeks as part of the normal batch process. A separate historical inventory integration program is provided in an ad hoc process, which will allow you to send a range of weeks where LAST_MIN_DATE is the start of the history you wish to send, and LAST_MAX_DATE is the final date of history before normal batches take it forward. It is common to load inventory from end to end in isolation as it is a data-intensive and time-consuming process to gather, load, and validate inventory positions for multiple years of history.

W_GLOBAL_CURR_G

The W_GLOBAL_CURR_G table is used by Retail Insights to support up to three additional currencies in reporting and aggregation (other fields above 3 are not used at this time). RI pre-populates global currency fields in all aggregation tables based on the specified currency codes. The desired codes are added to one row in this table and must align with the Exchange Rates data provided separately. This table is available from the Control & Tactical Center and is not a required configuration for any project unless you wish to report on additional currencies in Retail Insights.

Example data to be inserted to this table:

DATASOURCE_NUM_ID TENANT_ID GLOBAL1_CURR_CODE GLOBAL2_CURR_CODE GLOBAL3_CURR_CODE GLOBAL1_RATE_TYPE GLOBAL2_RATE_TYPE GLOBAL3_RATE_TYPE DEFAULT_LOC_RATE_TYPE

1

DEFAULT

INR

AED

PEN

Corporate

Corporate

Corporate

Corporate

Application Configurations

In addition to the platform configurations defined above, each application on the platform has its own system and runtime options that need to be reviewed and updated. The information below will guide you to the appropriate content for each application’s configuration options.

Retail Insights

Retail Insights has a significant number of configurations, primarily in the C_ODI_PARAM table, which controls batch processes and reporting behaviors throughout the application. If you are implementing Retail Insights as part of your project, review the “Setup and Configuration” chapter of the Retail Insights Implementation Guide.

Science Platform and Forecasting

Each Science application has parameters that are specific to the batch processing, data movement, algorithms, and user interfaces of those modules. These configurations are stored in several database tables available through the Control & Tactical Center. If you are implementing any Science applications as part of your project, review the Retail Science Cloud Services Implementation Guide.

If you are implementing Merchandise Financial Planning, then you are required to configure and use the Forecasting module in the Science application interface. This requires initial configurations to select forecast parameters, as well as post-data load configurations to select forecast data levels and perform testing of the chosen algorithm. For basic information about Forecasting and what the Science application functionality can support, refer to the “Manage Forecast Configurations” section in the Science User Guide.

To configure the forecast process for MFP, use the Manage System Configurations screen in the Control Center to review and modify the configurations in RSE_CONFIG. These values can be set up now, but you cannot complete the rest of the forecasting process until your foundation data has been loaded into the Science platform.

Appl Code Parameter Name Description

RSE

EXTENDED_HIERARCHY_SRC

Data source providing extended hierarchy data using either RMS or NON-RMS. Default value is NON-RMS. If using RMFCS or RMS-sourced data, must update this parameter.

RSE

LOAD_EXTENDED_PROD_HIER

Y or N value. This parameter is used by the product hierarchy ETL to know whether the extended product hierarchy is needed. Default value is Y. If the product hierarchy data had 9 levels, keep this value as Y. If it has 7 levels, change this value to N.

PMO

PMO_PROD_HIER_TYPE

The hierarchy ID to use for the product (Installation configuration). Default value is 3. If the product hierarchy data has 9 levels (that is, it has an extended hierarchy), keep this value as 3. If it has 7 levels (extended hierarchy is unneeded), change this value to 1.

RSE

PROD_HIER_SLSTXN_HIER_LEVEL_ID

This parameter identifies the hierarchy level at which sales transactions are provided (7-Style, 8-Style/color or 9 Style/color/Size). It MUST match the extended hierarchy leaf level. Default value is 9.

PMO

PMO_AGGR_INVENTORY_DATA_FLG

Specifies whether inventory data is present and if it should be used when aggregating activities data.

Set this value to N if inventory data is not loaded (inventory data is not required for MFP forecasting but it is required for other applications like Offer Optimization, Inventory Optimization and Retail Demand Forecasting). Default value is Y.

Planning Platform

Planning Applications such as MFP (Merchandise Financial Planning) can be set up using the Planning Platform (RPAS CE). It allows customers to use a Standard GA template version or configurable planning solution versions. Refer to the Planning application-specific Implementation Guides for more details about these options.