Registry Settings

[To Demand Planning]

Usage

Use registry parameters to set the Demand Plan Server to function in different ways. Some of these settings can be set from setup dialogs, while others can only be changed directly in the registry. Note that these parameters are stored in registry on the computer where the Demand Plan Server is running. The default values will be written into the registry the first time the demand server is started and ended on the server PC. Note that all these registry settings MUST be changed with care. Do not change unless you are absolutely sure of the changes. The default key values are written to registry after the Demand Server has been started and closed for the first time.

Note: The default values are based on the server running on MONTHLY PERIOD VERSION. If the server is intended to run on other period versions then you should consider changing some of the values in the registry. The parameters should then be changed to:

                    The best fit search limits for the different forecast models should be changed to represent the new selected period version.  

Note: that the Demand Plan Server must not be running while you are changing the parameters.

There exists more parameters than the ones described in this document, these parameters should not be changed without discussion with an an IFS consultant.

Note that if you are running the 32 bit version of the Demand Plan Server on a 64 bit system the registry key is a little different that mention under it will be HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\IFS\ForecastServer\4.0\.. instead of HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\.. Note that there exists an 64 bit version of the Demand Plan Server if you use this you get the same registry keys as described under.

Keys

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\Applet

Used to store Applet data. This is set from the Demand Plan Server setup dialog.

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\Approval

Used to store Approval data. This is set from the Demand Plan Server setup dialog.

ApproveAfterCreateForecast: When set to 1 parts will need to be approved before they are used in IPR calculations after the cerate forecast job is ran. Default setting is 0.

AutoApprove: When set to 1 parts will need approved automatically when you select to view another part number / flow. If set to 0 you will have to manually click the thumbs up to get the part approved. Default setting is 1.

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\Backup

For Demand Plan Server internal use. This is used to manage backups, and keep track of where the most recent backup is. Do not Change.

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\Classification

Used to store limits for some of the different demand classes that the different parts are divided into. See Part Classification for details about the limits.

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\Comunication

Used to store Demand Plan Server & Demand Plan Client communication details. This is set from the Demand Plan Server setup dialog.

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\Database

Stores everything about the communication between the Demand Plan Server and the Oracle database. Most parameters are set from the Demand Plan Server setup dialog. The parameters not set in this dialog are :

InventoryValue: Used for compatibility with older IFS Applications versions e.g. IFS App 99. If left empty, the Demand Planning Server will use the INVENTORY_PART_API.Get_Inventory_Value_By_Method(CONTRACT, PART_NO) function for reading inventory values, this function was created in IFS App 2000b and newer. If you want to use some other function then type in the wanted function / field in this key. E.g. INVENTORY_PART_COST_API.Get_Total_Standard(CONTRACT, PART_NO, 1) is used to retrieve inventory value in IFS App 99. Default value is empty. This is a flexible solution that allows easier loading of different numbers into Demand Planning.  

WeightValue: Used for Flexible loading of the weight number. If left empty the Demand Planning Server will use the INVENTORY_PART_API.Get_Weight_Net(CONTRACT, PART_NO) function for reading weight values. If you want to use some other function then type in the wanted function / field in this key. E.g. INVENTORY_PART_COST_API.Some_Function(CONTRACT, PART_NO, 1) . Default value is empty.

SalesPriceValue: Used for Flexible loading of the weight number. If left empty the Demand Planning Server will use this and then read the cost set that is defined by the SalesPrice_CostingSet. If you want to use some other function then type in the wanted function / field in this key. E.g. INVENTORY_PART_COST_API.Some_Function(CONTRACT, PART_NO, 1) is used to retrieve inventory value in IFS App 99. Default value is empty.

LeadTimeValue: Used for Flexible loading of the lead time. If left empty the Demand Planning Server will use the manufacturing lead time for manufactured parts and the purchase lead time for purchased parts. If you want to use the expected lead time you can specify the function INVENTORY_PART_API.Get_Expected_LeadTime(contract, part_no) in this field. Default value is empty.

Note: None for the 4 functions above (InventoryValue, WeightValue, SalesPriceValue and LeadTimeValue) need to be prefixed with the appowner user the DP server will do this automatically.

SalesPrice_CostingSet: Used to set a cost set that will be used as sales price in Demand Planning. Simply state the cost set to be used e.g. 7. Default value is empty. Only active if SalesPriceValue is empty.

NumberOfRecordsReadInAgg-Qual: Read buffer size when aggregating and qualifying parts. default 100.

