Define Advance Server Settings

Explanation

Usage

Use Advance Server Settings to set the Demand Plan Server to function in different ways. Some of these settings can be set from setup dialogs or the configuration file located in the Demand Server installation folder, while others can only be changed directly in the Advance Server Settings which can be found in Demand Plan Server page. The default values will be written into the list the first time the demand server is started. Note that all these entries MUST be changed with care. Do not change unless you are absolutely sure of the changes. The default entry values are written to server settings when the Demand Server has been started 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 server settings. 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:

ForecastModels\BestFit

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

ForecastModels\Bayesian

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. See Forecast Models for details.

ForecastModels\RuleBased

The Rule based forecast model will normally need to be configured to fit each customers needs, if it is intended to be used.
There exists more parameters than the ones described in this document, these parameters should not be changed without discussion with an IFS consultant.  See Forecast Models for details.

Approval

Used to store Approval data.

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.

Backup

For Demand Plan Server internal use. This is used to manage backups, and keep track of where the most recent backup is. Please check with an IFS Consultant before modifying this.

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.

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

Communication

Used to store Demand Plan Server & Demand Plan Client communication details.

Lisener: Port number from the setup dialog, used for communication. Default setting is 5010. Used in old direct DP-Server <-> DP Client communication

Port: Used for Debugging, Please check with an IFS Consultant before modifying this..

Server: The name/IP of the web server, should be the same as the machine the Demand Plan Server is running on.  Used in old direct DP-Server <-> DP Client communication

ServerID: The server id to read from the database.

OverwriteServer: Used in cloud environments when the Demand Server Installation machine has a different public name or IP address when accessing from outside. One 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 demand functionality 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

Database

Stores everything about the communication between the Demand Plan Server and the Oracle database. Most parameters are set during the installation or through the configuration file. The parameters not set in on those occasions are :

DescriptionValue: Which function should be used to fetch the parts description.  Please check with an IFS Consultant before modifying this.

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.  Please check with an IFS Consultant before modifying this.

InventoryValue: Used for compatibility with older IFS Cloud versions e.g. IFS App 9. 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. If you want to use some other function then type in the wanted function / field in this entry. E.g. INVENTORY_PART_COST_API.Get_Total_Standard(CONTRACT, PART_NO, 1) . 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 1000.

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 entry. E.g. INVENTORY_PART_COST_API.Some_Function(CONTRACT, PART_NO, 1) . 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 User Demand Access Page.

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.

Directories

Used to store Demand Plan Server Help files, language files and log file directory, that is initially set during the Demand Plan Server installation. This can be configured in settings.json file as well.

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 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 Advance Server Settings, 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.    

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.

ForecastModels/RuleBased

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.
 

ForecastModels\DataCleansing

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.

ForecastModels\PeriodProfile

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.

ForecastModels\Holiday

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.

IPR

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:  Please check with an IFS Consultant before modifying this.

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.

IPR\RefreshIPRData

FilterQtyOnHandByLasModifiedDate: Please check with an IFS Consultant before modifying this.

Note:- The values used in IFS Aurena client will be used for the Refresh IPR job in the Demand Plan Server.

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.

QualifyDlg

In: Used to store the value in the Qualify parts dialog. Please check with an IFS Consultant before modifying this.

Out: Used to store the value in the Qualify parts dialog. Please check with an IFS Consultant before modifying this.

Periods: Used to store the value in the Qualify parts dialog. Please check with an IFS Consultant before modifying this.

SeasonProfiles

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

MinHistLimitSystemSeasonProfile: 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.

Settings

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.

DatabaseThreadsDemand: 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.

DatabaseThreadsLoadIPR: 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.

DatabaseThreadsUpLoad: 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.

MaxInheritanceGenerations: 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. Please check with an IFS Consultant before modifying this.

TraceLevel: For IFS Internal use only. Used to give out different performance measures. DPlease check with an IFS Consultant before modifying this.

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.

SoldOutDays

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

MachineLearning

BackupDailyAdjusted: When set to 1 (On) there will be daily backup of daily adjustments done for Machine Learning Forecast received in parts having ML Weather as the forecast model. By default this will be 1 (on). This backup is done to collect data for accuracy measurements.

SendAllForecastParts:  When set to 1 (On) regardless of the forecast model selected, all parts in the flow (location provided) will be sent for Machine Learning weather based predictions.

Prerequisites

Demand Plan server should be running or ran at least once.

System Effects

Depends on the changes Demand Plan Server will er act accordingly.