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. These settings
are required even if your project only includes Planning implementations. Changes to these settings are tracked using the
audit table C_DML_AUDIT_LOG
.
Table 2-3 C_ODI_PARAM Initial Settings
Scenario Name | Param Name | Configuration Guidance |
---|---|---|
SIL_DAYDIMENSION |
START_DT |
Start date for generating the Gregorian 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. Do not set Example: If your first Fiscal start date is in February 2020, then it would be fine to
start the Gregorian calendar on 20190101. Starting from the first day of a year ensures there
are no incomplete months in the Gregorian calendar. Note that If you are loading the calendar directly from Merchandising, refer to section Using RDE for Calendar Setup (Gen 2 Architecture). |
SIL_DAYDIMENSION |
END_DT |
End date for generating
the Gregorian calendar (this is different from the fiscal calendar), non-inclusive. 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. The Example: If your Fiscal end period is currently January 2025, then
you could set the Gregorian |
SIL_DAYDIMENSION |
WEEK_START_DT_VAL |
Starting day of the week for both Gregorian and Fiscal calendars (1 = Sunday, 2 = Monday). The default calendar setup uses a Sunday-to-Saturday week. |
GLOBAL |
START_OF_YEAR_MONTH |
The name of the Gregorian month associated
with the first fiscal period in your business calendar. For example, if your fiscal year starts 06-FEB-22 then set this to Default = |
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 |
HIST_ZIP_FILE |
Change the default name for the ZIP file package used by the history file load process. Default= |
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 |
RA_INV_WAC_IND |
Controls the RDE inventory cost calculation. When set to Y, it will use Weighted Average Cost (WAC) as the item cost for all items. When set to N, it will dynamically load Merchandising valuation methods set per department or item and apply them, choosing from average cost, unit cost, or retail-based cost. |
GLOBAL |
RA_INV_TAX_IND |
Controls the RDE retail calculation and removal of tax amounts from retail valuation of stock on hand and on-order amounts. When set to N, only simple VAT (SVAT) calculations are supported and taxes are included in the values. When set to Y, the system dynamically loads Merchandising global tax and VAT information and applies it by item/location to remove taxes. |
GLOBAL |
RA_SLS_TAX_IND |
Controls the RDE retail calculation and removal of tax amounts from retail valuation of sales amounts. When set to N, it is generally VAT-inclusive on the Retail amounts (but not profit amounts, which never include VAT). When set to Y, the system dynamically loads Merchandising VAT information and applies it by item/location to remove VAT taxes from all sales retail and discount amounts. |
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 |
GLOBAL |
RI_INT_ORG_DS_MANDATORY_IND |
Set to |
GLOBAL |
RI_PROD_DS_MANDATORY_IND |
Set to |
GLOBAL |
RI_LAST_MKDN_HIST_IND |
Set to |
GLOBAL |
RI_ITEM_REUSE_IND |
Enable or disable the ability to re-use
item numbers over time to represent entirely new items. Also enables retention of existing items for a number of days, so
that if an item drops and reappears quickly, it is not considered a new item and will continue to use the existing records.
Set to Default = N |
GLOBAL |
RI_ITEM_REUSE_AFTER_DAYS |
The number of days between when an item is deleted and when it’s allowed to appear as a new item having the same ID. This will trigger the old version of the item to be archived in the data warehouse using an alternate key, so the new version of the item is treated as completely new. For example, setting this to 5 days means that an item can be dropped/deleted and after 5 days, when the same items comes again it will be treated as a brand new item. If the item re-appears in the data before 5 days has passed, it will be treated as the same item as before and the existing item data remains active. Default = 0 |
GLOBAL |
PDS_PROD_INCLUDE_ITEM_ID |
Control whether item identifiers
are included in the PDS product labels or not. When set to a value of |
GLOBAL |
PDS_EXPORT_DAILY_ONORD |
Determines whether the |
SIL_RETAILINVPOSITIONFACT |
INV_FULL_LOAD_IND |
Control the Inventory
Position fact load behavior. When set to |
SIL_RETAILPOONORDERFACT |
PO_FULL_LOAD_IND |
Control the Purchase Order
fact load behavior. When set to |
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 |
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 |
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 |
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 |
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 |
The following key decisions must be made during this initial configuration phase and the proper flags updated in C_ODI_PARAM:
-
Item Number Re-Use – If you expect the same item numbers to be re-used over time to represent new items, then you must update
RI_ITEM_REUSE_IND
toY
andRI_ITEM_REUSE_AF TER_DAYS
to a value >=1. Even if you are not sure how item re-use will occur, it’s better to enable these initially and change them later as needed. -
Tax Handling – Both for historical and ongoing data, you must decide how tax will be handled in fact data (will tax amounts be included or excluded in retail values, what kind of tax calculations may be applied when extracting history data, and so on). You may or may not need any configurations updated depending on your RDE usage.
-
Full vs Incremental Positional Loads – In nightly batches, the core positional fact loads (Purchase Orders and Inventory Positions) support two methods of loading data: full snapshots and incremental updates. You must decide which of these methods you will use and set
INV_FULL_LOAD_IND
andPO_FULL_LOAD_IND
accordingly. Incremental updates are preferred, as they result in lower data volumes and faster nightly batch performance; but not all source systems support incremental extracts.
If you are using RDE to integrate with Merchandising, pay special attention to the global tax and WAC configurations, as these control complex calculations that will change how your data comes into RAP. These options should not be changed once you enable the integrations because of the impact to the daily data. For example, a large European retailer with presence in multiple VAT countries may want the following options:
-
RA_INV_WAC_IND = N
- This will dynamically calculate inventory cost using all three Merchandising cost methods instead of just using WAC -
RA_INV_TAX_IND = Y
- This will enable the removal of tax amounts from retail values so inventory and PO reporting is VAT-exclusive -
RA_SLS_TAX_IND = Y
- This will enable the removal of tax amounts from retail values so sales reporting is VAT-exclusive
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 and IPOCS-Demand
Forecasting configurations for specifying custom planning levels to be used in the integration between MFP/IPO and RI (when
RI will be used for reporting). The default parameters align with MFP/IPO default plan outputs, but if you are customizing
them 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.