EIS - Frequently Asked Questions
This page contains answers for Frequently Asked Questions and good-to-know materials.
What is the difference between EIS, EIO and SmartOps?
SmartOps was a Supply Chain software company purchased by SAP in 2013. SmartOps was a partner with SAP prior to the acquisition whose main product was referred to as MIPO (Multi-stage Inventory Planning and Optimization). Under the partnership with SAP the software was referred to as EIO (Enterprise Inventory Optimization).
EIS stands for Enterprise Inventory and Service-level Optimization and is the name given to the software with its first release under the SAP brand. Therefore, you may see EIS and EIO used interchangeably.
What Netweaver Usage Types do I need to install when installing Netweaver for EIS?
All that is required from Netweaver for EIS to be deployed and run on it is a basic Java stack. This translates to the following 'Usage Types'. See the following screen capture for an example.
- NW-MODEL (Description = "NW Product Description")
- BASIC (Description = "Application Server Java")
How do I make a license request for Enterprise Inventory and Service-Level Optimization (EIS)?
License requests for EIS 6.10+ are made via the Service Marketplace or via the updated Support Portal. First, make sure you have requested and applied the permanent license for Netweaver. Use the Installation number from that initial Netweaver license to request the EIS license. Select 'SAP NetWeaver' as the Product and then in the License Type field you will select 'Enterprise Inventory and Service Level Optimization'. Apply this license to the Netweaver installation just as you did the Netweaver license (via Netweaver Administrator).
In the event that the license has expired for an older version of SmartOps or EIO (version < 6.10), you will need to submit an incident via the Marketplace so Support can issue you a new license. It would be of great help if you could attach your existing (or expired) license to the incident.
What does the message - The Portal selected is not licensed - mean when trying to login?
If you are trying to login to the EIO application (any version before 6.10) and you see the message "The Portal selected is not licensed", this is most likely because your existing license has expired. For versions of the application prior to 6.10 the licensing was handled separately so in order to get an updated license Support has to generate a new license file. Please submit an incident through the Support Portal and if at all possible, please attach your existing expired license. The license file is named 'license.txt' and would be within the SmartOps directory if you are searching for it.
With Netweaver, can I run EIS with more than one (1) Java instance?
It is a requirement that only one Java server instance (server0, for example) can be assigned to the Netweaver instance that EIS is deployed on. The EIS application is not architected to function with more than one Java server instance. Doing so doesn't corrupt the EIS database but the application won't function properly. If you inadvertantly configure the Netweaver instance for more than one Java server process simply remove the extra ones and restart Netweaver.
With Netweaver, can I install/deploy multiple EIS environments on one Netweaver instance?
You can not deploy more than one version of EIS on a single Netweaver instance. The primary reason is with how the application is deployed in Netweaver. When you deploy EIS it's application name is SmartOps, such that when you access it via the web browser you access it with the syntax: http://servername:5xy00/SmartOps , where xy is the Netweaver instance number (00 or 01, for example). For a given Netweaver instance the xy value is fixed and can't be changed, you also can't change the EIS application name. So deploying EIS a second time wouldn't provide you with anything unique (would always be 'servername:5xy00/SmartOps'), plus I think if you try and deploy and an app already exists the deployment likely would fail.
Are their compatibility issues between EIS and Internet Explorer?
There are some issues with compatibility between EIS and Interet Explorer and the Release Notes for each version of EIS best describe the supported versions. Below is a quick summary of the more common versions of IE and the EIS versions they are supported on:
|Internet Explorer version||EIS Supported version|
|IE 7 and 8||all EIS versions|
|IE 9||6.8 and up|
|IE 10 (Compatibility mode only)||6.10|
|IE 11 (Compatibility mode only)|
See the following Wiki article on how you can switch to an earlier version of IE without installing a different version.
Is Oracle 12 a supported database for EIS?
Oracle 188.8.131.52.0 is supported by EIS 6.10 SP2. Previous EIS releases do not support Oracle 12 however. The supported versions of Oracle are 184.108.40.206.0, 220.127.116.11, 18.104.22.168, 22.214.171.124, 10.2.0.4 and 10.2.0.3. Note that with Oracle 12, the SID must be specified in the tnsnames.ora file. This is the only change required when upgrading from Oracle 11. As always, refer to the current Release Notes and Installation Guide at the SAP EIS Help Portal. The 6.10 SP2 release notes contain an example of the tnsnames entry with a SID included.
How viewing alerts works when users are assigned or associated to a scenario?
By default, only the owner of a supply chain at the time of loading can access the supply chain, including viewing any alerts generated. Other users can be given access to a supply chain either at the time of loading via the ScenarioAssociationProcessor or any other time by an admin user through Scenario Access Control. The results differ depending on the method used and how the user was originally created.
This is a processor which can be included in the PSS.dat file in an SGLT or in one of the processor settings tables (STG_PROCESSOR_SETTING or STG_PERSISTENT_PROC_SETTING [6.8+]) Format of the PSS.dat is:
So if a user is associated with a supply chain (scenario) at the time of loading with the processor, that user will have full access to the scenario and will be able to view all alerts generated.
Scenario Access Control
A user who is an Admin can give access to a scenario through the User Settings menu.
- Select the user whom you want to give access to, then click the 'User Privileges' tab and select 'Scenario Access Control' from the drop-down menu.
- Then select the appropriate check boxes next to the scenarios the user doesn't have access to.
If a user is given access by this method, the user DOES NOT gain access to the alerts that have already been generated for the given scenario but can view/modify the scenario and would have access to the alerts generated thereafter.
If a user is created as a duplicate from another user, the new user automatically gets access to all of the past scenarios that were loaded/owned by that original user. However, the new user will not be able to see the alerts generated in the past for those past scenarios, only in those scenarios where they are given association through the ScenarioAssociationProcessor.
How to create a new EIS user with profile
Here are the specific actions for creating a new EIS (MIPO) user with an associated profile:
- Create the user account
- Settings > User Settings > TASKS > Create
- Fill in the User Info data and press OK
- Message: "User account created."
- Add a profile to the user account
- Click on the User Profiles tab
- Press ADD to open the profile selector window
- Choose a profile and press OK to close the selector
- Press OK (bottom right corner of window) to save the change
- Message: "User account saved"
If your version of EIS is at 6.8 or higher, you're done. The new user can now log in.
If your version of EIS is before 6.8, there is one extra step to perform:
+1 Reset the profile to apply the privileges to the new user
- Click on the profile name
- Press RESET
- Messages: "User reset to profile", "User account saved"
Application Blocked by Security Settings error when trying to view the Netviz network diagram in EIS
> Last updated Monday, April 7, 2015
If you receive the pop-up message "Application Blocked by Security Settings" when trying to view the Network (Netviz) Diagram in EIS this is most likely because you have version 1.7.0_45 or newer of the Java Runtime Environment (JRE) installed. Apparently some changes were made starting in version 1.7.0_45 that blocks applets from running that are either 1) not signed or 2) are self-signed or are missing a specific Permission attribute in the Jar file. You an see more information available in this link posted on the java.com website.
There are a couple of work arounds that can be helpful.
- If possible, uninstall the version of the JRE that is causing the problem and install a version older than 1.7.0_45.
- If you can't install an older version and are running a version between 1.7.0_45 and 1.8.0_20, you can reduce the Security Level across the board. Open your Java Control Panel (Start > Control Panel > Java) and select the 'Security' tab. Reduce the security requirements by lowering the slider to Medium and Click 'OK' or 'Apply' and then 'OK'.
- If you can't install an older version of the JRE AND you don't want to or can't lower the overall security setting AND you have 1.7.0_51 or newer installed, you can use the "Exception Site List" feature on the 'Security' tab.
- Click the 'Edit Site List...' button on the 'Security' tab
- Click the 'Add' button, you should see a new line appear with a red exclamation point. Place the cursor in the Location field and type in the url of the server where EIS is running. If the URL you use to access EIS is http://server.name.com/SmartOps, you would enter the text 'http://server.name.com"
- Then click 'OK'.
- You will have to close any open Internet Explorer browsers if any were open.
- You will still be prompted with a Security Warning, click 'Run' in that pop-up.
This can affect any version of EIS up to 6.10.
I get a message that STG_FORECAST_DATE is outside the data horizon. What does this mean and what is the impact?
In the Gateway data loading process, forecast data is rejected if it is outside of the data horizon. Rows of forecast data are being supplied to the processing of loadsets via one of several forecast tables, but are rejected because they are outside the range of valid dates. In other words, EIS ignores that forecast data and only considers the forecast data that falls within the valid date range.
On a more technical level, your forecast data can be in one of the following staging tables in the Gateway schema: STG_FORECAST, STG_EXTERNAL_DEMAND or STG_PERSISTENT_FORECAST (in that order). The PERIOD_DATE from some data in these tables is not within a valid date range. The system determines a valid date range by querying the STG_VALID_DATES table for the minimum VALID_DATE and the maximum VALID_DATE. The PERIOD_DATE must be greater than or equal to the minimum date and less than or equal to the maximum valid dates, or the forecast data is rejected.
The only impact in this situation is that the system is attempting to process data that it is eventually rejecting, leading to unnecessary processing. This could be noticeable in the time that it takes to create the topology of the supply chain. We suggest that you reduce the number of rejects in your data, regardless of the cause of the rejections.
Why is Backlog Safety Stock higher than Unshifted Safety Stock?
Backlog Safety Stock is the IOU from the upstream node in say, period 1, representing supply uncertainty in that period.
The expected safety stock AVAILABLE in a period 1 is represented by the Safety Stock value in period 1. This value is always equal to or higher than Backlog Safety Stock in that same period. This can also be referred to as Shifted Safety Stock". This safety stock covers both the backlog and possibly some downstream uncertainty.
Unshifted Safety Stock is a planned safety stock for a FUTURE period, taking into account Lead Time. Unshifted Safety Stock should be ordered in period 1 so it is available Lead Time (LT) later, where it will appear as shifted safety stock, or Safety Stock.
So, using different language: We should compare Backlog Safety Stock in a period to the Safety Stock (NOT Unshifted Safety Stock) value in the same period. The Backlog Safety Stock is a part of safety stock which is always less than or equal to the safety stock value and is to hedge against the upstream service variability and supply variability only, while safety stock covers all sources of variability.
How is MAD (Mean Absolute Deviation) and MAPE (Mean Absolute Percent Error) calculated in EIS?
First, both MAD and MAPE are values that you can view in the Demand Intelligence Module (DIM) Demand Processor Report.
How MAD is calculated:
- Determine the bias adjusted forecast for each period. This is the forecast value * (1 - bias). Bias can be seen in the Demand Processor Report in DIM. This also assumes that the DIM setting 'Adjust for Positive' bias is used, which is the default setting.
- Take the absolute value of (bias adjusted foreast - actual sales) for each period. This is the absolute error.
- Get the average of the absolute error (sum of absolute error for each period divided by # of periods). Note: when summing absolute error for each period, DO NOT include periods with outliers. Also, exclude outliers when counting # of periods.
To verify CV using MAD, use the following formula:
- CV = 1.25 x ( MAD / MAX [AVG(Forecast) or AVG(Sales)] )
How MAPE is calculated: it is difficult to calculate MAPE manually and get it to match the value calculated in EIS due to defaults used in the application. The following steps will get you close:
- Determine the Percentage of Absolute Error (PAE). This is the Absolute Error (found in step 2 of the MAD calculation above) divided by the forecast.
- Get the average Percentage of Absolute Error, excluding outliers: sum the PAE found in step 1 for each period and divide by # periods. DO NOT include outliers in the sum of PAE or in the count of # of periods.
Please note that when the forecast is 0, a default value is used for the Percentage of Absolute Error because division by 0 is impossible. The calculation for PAE in this case is CV Cap divided by 1.25 (CV Cap / 1.25). By default, CV Cap is 3 but realize it can be changed.
Please also note that the results of the calculations can vary based on implementation. This is meant to be used as a guidline, but there is no guarantee that the above calculations will produce results that are an exact match to the MAD and MAPE values in DIM.
Why are the forecasts in the Demand Processor report blank for some periods (concept of Fixed Lag in EIS)?
If you are looking at the Demand Processor report in EIS and you notice that there are forecast values for some periods that are null or blank and you know that you provided forecasts in your input data, then why are they blank? The answer is due to your lag settings.
Let's say that your fixed lag value is 8. By specifying that value you are indicating that the system should use the forecast from 8 revision periods ago. For example, the forecast for period 10/29/13 must come from a revision period of 9/3/13 which is 8 periods ago (assuming your periods are weeks). If 9/3/13 exists as a revision period in the database and there is a forecast for 10/29/13 then this is the forecast value that will be used. However, if no forecast was provided for 10/29/13 with a revision period of 9/3/13 then the forecast is blank (or null).
Now consider the situation where a revision period of 9/3/13 doesn't exist. In this situation, the system will look to the previous revision period, 8/27/13, and if records exist for that revision period and a forecast exists for 10/29/13 then it will use that value. If no records exist for the next revision period then the system will continue to look backwards to see if it can find any.
- if a revision period exists for your specified lag, the forecast from that revision will be used.
- if the revision period exists but no forecast was specified for the item for that forecast date, then the forecast will be blank.
- if the revision period does not exist, the forecast from the previous revision period will be used, if found.
- EIS will only search further into the past for every period looking for a valid revision period.
- EIS will not look at a period that would be a lag equal to or greater than the MAXIMUM LAG specified in your Processor Settings. For example, if a revision period would produce a Lag of 12 and the value of MAXIMUM LAG is 12, and no other forecast is found for the period, then the forecast will be blank.
Do I need to setup jobs to gather statistics on the database where the EIS schemas are installed?
There is no need to setup separate jobs to gather statistics on the EIS schemas. Statistics are gathered at the schema level, as well as the table level, at various times during the process of loading a model (supply chain). These standard occurrences of statistics gathering are normally enough to keep the database performing efficiently.
You can gather statistics separately but do not gather statistics on the SOPS_DLASM schema. If you do gather statistics on that schema, you will get errors similar to the following. This occurs because those dat files refer to external directory objects that would only exist when loading the older file formats (known as the SDLT).
KUP-04040: file SPL.DAT in DLOADER_DATA_DIR not found
In addition, this is a legacy schema that really isn't used anymore.
Do Netweaver and EIS require seperate databases?
If Netweaver is installed with its own Oracle database, EIS can be run on the same database or on its own Oracle database. EIS requires an Oracle database but Netweaver can be run on any of its supported databases that you are licensed for. Keep in mind that Netweaver requires a 3 character database name (3 characters only).
Are older versions of EIS (SmartOps) supported on newer versions of operating systems?
Product Support pretty routinely is asked questions about the supportability of older versions of EIS (i.e. SmartOps) on versions of operating systems that are newer than what they were originally tested and supported on. For example, is SmartOps 6.8.x supported on RedHat Linux 6.8?
Versions of EIS older than 6.10 are no longer under Mainstream Maintenance as of the end of 2015, and as such have not been and will not be tested on operating systems and application server or Java versions that are newer than what was listed in the original documentation. That being said, the question of whether SmartOps is supported on newer operating systems is more of a question of whether the application server (Tomcat, WebLogic, etc) you are running SmartOps on is supported on the newer operating system.
At this point we are not aware of any issues with SmartOps 6.8.x or 6.9.x running with newer versions of Unix or Windows. However, there are no guarantees on the workability of SmartOps versions before 6.10 on operating systems they were not originally supported on.
See the following link for more information on Maintenance Phases.