Use Registry Parameters and Advance Server Settings 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 or Demand Plan Server Settings page on Aurena. Note that these parameters are stored in database or in the registry on the computer where the Demand Plan Server is running. All Demand Plan Server setting entries except Database, Communication and Directories are stored in database. The default values will be written into either registry or to the database the first time the demand server is started and ended. Note that all these settings MUST be changed with care. Do not change unless you are absolutely sure of the changes.
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 be in line with how the models should work in addition to the new period version:
It might be that regardless of the period version ran it might be that you want to change how the forecast models work to tune the system to better fit the environment its intended to run it. The most relevant sections to change are these:
The best fit search limits for the different forecast models should be changed to represent the new selected period version.
With setting the parameters on the forecast models that makes up the Bayesian forecast model you can get it to be more predictable than running with the best if optimizing of the parameters and the model will also run faster.
The Rule based forecast model will normally need to be configured to fit each customers needs, if it is intended to be used.
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.
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.
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.
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.
RunForecastAlso: When set to true (1) then the Demand Plan Server will run the forecast model on the parts when performing a classification. Default setting is false (0).
Used to store Demand Plan Server & Demand Plan Client communication details. This is set from the Demand Plan Server setup dialog.
DevelopmentMode: Used only for Development, do not touch.
EncryptionKey: Used for Debugging, do not touch.
Lisener: Port number from the setup dialog, used for communication. Default setting is 5010.
Port: Used for Debugging, do not touch.
RunningIPR: Determines what modus the server should run in.
SecurityPackage: Do not touch.
Server: The name/IP of the web server, should be the same as the machine the Demand Plan Server is running on.
ServerID: The server id to read from the database.
ServicePrincipalName: Do not touch.
OverwriteServer: Used in cloud environments when the IEE features like the DP Server Dashboard, Demand Forecast Client and the IPR right menu selection of the DP/IPR server does not work. Another clue is that the host string in the DP Server Dashboard is not displaying the full name of the machine the DP Server is running on. To get the IEE features to work you should type in the full address of the machine where the DP Server machine is running e.g 145.168.0.1 or dpserver.cloud.net.com
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 :
DescriptionValue: Which function should be used to fetch the parts description. Do not change!.
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.
InventoryTable: Which table/view should be used to read inventory part values. Do not change!.
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.
IPRRouteIDTable: Used for Flexible loading of route information to the IPR Server. Default value is FORWARD_DELIVERY_SCHEDULE_TAB.
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.
NumberOfRecordsReadInAgg-Qual: Read buffer size when aggregating and qualifying parts. default 100.
Predecessor_SuperSedes: Default is 0. When set to 1 you will read the supersedes field on inventory part as the predecessor in Demand Planning.
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.
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.
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
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.
Note: None for the 4 functions above (InventoryValue, WeightValue, SalesPriceValue, LeadTimeValue and IPRRouteIDTable) does not need to be prefixed with the appowner user the DP server will do this automatically.
Used to store Demand Plan Server Help files, language files and log file directory, that is set from the Demand Plan Server setup dialog.
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 is 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 (all of them).
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.
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.
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 12.
BayesianAEWMABeta: What Beta and Alpha value to use in the AEWMA model. Default value is 0.2. (Both the Alpha and Beta value in the AEWMA model will be set to this value).
BayesianBrownAlpha: What alpha parameter to use in the Brown level and trend model. Default value is 0.2.
MovingAveragePeriods: What is the moving average periods number to use in the simple moving average model when running Rule based. When negative the parameter is optimized using the moving average algorithm, when set to negative all parameters/models of the moving average forecast model will be optimized. Default value is 6.
Period_Start_Bayesian: This allows you to define how many historical data periods the part needs to have before the Bayesian runs under Rule based model. Default value is 6.
Period_Start_Moving _Average: This allows you to define how many historical data periods the part needs to have before the Moving Average runs under Rule based model. Default value is 3.
Before the Period_Start_Moving_Average number of periods is reached the
Manual Forecast Model is ran.
CleansingMethod: 0=No data cleansing, 1=clean data according to the Standard derivation method. See Data Cleansing for details. Default setting is 1.
MSECleansingMethod: 0=No data cleansing, 1=clean data according to the Standard derivation method when computing MSE. See Data Cleansing/Forecast Accuracy for details. Default setting is 1.
SystemProfileAlpa: Default value 0.2, alpha value used for creating system period profile and system weekly profile making. This is the smoothing constant used when adding/smoothing the new period/weekly sales profile 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.
AlphaDayQty: Default value 0.01, alpha value used for creating the 'normal' daily sales that is used as the sales qty for what the sales would have been if the holiday did not occur. This daily qty is used to compute the holiday indexes for each day within the holiday.
AlphaHolidayIndex: Default value 0,45, alpha value used when smoothing the holiday indexes.
see Movable Holiday for details.
CalculateFutureOrders: Defines if future IPR orders are calculated or not. When set to 1 then IPR will compute forecasted future orders out of IPR, it will compute future orders in the FutureSimulationRange number of days.When set to 0 no IPR future ordres will be computed. Default value is 1.
FutureSimulationRange: Defines the number of days to compute future IPR orders in, IPR will compute all orders that is forecasted to be generated in the number of days stated here for all parts with planning method B it the CalculateFutureOrders parameter is set to 1. Default value is 365.
OnlyMethodBParts: Defines if you should only load planning method B parts into IPR, if set to 1 then IPR will only load planning method B parts, when set to 0 it loads parts with planning method A, D, E, F, G and M as well. Default setting is 0.
LogFile: Do not change!
SkipApprove: When set to 1 IPR will compute the IPR results regardless if the forecast is approved or not during the Refresh IPR job for example, if set to 0 the forecast of the part will need to be approved before IPR will compute new results. Default setting is 0.
FilterQtyOnHandByLasModifiedDate: Do not change!
Note:- The values used in the IFS enterprise explore
will be used for the Refresh IPR job in the Demand Plan Server.
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.
In: Used to store the value in the Qualify parts dialog. Do not touch.
Out: Used to store the value in the Qualify parts dialog. Do not touch.
Periods: Used to store the value in the Qualify parts dialog. Do not touch.
Used to store all the different limits for the automatic season profile & the Automatic season profile generation algorithm See Season Indexes for details.
MinHistLimmitSystemSeasonProfile: Parts with less historical length than this will not get the seasonal pattern removed from the history. Default setting is 0, e.g.. all parts get the seasonality removed from history always.
AssertLimit: The max number of assets displayed in the error logs and Demand Plan Server status screen. Default setting is 5.
CalculationThreads: Number of threads used when applying inheritance rules. Default setting is 8.
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_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_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.
DbBufferSize: The buffer size of each block written/updated in the Oracle database. Default setting is empty, which means 1000.
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). NOTE During line operations this fields should ALWAYS be EMPTY!
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!
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. NOTE During line operations this fields should ALWAYS be EMPTY!
IPRLoadRecordCount: Internal DP Server layout variable, should never be changed.
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.
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.
LoadRecordCount: Internal DP Server layout variable, should never be changed.
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.
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.
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.
Mode: 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).
Trace: For IFS Internal use only. Used to give out different performance measures. DO NOT CHANGE!
TraceLevel: For IFS Internal use only. Used to give out different performance measures. DO NOT CHANGE!
TimeshiftCreateForecast: Number of hours added to the SYSDATE, when running the Create Forecast Job, this allows to possibility to schedule the create forecast job weekly on Sunday evening but the create forecast job will still se it as Monday morning. For example TimeShiftCreateForecast is set to 12. And the Create Forecast job is scheduled to 19:00 Sunday January 5th. The Create Forecast job will then run thinking the date is January 6th at 07:00 (Sunday 5th 19:00 + 12 hours). Default Setting is 0/empty. Should be used with caution, make sure that the total sales in the current period (the period that will be aggregated) is present in the base flow table/views being used at the time the Create Forecast job is ran. Since the historical data used for this period will be the data read on the execution time of the Create Forecast Job.
TimeshiftIPR: Number of hours added to SYSDATE, when running the Refresh IPR Data job, allows the allows to possibility to schedule the refresh IPR data job daily on Sunday evening but The Refresh IPR Data job will still se it as Monday morning, creating the right delivery route schedule. For example TimeShiftCreateForecast is set to 12. And the Refresh IPR Data job is scheduled to 19:00 Sunday January 5th. The Refresh IPR Data job will then run thinking the date is January 6th at 07:00 (Sunday 5th 19:00 + 12 hours). Default setting is 0/empty. Should be used with caution, the dynamic coverage model will not compute correctly if you have any data that is arriving between the time from running the Refresh IPR job and the TimeshiftIPR number of hours into the future.
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.
QtyLostCalculationSource: When set to 0, the System Forecast will be used for Quantity Lost calculation where as for other values Adjusted Forecast will be used. The default value is set to 0.