InventoryTable: Do not change!.

DescriptionValue: Do not change!.

Predecessor_SuperSedes: Default is 0. When set to 1 you will read the supersedes field on inventory part as the predecessor in Demand Planning.

Interface: Indicates if the which OCI connection DP server should use, what to use is determined by which Oracle Client that is installed on the DP Server machine. <empty> or OCCI means OCCI which is Oracle 12g and newer. OCI means earlier Oracle clients typical 11G. Default setting is OCCI/Oracle client 12.

SignOnOracleUser: Default is 1. When set to 1 Demand Planning will use the Oracle user to authenticate users from the Demand Planning Client. The user will have to have access to the view FORECAST_SERVER_SETUP in the database, to be allowed to log on to with the Demand Plan Client (Demand Plan Server Setups, screen in the IFS EE - Supply Chain Planning/Demand Planning/Basic Data/Demand Plan Server Setups).

If the Demand Plan Server is set to SignOnOracleUser = 0 then the user will only need to be defined as a Demand Plan User in the Demand Planning User Access dialog in IFS EE

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\Directories

Used to store Demand Plan Server Help files, language files and log file directory, that is set from the Demand Plan Server setup dialog.

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\ForecastModels\Best Fit

OptimizingMethod: Defines which forecast measurement that will be used to determine the best forecast model / parameter combination when running best fit / Bayesian. 0-MAE, 1-MSE. Default is 0 - MAE.

Used to store all the different limits for the best fit forecast parameter search. Note that if you are using another period version than monthly, you should consider this when changing these parameters. See Forecast Models for details. It is important to UNDERSTAND how the models work BEFORE you make any adjustments to the default values.

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\ForecastModels\Bayesian

BayesianInitPeriods: How many periods of history do the part need to have before the bayesian forecast model starts to run, Moving average (over all periods) is used as forecast model before this limit is reached. Default value is 6.    

It's possible to run the Bayesian model with fixed parameters for the moving average, AEWMA and the Browns level and trend models, the fixed parameters for these models are set in registry, if the BayesianMovingAveragePeriods is set to be negative then the best fit optimizing approach is used to find the parameters for the models.

BayesianMovingAveragePeriods: What is the moving average periods number to use in the simple moving average model when running Bayesian. When negative the parameter is optimized using the best fit algorithm, when set to negative all parameters/models of the Bayesian forecast model will be optimized. Default value is -1.    

BayesianAEWMABeta: What Beta value to use in the AEWMA model. Default value is 0.2.    

BayesianBrownAlpha: What alpha parameter to use in the Brown level and trend model. Default value is 0.2.    

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\ForecastModels\DataCleansing

CleansingMethod: 0=No data cleansing, 1=clean data according to the Standard derivation method. See Data Cleansing for details.

MSECleansingMethod: 0=No data cleansing, 1=clean data according to the Standard derivation method when computing MSE. See Data Cleansing/Forecast Accuracy for details.

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\ForecastModels\PeriodProfile

SystemProfileAlpa: Default value 0.2, alpha value used for period profile and weekly profile making, it is the smoothing constant used when adding/smoothing the new profiles to the old profile after the create forecast job is ran. The adding is a EWMA process with this alpha.

PeriodProfileDivideRange: Default value 3, tells how many periods into the future forecast that will be split up into days when applying a week or period profile. If set to 0 or less then the total forecast range will be split into days, note if you decide to split the entire range into days this will increase the memory demand and increase the Demand Plan Servers workload by approximately 3000% if we assume a monthly period and one year forecast horizon.

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\IPR

AbsoluteMaxCapacity: Defines how to treat the Max Capacity field on inventory part. When set to 1 then the Max Capacity will be treated as the Max planned max QTY for a part, when set to 0 then the Max Capacity will not be considered when computing the lost size. Default value is 0.

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\IPR\Simulation

BackOrderInterestRate: Default setting is 0.1 (10%). Used as the backorder cost (the cost for not being able to fulfill an order directly from stock) expressed as a percentage of the parts inventory cost. Used in the simulation excel sheet in IPR.

OnlyLoadSite: When specified the IPR Module will only load data for this site. Default is empty which means that it will load all sites.

SimulationBackOrders: .When set to 1 the simulation run (in the IPR excel sheet) will accumulate negative demand when the simulated inventory on hand gets below 0. When set to 0 The simulated inventory on hand stops on 0 and does not go negative. Default setting is 1 = backorders activated.

