Demand Planning (DEMAND)¶
This document describes how to set up your Demand Plan Server and Client, and how to prepare your system for a successful installation.
Demand Plan Client¶
The Demand Plan Client is a single-page application (SPA) deployed in the same ifsapp-demand-planner container as the Demand Plan Server. It is not deployed in the ifsappsvc container.
Installation Location¶
Demand Plan Server
Demand Plan Server is installed with the other IFS Cloud middle-tier containers. A separate Windows installation package or virtual machine is not required. The ifsapp-demand-planner container always runs with a maximum of 1 replica.
Prerequisites for Demand Plan Server¶
The Demand Plan/IPR Server (DP Server) is containerized and is installed with the other IFS Cloud middle-tier containers.
Certain systems and configurations must exist on your system before you install IFS Demand Planning.
The database that Demand Planning will run against must already be set up, and your site with data (transactions and inventory parts) must exist in the database.
You can run the Demand Plan Server with the Appowner user, or you can use the Demand Plan Server user (DemandServer). Make sure that the user is granted access to all tables and views needed. To do this, either use the scripts included in DEMAND (
POST_Demand_DemandServerUser.sql) or use the scheduled task "Set Demand Plan Server User Grants". If you are using the Demand Plan Server user, ensure that the user is in the Active state.
Demand Plan Server Oracle user privileges¶
To run the Demand Plan Server, the DEMANDSERVER Oracle user must be active, and you must set the same password for this user as the password used in the secrets during installation of Demand Plan Server. You can change the password and activate the user from IFS Cloud Solution Manager > Users. Click Set Password to change the password. To activate a user, click Edit and turn on the activate toggle in the Activation section.
Historical Data Files¶
Daily aggregated demand is stored in data files on a persistent volume for fast access. In the pod, the files are stored in /opt/ifs/runtime/ForecastServer. That path is mounted on persistent storage so the data survives a pod crash.
Demand Plan Server Metrics URL¶
The Demand Plan Server metrics endpoint follows Prometheus standards and can be viewed in a Grafana dashboard.
A successful metrics response is returned in Prometheus exposition format:
# HELP application_uptime_seconds The uptime of the application in seconds.
# TYPE application_uptime_seconds gauge
application_uptime_seconds 11783
# HELP http_requests_total Total number of HTTP requests received.
# TYPE http_requests_total counter
http_requests_total{method="GET",status="200"} 1183
http_requests_total{method="GET",status="400"} 1
# HELP http_request_duration_seconds The duration of HTTP requests in seconds.
# TYPE http_request_duration_seconds histogram
http_request_duration_seconds_bucket{le="0.005"} 1184
http_request_duration_seconds_bucket{le="0.01"} 1184
http_request_duration_seconds_bucket{le="0.025"} 1184
http_request_duration_seconds_bucket{le="0.05"} 1184
http_request_duration_seconds_bucket{le="0.1"} 1184
http_request_duration_seconds_bucket{le="0.25"} 1184
http_request_duration_seconds_bucket{le="0.5"} 1184
http_request_duration_seconds_bucket{le="1"} 1184
http_request_duration_seconds_bucket{le="+Inf"} 1184
http_request_duration_seconds_sum 0.006259083
http_request_duration_seconds_count 1184
# HELP cpu_usage_ratio CPU usage as a ratio from 0.0 to 1.0.
# TYPE cpu_usage_ratio gauge
cpu_usage_ratio 0.013137517
# HELP process_resident_memory_bytes Resident memory size in bytes.
# TYPE process_resident_memory_bytes gauge
process_resident_memory_bytes 63152128
# HELP process_threads Number of OS threads in the process.
# TYPE process_threads gauge
process_threads 6
Demand Release Artifacts and Versioning¶
The following versioning practice is used for Demand Plan artifact releases. The version is increased only when the corresponding artifact changes in a service update. The version denotes the latest service update in which the artifact changed.
| IFS Cloud Version | 21.1E.0.0 | 21.1E.1.0 | 21.1.0.0 | 21.1.1.0 | 21.1.2.0 | 21.1.2.0 | 21.1.2.0 | 21.2E.0.0 |
|---|---|---|---|---|---|---|---|---|
| Demand Client Version | 21.1E.0.0 | 21.1E.0.0 | 21.1E.0.0 | 21.1.1.0 | 21.1.1.0 | 21.1.1.0 | 21.1.1.0 | 21.2E.0.0 |
Permission Sets¶
The following permission sets are available for Demand Planning.
| Permission Set | Description |
|---|---|
| DEMAND_SUPER | This permission set has access to everything, the only user that can execute manual jobs in the Demand Plan Server from the Dashboard. Only user to create new user and edit access rights for the main Demand Plan Client. |
| DEMAND_GENERAL | The permission set has access to everything apart from the basic data set up. The user will be able to add and delete new forecast parts, publish forecast parts to DEMAND_FORECAST users, look at the finished forecasts. The user cannot create/delete/edit base or combined flows or do anything to the Demand Plan Server Setup but can view the Dashboard without being able to execute any jobs on the Demand Plan Server |
| DEMAND_FORECAST | This permission set has access only to the Demand Forecast Client. Will only be able to look, and evaluate the forecast published to the user in the Demand Forecast Client. |
| IPR_SUPER | This is a permission set has access to everything IPR related. Like the IPR Supply Plan, Manage IPR Supply Plan, Analyze Demand Derivation, Refresh Inventory Part Unit Cost Snapshot, IPR Planning Details for Inventory Parts, Planning Hierarchy Basic Data, the IPR Excel Sheet menu on Inventory Part Planning. |
After an upgrade¶
After an upgrade, connect the Demand Plan Server setup the first time. By default, the system does not pick up a server setup.
Manual Actions¶
This section contains information related to manual actions for IFS Demand Planner that might need to be executed during an upgrade or installation.
| Action Description | Functional Conditions for Execution | Technical Dependencies | Consequences (of not executing) | Steps | Step execution |
|---|---|---|---|---|---|
| To run the Demand Plan Server, the Demand Planner service user should be in Active and Unlocked state. Therefore, use this manual action to set the Demand Planner service user as an Active user, to change the password, or to unlock the Demand Planner service user. | Only applicable if Demand Server is used and the Demand Planner service user is Locked or Inactive. | No | If the Demand Planner service user is locked or inactive, this user cannot be used to run Demand Plan Server. | In IFS Cloud Solution Manager, open Users and find the Demand Planner service user (DEMANDSERVER). Set the user to Active and unlocked, and set the password to match the secret used when the Demand Plan Server container was installed. Click Set Password to change the password. To activate a user, click Edit and turn on the activate toggle in the Activation section. | Post - Anytime |
| After an upgrade, connect the Demand Plan Server setup. By default, the upgraded server does not pick up a server setup. | Applicable the first time after an upgrade when Demand Plan Server is used. | No | If the server setup is not connected, Demand Plan Server will not use an existing setup. | After the upgrade, open Demand Plan Server Setup and connect the server. Do this the first time after the upgrade. The server setup is not selected automatically. | Post - After upgrade |