SimulationLengthYears: Defines how many years the simulation in the IPR excel sheet should last. Default is 5 = 5 years.

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\Mail

Used to store Demand Plan Server mail communication details, is set from the Demand Plan Server setup dialog.

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\SeasonProfiles

Used to store all the different limits for the automatic season profile & the Automatic season profile generation algorithm See Season Indexes for details.

HKEY_LOCAL_MACHINE\SOFTWARE\IFS\ForecastServer\4.0\Settings

DatabaseTreads_LoadIPR: Tells the Demand Plan Server how many database sessions (Treads) that it is allowed to use during the load IPR data session. Generally the more sessions the DP server is allowed to use the faster will the total job process run. NOTE: Running multiple treads come with a cost for all the other database jobs running on the Data Base server. Default is 1. Note there is no point having more threads that you have sites that should be calculated by the IPR Engine.

DatabaseTreads_Demand: Tells the Demand Plan Server how many database sessions (Treads) that it is allowed to use during the loading of Demand Planning data. Generally the more sessions the DP server is allowed to use the faster will the total job process run. NOTE: Running multiple treads come with a cost for all the other database jobs running on the Data Base server. Default is 1. Note there is no point having more threads that you have base flows in you Demand Plan setup.

DatabaseTreads_UpLoad: Tells the Demand Plan Server how many database sessions (Treads) that it is allowed to use during write back of data from the Demand Planning Server. Generally the more sessions the DP server is allowed to use the faster will the total job process run. NOTE: Running multiple treads come with a cost for all the other database jobs running on the Data Base server. Default is 1.

MaxWritebackBuffer: Tells the Demand Plan Server how many records that is the max limit for the write back buffer, to put a limit on this buffer will reduce the amount of memory needed by the Demand Plan Server. But it will increase the running times of the Demand Plan Server jobs. Default setting is 0 which means that no limit is set on this buffer.

MaxInheritanceGeneraion: Tells the Demand Plan Server how many generations to go back when inheriting history for a part with inheritance defined. Default setting is 5.

EnableJobRunner: Used to turn on and off the job execution. When 0, no scheduled jobs will be executed. If set to 1 then all scheduled jobs are executed normally. This is useful when looking at backup files from customers and when you don't want scheduled jobs to be started, so as to avoid updating the customers  database or to avoid error messages because you don't have access to the customer database. Default is 1 (TRUE).

FixedDate: Used to get the Demand Plan Server to always think it is this date regardless of the date time of the Data Base server and the system time of the machine it is running on. Nice to use to freeze the time when using demo data sets etc. Default is empty, then it will look at the UseTime variable to determine the date/time. NOTE During line operations this fields should ALWAYS be EMPTY!

Mode: Internal DP Server layout variable, should never be changed.

IPRLoadRecordCount: Internal DP Server layout variable, should never be changed.

LoadRecordCount: Internal DP Server layout variable, should never be changed.

OutlinerSmoother: Used to smooth (EWMA this is the alpha value in the model) outlier values to create an sorted outlier list. See Sort By Toolbar. Default is 0,25. Must be an value between (0 - 1.0).

LogLevel: Defines how detailed the server log file should be. 0-All messages are logged, 1-Moderate and Severe messages are logged, 2-Only severe messages are logged. Default is 1.

UseTime: TRUE or 1 if you want the server to use the Server PC time and date, FALSE or 0 if you want to use the Oracle time as time variable. Default is FALSE 0.

LoadInventoryHistory: TRUE or 1 if you want the server to load historical transactions when running IPR. This will historical data will turn up in the IPR Excel sheet. Default is FALSE 0.

LeadTimeMethod: Tells how the server should treat the parts lead time. The lead time can determine when you start saving the parts historical forecast, so that the forecast error measures (MAE, MAPE...) are measured how well you forecast the parts demand one lead time into the future instead of measuring the next forecast period only.

 Default is value 0. This setting also reflects how the periodical lead time is computed and in turn how the explanation forecast is computed, thus how the best fit / parameter optimizers will work.

TraceLevel: For IFS Internal use only. Used to give out different performance measures. DO NOT CHANGE!

Trace: For IFS Internal use only. Used to give out different performance measures. DO NOT CHANGE!

FlowToRead: Default empty. Normally only used for Debugging/Development purposes. Will only read in the defined flows, you define the list comma separated. Only base flows, use with care on combined flows.