2023 Q2 Release Notes
2023 Q2 Release Notes
Release Notes
2023 Q2 Release Notes
www.o9solutions.com
Table of Contents
About the Document 6
Intended Audience 6
About the o9 Platform 7
Enhancements to the o9 Platform 7
General 8
Deprecation (Features Removed in 2023 Q2 Release) 8
Web UI 9
Interactive Gantt Chart 9
Favorites 9
Select Time View 10
Pivot/Grid 12
Column Filter for MDP & Measures When Subtotal is Enabled 12
Multi Criteria for Pre-filter in Scenario Comparison 17
Filter & Measure Control from Action Button 20
Hyperlink in Pivot Table 25
Filter Selection Retained in Grid View of Scope Filters 35
Download Pivot Datetime Data in Local Time Zone 39
Client Side Pivot Download 42
Range Selection for Time Attributes Using the Calendar Date Picker 65
Member Search Enhancement in Scope Filter 72
Reorder View Filter & Display Exact Order 76
Custom Sort Enhanced 79
Clear Filter Functionality 83
KPI Widget: Navigation Links 86
Shipment Tracker Widget 91
Heat Map Widget 104
Deployment Workspace 110
Create Backup Dialog Box UX Revamped 110
Block Delete/Restore Action When Backup is in Progress 111
Use the Delete Data and Uninstall Option & Delete Data Folder 112
Factored Restore 113
Last Action Status Tab Appears in Manage Collab & Manage Backups View 115
Last Action Status Tab Auto Refresh 117
Confirmation Box Appears Before Tenant Data Deletion Activity 119
Active Queries Tab Introduced 131
User Management Workspace 132
Download Column Filtered Data 132
Add & Remove User Roles in UI 134
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
2
Tenant Workspace: Color Changed to Black (#111111) 138
Mass Config 139
Copy Reports 139
Delete Reports 141
Favorites Including Factory Setting Must Include Newly Added Members 142
PDF Frequency Restriction 148
Block Certain User Actions from Designer for System Entities 149
Rearrange Workflows 151
Memory Manager UI Changes 154
Last Login Details Available 156
Config 2.0 157
UI Preferences 157
Named Node 162
Git Support for DDL 168
Measure Alias 169
Use o9Git Org for C2 Development 171
Web Layout & Dimension Merge and Edit 172
Block Dependency - Explicit 174
Recreate Release Branch from Main 176
Data Management for Config2 177
WebAPI 179
Uptime Report 179
Download Audit Trail Data in Local Time Zone 181
Create New Tenant with Default Template as o9EmptyTemplate 182
View Starting/Stopped Status of GraphCube Server with the Message Log 184
Platform Actions Blocked When Starting/Stopped Action of GraphCube Server is in
Progress 186
Platform Error Codes Redirects to the Platform Wiki 188
Auto Retry for Infrastructural Components of Backup & Restore Action 190
Prepare Phase, Automatic & Manual Retry Option for Backup 193
Users Receive Notifications Whenever Solver is Running 197
Hide ETL Records from Audit Trail 202
Organization Based Favorite Sharing 205
Upload Data Security Rules Using File 207
Action Button Name Incorporated in Platform Logs 208
Users Receiving Bulk Emails - MicroService 210
Forward Compatibility Checks for Tenant Config 212
Prepare Phase for Restore Action 215
Retry Option Available for Partially Completed or Failed Restore 218
Delete/Restore Action of InProgress Backup Blocked 220
UserManagementAdmin User Roles Modifying Data Security Rules 222
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
3
Clear Corrupt or Stuck Backup/Restore Activities 224
Conflicting Platform Actions are Blocked 227
GraphCube 233
Discard Partial File Uploads 233
Alternate Hierarchy Performance Improvement 234
Installagent Logs in UI 235
FilterbyUpdates Performance Improvement 236
Data Admin vs Non Data Admin Improvement in Block Scope 237
External Measure Group Disk optimisation 238
Disabled Hierarchy 240
Performance Improvement 242
Leadoffset 242
Soft Delete 243
Memory Monitoring LS Commands 244
Integration 247
Support of Avro File Format in Kafka Inbound API 247
Integration 3.0 249
Platform Health Monitoring Report - NiFi 253
Advanced Analytics 255
Python Upgrade Optimization 255
Python Plugin Status Notification 256
o9 Predict.ai Enhancements 257
Platform Resiliency: Lack of Cluster Resources 258
Python Platform Error Resolution 260
SCS 262
Co-Product/Bi-Product Pegging 262
Planned Order WIP Support in Incremental Plan 267
Supportability for SS Build Ahead in Case of Min-Max Type of Safety Stock Policy
272
Actionable RCA 275
Mandatory Pre Build Offset Extended support (Hard Quarantine, BOM Offset,
Delivery Plan Offset) 279
Pegging to Support Delivery Flow Plans 287
Max Lot Size 290
Where Used Report 296
LPS 299
Group Level Campaign Planning 299
Multiple Supplier Multiple Item Proportional Sourcing 301
Activity Mandatory Pre build Offset 305
Time Varying Activity Lead Time 310
Cutting Stock Solver 314
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
4
About the Document
The 2023 Q2 Release Notes document describes the platform enhancements done in February,
March and April, 2023.
Intended Audience
The target audience of this document are the o9 Platform users.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
5
About the o9 Platform
The o9 Platform is an AI-powered cloud platform which is built ground up for integrated planning
and operations in the digital age. All core planning processes are integrated in one Platform.
● General
● Web UI
● Config 2.0
● WebAPI
● GraphCube
● Integration
● Advanced Analytics
● SCS
● LPS
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
6
General
Deprecation (Features Removed in 2023 Q2 Release)
The Classic theme option in the Theme Picker dialog box (Tenants workspace -> Manage
Tenants View -> Theme -> Theme Picker dialog box) will no longer be supported from 2023
Q2 Release onwards.
Only the New theme option in the Theme Picker dialog box will be supported going forward.
Hence, users are requested to move to these new themes.
Also, the OpenSans option in the Font list (Tenants workspace -> Manage Tenants View ->
Theme -> Theme Picker dialog box) will be removed and the Roboto option will be used by
default.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
7
Web UI
Interactive Gantt Chart
Favorites
Business Need
In the Interactive Gantt chart, schedulers can do a lot of things, such as changing the Views,
zooming, changing the color attributes and scrolling. Hence, there was a need to save these
changes as a favorite so that the changes are available all the time for the scheduler.
Functionality Description
The current enhancement enables the schedulers to save their changes, such as changing the
Views, changing the color attributes, zooming, scrolling, and positions, as favorites.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
8
Select Time View
Business Need
There was a need to select the default time buckets in the weekly, monthly, or yearly levels
based on which the gantt data gets updated.
Functionality Description
The View list is provided so that the users can view the data in the following levels:
● Day
● Week
● Month
● Year
Day View
Week View
Month View
Year View
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
9
The user zoom in or zoom out reset icon gets selected only after selecting a View.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
10
Pivot/Grid
Functionality Description
1. Login to any tenant with the relevant credentials.
2. Go to the relevant workspace/View.
3. Open a report with multi dimensional properties and measures. In this example, there
are 2 multi dimensional properties: stringpicklist_sum and inttest1 and few measures.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
11
5. Observe that the column filters are retained on the multi dimensional properties and all
measures.
6. Click the column filter icon next to StringPicklist_Sum (one of the multi
dimensional properties). The column filter menu is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
12
7. Select the checkbox next to the relevant values. In this example, the apple checkbox
and the orange checkbox have been selected.
8. Click OK. The report is filtered with all the intersections where the value is Orange or
Apple for the Stringpicklist_sum MDP. Also, the subtotal rows are re-calculated (based
on the aggregation defined for the measure or multi dimensional property) for the rows
which match the selected values and are displayed. There are 8 rows of data returned.
Similar to the multi dimensional property, users can also filter measures, provided all the
grains of the measure are present in the row of the report and On Columns is selected
in the Data Position list in the Options tabbed area of the Layout dialog box.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
13
In the above example, all the measures in the report are grained at Item, Customer
Group and Month, On Columns is selected in the Data Position list and subtotal is
already enabled.
9. Click the column filter icon next to the Number_agg_suml measure. The column
filter menu is displayed.
10. Select the checkbox next to the relevant values. In this example, the 2999 checkbox and
the 3454 checkbox have been selected.
11. Click OK. The report will be filtered by the leaf intersections which have the measure
value as 2999 or 3454 for the Number_agg_sum measure and the Stringpicklist_sum
with values Orange or Apple. (Since we have already filtered by the MDP
stringpicklist_sum in the above steps). The report has 5 rows of data and the subtotal
rows are recalculated for the filtered intersections and are also displayed.
● When the subtotal is enabled, all the grains of the measure must be
present in the row of the report for the column filter option to be available
on the measures.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
14
● All the report level attributes must be present in the row and the measures
must be on columns. Measure groups on columns are supported. Any
other layout will not support column filtering of measures with subtotals.
● The column filters on measures with subtotals are applied as pre filters in
the liveserver to include the subtotal rows in the result data.
● The selected values in the column filter are always applied at the leaf level
intersections and the subtotals returned are based on the filtered rows.
● If there are any post filters on the report, the post filter will be applied after
the column filters and hence the subtotal rows might not be returned if the
subtotal values do not satisfy the post filter conditions.
● The column filters with subtotals are supported only for Integer, Number,
Boolean, String, Datetime and Picklist data types.
● The column filters applied on multi dimensional properties or measures
along with subtotals will be retained as part of favorites.
● If measures of different granularity are present in the report, then the
column filter can be applied to only 1 measure at a time when subtotal is
enabled.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
15
Multi Criteria for Pre-filter in Scenario Comparison
Business Need
Previously in the scenario comparison pivot grid:
● Delta values even if they are Blanks, EQUAL, 0 (Day), 0, 0.00, etc. were displayed
● Users were not able to pre-filter blanks/nulls values
● Existing pre filter could only provide two conditions and not more
There was a need to see only those rows in the scenario comparison pivot grid, where all the
delta values are different (not equal to Blanks, EQUAL, 0 (Day), 0, 0.00, etc).
Functionality Description
1. Login to a tenant with the relevant credentials.
2. Go to a workspace with scenario comparison pivot grid.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
16
● "is blank" - All the delta columns in a row should be blank.
● "is not blank" - At least one delta column in a row should be not blank.
● "is blank or zero" - All the delta columns in a row should be either blank or zero.
● "is not blank or zero" - At least one delta column in a row should not be blank or zero.
If you apply the is not blank operator, the following results are displayed.
If you apply the is blank or zero operator, the following results are displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
17
If you apply the is not blank or zero operator, the following results are displayed.
The four new operators are provided in the custom filter of the Designer as well.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
18
Filter & Measure Control from Action Button
Business Need
Previously, if a user wanted to include/exclude multiple measures in a pivot, they would have to
individually select/deselect each measure. This meant that there were multiple clicks required
by the user to view the required measure data.
In the current enhancement, configurators will have the ability to group measures into sets. A
measure could be part of multiple measure sets created by the configurators. End users can
select/deselect measure sets based on their needs.
Functionality Description
1. Click the Add Measure Set icon to add a measure set to the pivot report.
2. Click to create a new measure set for the pivot and input the required fields:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
19
a. Measure Set Name
b. Display Name
c. Measures
Runtime
1. Go to the relevant view where the pivot has the measure set configured.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
20
2. Hover over any measure column header.
3. Click to view the measure sets associated with the pivot.
5. Click OK. Only the measures associated with the selected measure set are displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
21
If there are common measures between the selected measure sets, the measures will
continue to remain in the selected state as long as there are measure sets selected
which have the common measure.
For example: Measure Set 1 has measures ‘Revised Budget’ and ‘Budget’ associated
with it. While Measure Set 2 has measures ‘Revised Budget’, ‘Total Spend’ and
‘Incremental Ask for Gap Closure’.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
22
If Measure Set 1 and Measure Set 2 are selected:
‘Select All’ controls only the ‘Measures’ and not the ‘Measure Sets’.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
23
Hyperlink in Pivot Table
Business Need
Hyperlinks are generally used to navigate between pages and websites. There was a need to
support hyperlinks in pivot reports, (as attribute properties or measures) which can be used to
navigate to other pages or websites from the platform. For example: if a user wants to track the
shipment from a logistic service provider they would need to add these tracker links in the report
against items that are being tracked.
Functionality Description
3. Add a measure of “Hyperlink” data type to the pivot report from the designer settings.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
24
● Hyperlink data type is a new data type for attribute properties and measures
● Hyperlink measures can accept string values, subject to the below condition
● Only hyperlinks with ” https:// “ will be considered as valid URLs in the
platform.
● Aggregation types supported for string type measures are also supported for
Hyperlink measures viz. sum, min, max, avg etc.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
25
The unvisited links are displayed in Blue and the visited links are displayed in Purple
to provide differentiation to users.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
26
4. Click . The options are displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
27
In the measure settings toward the bottom of the pane render settings options will be
visible.
The Render Settings area is available only for measures of data type Hyperlink.
7. Input any string value which will be used to display in the pivot report in the hyperlink
measure column.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
28
8. Click save for the measure settings and save the report to view the pivot report. In the
pivot report, the hyperlink measure column’s hyperlinks will be displayed with the
configured static name.
The static name is only for displaying a uniform text to the user. If you click the
hyperlink, it will still navigate to the configured URL.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
29
3. Go to the Design layout.
6. Click the gear icon for the hyperlink measure. The measure settings are displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
30
In the measure settings toward the bottom of the pane render settings options will be
visible.
If you click the Display measure list, all the non-hyperlink measures configured in the
pivot report are displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
31
7. Select one measure to be rendered as a hyperlink in the report.
8. Click save for the measure settings and save the report to view the pivot report.
In the pivot report, the hyperlink measure column will no longer be displayed. The
configured display measure will be displayed in a hyperlink format in the pivot report.
● If both the static name and display measure are configured for the hyperlink
measure, the display measure will take precedence over the static name.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
32
● Hyperlink measures with render configurations will not be editable in the
pivot report.
● Hyperlinks can also be added as a member attribute property and will be
rendered as full URLs.
● The hyperlink measure will be rendered as a string in case of Downloaded
Excel/CSV on the platform, and not as a hyperlink.
● The hyperlink data type is not supported for ‘open in o9 Excel’ and for ‘Excel
Add-In’.
● The hyperlink data type will not be applicable for picklist measures.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
33
Filter Selection Retained in Grid View of Scope Filters
Business Need
After a user makes a filter selection on the grid View of the scope filter, the selection details are
not retained when the user comes back to see it. Thus, subsequently if the user comes back to
the grid View, the user has to reselect the members/properties. This leads to more time
consumed in the process.
Functionality Description
This feature retains the selection made on the grid View of the scope filter, so that the user can
refer to their selections.
1. Login to any tenant with relevant credentials.
2. Go to the Tenant System Settings View in the Deployment workspace.
3. Set CacheOnGridFilters to True.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
34
Users can also subsequently select members of any other attribute as shown below.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
35
9. Go back to the same View and the grid View of filters, and the selections will be
retained.
Limitations
1. The member selections are retained only under the following cases:
a. The user is in grid view, applies the column filter, clicks the ‘apply’ button, and
opens the view filter.
b. The user is in grid view, applies the column filter and navigates to some other
level attribute of the same dimension and again comes back to view the given
selection.
2. The member selections are not retained under the following cases:
a. Clicking on cancel
b. If the user navigates to level attribute of different dimension
c. If there is interdependent filters and user switches between level attributes of
different dimensions
d. If there is NarrowSelectionby filters and user switches between level attributes of
different dimensions
e. User toggles between tile and grid view
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
36
f. User navigates to another view/page/page group/workspace
g. User applies a favorite or does a browser refresh
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
37
Download Pivot Datetime Data in Local Time Zone
Business Need
Presently, in a pivot, users can see a datetime measure in the local timezone. But when they
download, the time is shown only in UTC. This creates a difference in data between UI and
downloaded file. The need is to offer flexibility to view data between UI and downloaded file.
Functionality Description
The following feature enables the user to download date time measures in the local time zone.
1. Login to any tenant with relevant credentials.
2. Navigate to a pivot which has measures with datetime data type. In this example,
Inventory Inputs is the pivot and W WOS Upper Threshold is the measure with datetime
data type.
3. Click the Download button. (Ensure that the download option in config is set to system
setting or show). In the Download dialog box, a new checkbox called the Download in
UTC checkbox is displayed.
4. Select the Download in UTC checkbox. The downloaded file will display the data in the
UTC timezone as shown below.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
38
If the user requires to download the data in the local timezone, clear the Download in
UTC checkbox as shown below.
The downloaded file will display the data in local timezone as shown below
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
39
Limitations
1. The feature is applicable only for pivot grid download.
2. For Auto execute download action button:
a. If all the measures are in UTC, then the downloaded data will be in UTC time.
b. If all the measures are in local time, then the downloaded data will be in local
time.
c. If few measures are in UTC and few are in local time, then the downloaded data
will only be in UTC time
3. The feature is available for the download action button and not for ‘Enable Export Pivot’.
4. Header information will not reflect in the downloaded file when downloaded in UTC.
5. When the user wants to upload the downloaded file (with or without making changes to
the datetime value), no option will be available for the user to select the time zone while
uploading. The platform will read the timezone offset information directly from the
uploaded file.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
40
Client Side Pivot Download
Business Need
Currently, a user cannot download a pivot grid displaying the sorting/filter/formatting conditions
given in the web UI. The need is to allow a download which reflects some of these conditions.
Functionality Description
Downloading using the download action button is being managed by the Live Server and takes
the data directly from Live Server. The following feature enables the user to download the pivot
grid on the client side, similar to how it is seen in the Web UI.
1. Login to any tenant with relevant credentials.
2. Go to a pivot grid. In this example, it is ‘Inventory Inputs’.
3. Click the in-line designer.
4. Go to the widget properties.
5. Click Show in the Export Pivot list. A new button Export Pivot is displayed during the
run-time.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
41
Any existing download action button will be shown as per the configuration and will
exhibit existing behavior.
The downloaded file will reflect the selections made in the run-time UI.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
42
h. Conditional formatting
i. Calculated measures
Downloaded Excel:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
43
b. Attribute & Attribute Properties Menu Selection: In this example, Location
Type is an attribute and Longitude is an attribute property
Web UI:
Downloaded Excel:
c. Measure Sort
Web UI:
Downloaded Excel:
d. Column Filter
i. Attribute Sort: Here, the sort button is clicked to sort the data in
ascending/descending order.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
44
Web UI:
Downloaded Excel:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
45
Download Excel:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
46
Downloaded Excel:
iv. Attribute Column Filter Search Bar: The members are searched by typing
in the search bar.
Web UI:
Downloaded Excel:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
47
Downloaded Excel:
2. Layout Selections
a. Row & Column Selections: In this example, the ‘Week’ attribute is moved to
Rows
Web UI:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
48
Downloaded Excel:
Downloaded Excel:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
49
c. Attribute Position (Rows): The position of the attributes ‘Item’ and ‘Product Line’
are swapped
Web UI:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
50
Downloaded Excel:
d. Attribute Subtotals: In this example, subtotal is enabled for ‘Item Type’ attribute
Web UI:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
51
Downloaded excel:
e. Measure & Measure Property (data) Selections: In this example, the measures
‘Target Periods of Cover’, Target Inventory and the measure property ‘Limit’ are
deselected.
Web UI:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
52
Downloaded Excel:
Downloaded Excel:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
53
g. Cumulative Measure Value
Web UI:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
54
Downloaded Excel:
h. Calculated Measure
Web UI:
Downloaded Excel:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
55
i. Data Position: On Column
Web UI:
Downloaded Excel:
Downloaded Excel:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
56
k. Data Position: On rows before members
Web UI:
Downloaded Excel:
l. Subtotals
Web UI:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
57
Downloaded excel:
m. Attribute Subtotals: In this example, subtotal is enabled for ‘Item Type’ attribute
Web UI:
Downloaded Excel:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
58
n. Repeat Row Labels
Web UI:
Downloaded Excel:
Downloaded Excel:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
59
p. Column Labels (data on rows)
Web UI:
Downloaded Excel:
Downloaded Excel:
Downloaded Excel:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
60
3. Value Filter
Web UI:
Downloaded Excel:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
61
Downloaded Excel:
Downloaded Excel:
6. Conditional Formatting
Web UI:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
62
Downloaded Excel:
Limitations
1. This feature is applicable only for pivot grid excel download.
2. The following features are not supported for Export Pivot:
a. Locked cell indicator
b. Measure group
c. Measure nesting
d. Tornado gradient
e. Negative tornado
f. Render type trend
g. Text alignment in cell
h. Column header formatting (color, bold, italics etc)
i. Subtotal styling
j. Current time bucket highlight
k. Collapse/expand button
l. Member image
m. Cell comment indicator
n. Editable cell highlight
3. The export pivot works based on the data rendered on the pivot. Any data limitations
(such as Max Cells Per Excel Sheet etc.) will apply on export pivot.
4. The file downloaded via export pivot cannot be uploaded back.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
63
Range Selection for Time Attributes Using the Calendar Date Picker
Business Need
For attributes belonging to the time dimension (particularly for attributes such as day or week or
month), the number of members associated with these attributes could be large and the
selection and deselection of these from the scope filters can be rather time consuming. To
address this pain point a calendar date picker is being provided for time member selection.
Functionality Description
1. Log in to a tenant with the relevant credentials.
2. Navigate to a View containing a report with time dimension attributes in the scope filter.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
64
5. Click the setting for any of the time attributes from the filter section in the report
configuration.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
65
● When the calendar selection option is chosen ‘Single Select’, ‘Default Value
Expression’, ‘Override Favorite Selection’, and ‘Narrow Selections By’ are
not available.
Enabling calendar selection for any one time dimension attribute will result in it
being enabled for all attributes of the time dimension.
9. Click the calendar icon. The ‘From” & ‘To’ date pickers are displayed simultaneously for
selecting the relevant configured members.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
66
● Calendar dates that have the same value as modeled time member keys will
be available for selection within the calendar.
● The time component of keys is ignored for the above purpose (of identifying
available dates for calendar date selection).
10. Navigate between years by clicking on the month and year provided below ‘From’ and
‘To’ in the calendar.
11. Select From and To Dates on the date picker as required. The selections made using
the date picker will be reflected in the member selection area in real time.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
67
When calendar selection is enabled, only the leaf (or lowest) level attribute in the report will be
available for selection in the scope filter. In the example below, only week is available for
selection although Year, Quarter, Month are also configured as filters in the report.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
68
Only calendar dates that have the same value as configured member keys will be
available for selection in the calendar date picker option. Dates for which there are no
members configured will be disabled within the calendar date picker selection. Here, for
e.g. W01-2015 has a key of 2015/01/04 and hence, 4th January 2015 is available for
selection on the date picker.
The calendar date picker might be appropriate for selections at date/week levels
where the number of members are larger.
12. Click outside the calendar to see the selected members highlighted among all the
available members after the selection is made using the date picker.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
69
13. Click Apply to make the selection.
● The filter grid View will not be available with the date picker selection.
● The ‘To’ calendar will allow for selection only for dates later to the the
selection made in ‘From’ calendar. Hence, for dates preceding existing
selection, From date has to be chosen first.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
70
Member Search Enhancement in Scope Filter
Business Need
Earlier, when a user typed in the search box of the scope filter to search a member (or a range
of members), the previously selected members (if any) were not visible to the user. Since the
users were not informed about the member selection status, it was difficult to use.
The current feature helps distinguish the current selections from the previous member
selections.
Functionality Description
1. Login to any tenant with the relevant credentials.
2. Go to a pivot grid. In this example, Inventory Inputs have been selected.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
71
● The counter above the search bar reflects the number of members
selected from the total members available.
● The selected members are also displayed as chips to the left of the
counter.
7. Type the full name or part of a member’s name in the search bar. In this example, a part
of the name P_18 has been typed. The relevant members are displayed.
8. Select a few members from the search result. The counter is displayed below the search
bar, reflecting the number of members selected from the search result.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
72
9. Click Add to current selection. The members selected from the search result are
added to the original member selection and the counter shifts back to its original
position, reflecting the members selected out of the total available members.
The feature is also available for the grid View of the scope filter. When on the tile View,
click the grid icon next to the Search box.
10. Search the required members to be filtered and displayed on the grid.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
73
11. Select the required members from the filtered members. The counter is displayed,
reflecting only the members selected from the search result.
If you do not select any member, the same message as seen on the tile View is
displayed: No members are selected in the search results.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
74
Reorder View Filter & Display Exact Order
Business Need
The grid type View filter displays the data structure along with the hierarchy information in case
it is the lowest level attribute. The lowest level attribute is displayed on the left by default and the
hierarchical data is displayed on the right. The users are familiar with seeing data from left to
right along with the hierarchy. Also, the order of columns can be changed using the drag-and-
drop operation, but cannot be saved so that it doesn't remain the same as the user changed.
Currently, there’s a customer request to display data in a hierarchical order from left to right
(higher to lowest). Hence, this enhancement allows the user to reorder the entire View filter in
the Designer and to display the exact order in the View.
Functionality description
Currently, the Designer also supports the attribute property to be added to the list of columns
that are ordered using the Narrow Selections By checkbox, which eventually shows up in the
grid type view filters.
1. Login to any tenant with the relevant credentials.
2. Go to a pivot grid.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
75
4. Click the Edit option. In this example, Edit - RatnaOct2022 has been clicked. The report
configuration is displayed.
Currently, the attribute property is available for sorting. Hence, you can use it too
for sorting.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
76
11. Open the grid View of the required attribute property. The latest sorted order is
displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
77
Custom Sort Enhanced
Business Need
The current enhancement allows you to sort a maximum of 10 columns in the Custom Sort
dialog box of the pivot grid after you selected the Tabular option in the Row Sort: list, whereas
earlier you could sort a maximum of only 3 columns.
Functionality Description
1. Login to a tenant with the relevant credentials.
2. Go to a pivot grid.
3. Go to the Layout dialog box.
4. Go to the Options tabbed area.
5. Click Tabular in the Row Sort: list.
6. Click Save.
7. Click the Column Filter icon at the upper-right of the relevant column. You will be
able to view the Custom Sort button .
8. Click the Custom Sort button . The Custom Sort dialog box is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
78
Initially, you can view options for three columns that need to be sorted.
9. Click Add Row. Another row is added at the end, where you can add one more column
name for sorting.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
79
In case you need to remove a specific row, click the delete icon at the end of each row. For
example, if you delete the Item row, it will look like below.
You can keep deleting rows till the number of rows reduces to 3 as shown below.
You can apply the sort on columns and the pivot data will be displayed accordingly.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
80
This enhancement works well with column reordering and favorites as well.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
81
Clear Filter Functionality
Business Need
Currently in a pivot grid where the Subtotal option is enabled, when an attribute is selected via
the Column Filter Search box, you cannot see the unselected members after clicking the Clear
Filter icon . You have to use the Clear Filter button at the bottom which you might not
know. This enhancement informs you about the Clear Filter functionality.
Functionality Description
1. Login to any tenant with the relevant credentials.
2. Navigate to a pivot grid. In this example, InventoryInputs - Copy is the pivot grid.
7. Click the Column Filter icon at the upper-right of the column of the relevant
attribute. In this example, Item has been selected.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
82
8. Type a member in the Column Filter Search box.
9. Select that same member. In this example, the members P_4000_1 and P_4000_2 are
selected.
11. Click the Column Filter icon of the same attribute Item again.
12. Click the Clear Filter icon on the right corner of the Column Filter Search box. The
text in the Search box disappears and a notification is displayed - Subtotal is enabled.
Unselected members are not displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
83
The feature is available only when subtotals are enabled in the pivot layout.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
84
KPI Widget: Navigation Links
Business Need
Navigation links are used in the Platform to provide quick navigation to Views to provide more
detailed information. KPI widgets are configured with measures and can provide only a high
level understanding of the measures configured. Users need the ability to drill down further into
these measures to have a more detailed or granular level of information from the measures.
This enhancement is being done to provide the ability for users to configure navigation to other
Views in the Platform from the KPI widget.
Functionality Description
1. Log in to a tenant with the relevant credentials.
2. Navigate to one View with a KPI widget configured.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
85
The design layout is displayed for the View with the configured reports.
5. Click Set navigation links. The Set Navigation links dialog box is displayed with the
Data navigation links list.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
86
Only Data Navigation Links are supported for KPI widget.
6. Click the Data navigation links list. The measures configured in the KPI widget are
displayed.
The measures can be configured with single or multiple View navigations under the
Views options.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
87
7. Once the views for navigation are configured
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
88
For the measures with multiple navigations configured, if you click the measures, all the
Views that are configured are displayed as a list.
For measure with a single navigation configured, if you click the measure, the configured
view is displayed.
● Navigation links from the KPI widget can be configured for primary
measures, secondary measures and transient measures
● This feature is available only where KPI is configured as a standalone
report/widget (not supported for Geomap, Member Info popup, Page
Navigation KPI, etc)
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
89
Shipment Tracker Widget
Business Need
This is a new widget that allows visual tracking of an object (shipment or container). This widget
emphasizes the current state and displays the milestones associated with a given
shipment/container/event, along with the status at each node.
Functionality Description
1. Login to a tenant with relevant credentials.
2. Go to the Designer workspace.
3. Click Shipment Tracker. A new shipment tracker report is displayed in the Designer
mode.
The widget is auto populated with measure groups under which relevant measures need
to be added.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
90
4. Add the relevant filter attributes in the Filter ( ) area.
5. Add a relevant attribute (shipment or any attribute for which the logical status needs to
be displayed in the widget) in the shipment attribute area.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
91
6. Add a relevant attribute in the location attribute area.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
92
Actual time of arrival measure can be added under the Actual Time of Arrival MG. Actual
time of arrival Measure value will be displayed on the widget for locations where the
shipment has arrived.
Both Estimated time of Arrival and Actual Time of Arrival measures must be grained at
the level of the attributes added in the shipment and location section. Only a single
measure can be added to these measure groups and should be of data type DateTime.
We can add other relevant measures under each of the other measure groups.
(Estimated Time of Departure, Actual TIme of Departure, Planned Time of Arrival and
Planned Time of Departure). These are optional and are displayed only in the tooltip.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
93
Other relevant measures of different data types can be added separately outside of
these measure groups by dropping them in the Measures pane. These will be displayed
only on the tooltip as well
8. Click the preview icon.
The widget will display the message filter attribute which is the same as the
shipment attribute should be of type single select. This is because the widget can be
rendered for only one shipment attribute member at a time.
9. Click the filter setting of the EquipmentID attribute (which is the same attribute that is
added in the shipment attribute section in our example) in the filter section.
10. Select the single select option.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
94
12. Select one of the members from the shipment attribute (EquipmentID) filter.
13. Click Apply.
14. Click the Preview icon The widget is displayed with all the location attribute
members for the selected shipment attribute member. The locations for which the Actual
Time of Arrival is available, Actual Time of Arrival is displayed below the location name.
For other locations, Estimated Time of Arrival is displayed. The locations where the
shipment has arrived will be represented by the theme colored circles on the widget.
Locations which have no Estimated time of arrival or Actual time of arrival will not be
displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
95
15. Hover over the relevant circle to view the tooltip which will display information on all the
measure values that are configured.
● The first one from the left, is used to switch between summary and
expanded view.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
96
By default, the widget loads in an expanded view.
1. Click to switch to summary view. In this view, the user will be able to see the first,
current and last location of the shipment.
All other locations are represented as dots, which when hovered over, will display the
location name and other information on the measures configured.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
97
2. Click the highlighted icon below to switch the orientation. The widget will be displayed in
a vertical view. This icon can be used to toggle between horizontal and vertical view of
the widget.
Widget Properties
1. Click the widget properties.
In the widget properties, the configurator can select the option that has to be displayed
by default in the run time under the orientation option.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
98
The Show in Local Time Zone checkbox can be enabled to display all the measure
values under each of the auto generated measure groups in the local time zone. By
default, the datetime measure values will be displayed in GMT.
Measure Settings
The widget specific format of a measure value can be set in the measure setting of
individual measures as well. There is also an option to show/hide the measure value in
the tooltip.
Data Properties
Click the Data properties icon The measure values can be filtered by applying relevant
measure filter expressions available in the Data properties
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
99
Link Filter Functionality
Users can link Shipment Tracker Widget (child) to other widgets (parent) through link filter
functionality. This ensures that the members selected from the anchor/parent widget controls
the scope of data for the linked Shipment tracker Widget . But for this, the Shipment Tracker
Widget needs to be the non-anchored widget.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
100
5. Click Link filters. The Filters Scope Setting dialog box is displayed.
6. Select the relevant anchored report name (STPivot) in the EquipmentID(shared filter)
list.
8. Click to exit the Design layout. A link icon is displayed in the Actions column of
the pivot report.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
101
9. Click the relevant row in the pivot report. The data in the linked shipment tracker widget
changes in sync.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
102
Heat Map Widget
Business Need
This enhancement will enable users to create heat maps and visualize the magnitude of a
measure across two dimensions.
Functionality Description
1. Go to the Designer workspace.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
103
5. Add measure as needed.
Configuration Features
1. Sorting of level attributes:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
104
To sort the level attributes on the X and Y axis use the ‘Sort By’ and ‘Sort Order’
settings under the respective attribute settings. By default, the level attributes are
sorted on key.
To set the limit of number of members on the X and Y axis use the ‘Limit’ setting
in the respective row/column properties. There can be a maximum of 20 members
on each axis.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
105
Using the measure settings, configurators can:
A. Set the primary color for the heatmap using the color picker from the ‘Color’ setting. By
default this is selected from the theme color.
B. Set the format of the measure using the ‘Format String’ setting. For example:0.00
C. Enable/disable the hover functionality on the heatmap tile so that the dimension and
measure details are shown using the ‘Show Point Label’ setting. choose to
enable/disable the ability to view details on hover of a heatmap tile using the ‘Show Point
Label’ setting:
i. If ‘Show Point Label’ setting is enabled:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
106
4. Measure and Value filter:
Measure and Value filters can be added using the ‘Data Properties’ option.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
107
Features
Heat Map to Grid Binding:
● The heatmap widget can be binded to a pivot using the ‘Link Filters’ functionality:
● On selection of multiple heatmap tiles (using Ctrl + click on the tile), the selected values
in the binding context are passed to the pivot.
● Users can configure only one measure at a time for the heatmap.
● Users can configure only one attribute dimension per axis at a time for the
heatmap.
● Users can only add a numeric measure for the heatmap.
● Heatmap will support a maximum of 20 members in each axis.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
108
Deployment Workspace
Functionality Description
1. Login to a tenant with the relevant credentials.
2. Go to the Deployment workspace.
3. Got to the Manage Backups View.
4. Click +Backup. The Create Backup dialog box with the latest UX is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
109
Block Delete/Restore Action When Backup is in Progress
Business Need
Previously, while a backup was in progress, the Platform did not block the delete action or the
restore action. There was a need to avoid such conflicting actions while a backup is in progress.
Functionality Description
1. Login to the tenant with the relevant credentials.
2. Create a backup.
3. Click Delete to trigger deletion of the backup while the backup is in progress. The
following message is displayed: Backup is in progress and cannot be deleted at this
time.
4. Create a backup.
5. Click Restore to restore the in-progress backup. The following message is displayed:
Your request could not be executed because a Backup is in progress. Please try again
after some time.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
110
Use the Delete Data and Uninstall Option & Delete Data Folder
Business Need
Previously, if you uninstalled the tenant, it did not delete the data folder associated with it.
There was a need to delete the unused tenants and save some space on the environment.
Functionality Description
In the current enhancement, the Uninstall option is renamed as Delete Data and Uninstall.
This option will help you to delete the data folder as well.
1. Login to a tenant with the relevant credentials.
2. Go to the Deployment workspace. The Live Servers View is displayed.
● The data folder holds all the dimension and fact data of the tenant.
● The Delete Data and Uninstall option is available only when the tenant is in
the Stopped state.
● This action is non-reversible and should be used with due-caution.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
111
Factored Restore
Business Need
The current enhancement allows you to restore only selective components unlike before where
if you wanted to restore only tenant config and LiveServer, there was no option to do that.
Functionality Description
1. Login to the tenant with the relevant credentials.
2. Go to the Deployment workspace.
3. Go to the Manage Backups View.
4. Click Restore Backup for the relevant option. The Restore Tenant dialog box is
displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
112
7. Enter the relevant details.
8. Click Restore.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
113
Last Action Status Tab Appears in Manage Collab & Manage Backups
View
Business Need
In the current enhancement, the Last Action Status tab is displayed for all these Views:
● Live Servers View
● Manage Collab View
● Manage Backups View
● Earlier, the Last Action Status tab was displayed only for the Live
Servers View of the Deployment workspace.
● If you need to perform actions, such as restore or backup etc, the last
action status is displayed in the same tabbed area. This will help you to
know if the platform actions that you performed will go through or will be
blocked.
Functionality Description
1. Login to the tenant with the relevant credentials.
2. Go to the Deployment workspace.
3. Check the Last Action Status tabbed area in the following View:
Live Servers View
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
114
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
115
Last Action Status Tab Auto Refresh
Business Need
In the current enhancement, the Last Action Status tab is refreshed every 30 seconds and if
there are any changes in the column data, it gets updated.
Earlier, the Last Action Status tab of the Deployment workspace was refreshed
only if you manually clicked the Refresh icon.
Functionality Description
1. Login to the tenant with the relevant credentials.
2. Go to the Deployment workspace.
3. Check the Last Action Status tabbed area is refreshed every 30 seconds in the
following View:
Live Servers View
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
116
Manage Backups View
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
117
Confirmation Box Appears Before Tenant Data Deletion Activity
Business Need
Previously, there were instances where user’s were deleting tenant data accidentally. This was
due to the lack of platform intervention or asking the users to confirm if they wanted to go ahead
with the action.
In the current enhancement, a confirmation box is displayed before a tenant data deletion
activity so that the user can confirm if the deletion activity can be performed.
Functionality Description
Deployment Workspace
1. Login to a tenant with the relevant credentials.
2. Go to the Deployment workspace. The Live Servers View is displayed by default.
Option 1
3. Click Delete Redo and Restart in the Tenant Status list.
4. Click Update.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
118
The Delete Redo and Start confirmation box is displayed with this message: This
action will permanently delete all unsaved transactions and graph cube will go
back to the last saved point. Are you sure you want to continue?
Option 2
3. Click Delete Data and Start in the Tenant Status list.
4. Click Update.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
119
The Delete Data and Start confirmation box is displayed with this message: This action
will permanently delete data associated with the tenant and is irreversible. Are you
sure you want to continue?
5. Click Yes. The system goes ahead with the selected action.
Option 3
3. Click Uninstall in the Tenant Status list.
4. Click Update.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
120
The Uninstall confirmation box is displayed with this message: This action will remove
the installation files associated with this version of the tenant on reinstall. Are you
sure you want to continue?
5. Click Yes. The system goes ahead with the selected action.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
121
Tenants Workspace
1. Login to a tenant with the relevant credentials.
2. Go to the Tenants workspace. The Manage Tenants View is displayed by default.
3. Click next to the relevant tenant name. The relevant details are displayed.
Option 1
4. Click Delete in the USERS tabbed area. The Delete confirmation box is displayed with
this message: Are you sure you want to delete this item?
5. Click Yes. The system goes ahead with the selected action.
Option 2
4. Click Delete in the AUTHORIZATION GROUPS > UI tabbed area. The Delete
confirmation box is displayed with this message: This action will delete the selected
authorization group. Are you sure you want to continue?
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
122
5. Click Yes. The system goes ahead with the selected action.
Option 3
4. Click Delete in the AUTHORIZATION GROUPS > DATA tabbed area. The Delete
confirmation box is displayed with this message: This action will delete the selected
authorization group. Are you sure you want to continue?
5. Click Yes. The system goes ahead with the selected action.
Option 4
4. Click Delete in the AUTHORIZATION GROUPS > COLLAB tabbed area. The Delete
confirmation box is displayed with this message: This action will delete the selected
authorization group. Are you sure you want to continue?
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
123
5. Click Yes. The system goes ahead with the selected action.
Users Workspace
1. Login to a tenant with the relevant credentials.
2. Go to the Users workspace.
3. Go to the USERS tabbed area.
Option 1
4. Click Delete in the USERS tabbed area. The Delete confirmation box is displayed with
this message: This action will delete the selected user. Are you sure you want to
continue?
5. Click Yes. The system goes ahead with the selected action.
Option 2
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
124
4. Click Delete in the AUTHORIZATION GROUPS > UI tabbed area. The Delete
confirmation box is displayed with this message: This action will delete the selected
authorization group. Are you sure you want to continue?
5. Click Yes. The system goes ahead with the selected action.
Option 3
4. Click Delete in the AUTHORIZATION GROUPS > DATA tabbed area. The Delete
confirmation box is displayed with this message: This action will delete the selected
authorization group. Are you sure you want to continue?
5. Click Yes. The system goes ahead with the selected action.
Option 4
4. Click Delete in the AUTHORIZATION GROUPS > COLLAB tabbed area. The Delete
confirmation box is displayed with this message: This action will delete the selected
authorization group. Are you sure you want to continue?
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
125
5. Click Yes. The system goes ahead with the selected action.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
126
User Management Workspace
1. Login to a tenant with the relevant credentials.
2. Go to the User Management workspace.
3. Go to the USERS tabbed area.
Option 1
4. Click Delete in the USERS tabbed area. The Delete confirmation box is displayed with
this message: This action will delete the selected user. Are you sure you want to
continue?
5. Click Yes. The system goes ahead with the selected action.
Option 2
4. Click Delete in the AUTHORIZATION GROUPS > UI tabbed area. The Delete
confirmation box is displayed with this message: This action will delete the selected
authorization group. Are you sure you want to continue?
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
127
5. Click Yes. The system goes ahead with the selected action.
Option 3
4. Click Delete in the AUTHORIZATION GROUPS > DATA tabbed area. The Delete
confirmation box is displayed with this message: This action will delete the selected
authorization group. Are you sure you want to continue?
5. Click Yes. The system goes ahead with the selected action.
Option 4
4. Click Delete in the AUTHORIZATION GROUPS > COLLAB tabbed area. The Delete
confirmation box is displayed with this message: This action will delete the selected
authorization group. Are you sure you want to continue?
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
128
5. Click Yes. The system goes ahead with the selected action.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
129
Active Queries Tab Introduced
Business Need
In the current enhancement, a new tab Active Queries is introduced in the Last Action Status
grid of the Deployment workspace so that you can view all the existing active queries.
Functionality Description
1. Login to a tenant with the relevant credentials.
2. Go to the Deployment workspace.
3. Click the Active Queries tab. The existing active queries are displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
130
User Management Workspace
Functionality Description
1. Login to a tenant with the relevant credentials.
2. Go to the User Management workspace. The USERS View is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
131
5. Click Download Filtered Data. The CSV file is downloaded with only the filtered data.
● New roles can be added to this csv file and do an incremental append of
users back to the tenant.
● The Download Filtered Data option is available in the Tenants workspace,
USERS workspace as well.
● The Download Users option downloads all the users as before.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
132
Add & Remove User Roles in UI
Business Need
The current enhancement allows you to add and remove multiple user roles assigned to any
authorization groups of multiple users from the UI.
Functionality Description
1. Login to a tenant with the relevant credentials.
2. Go to the User Management workspace. The USERS View is displayed.
3. Click the column filter to filter the relevant users table as required.
4. Click the Edit the roles list. The options are displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
133
5. Click Add a role(s). The Add a role(s) dialog box is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
134
9. Add a role in the text box that needs to be removed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
135
● You cannot remove user roles, such as Admin, Dataadmin, System
Architect, using the Remove a role(s) option.
● User(s) cannot remove the user roles that are assigned to themselves.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
136
Tenant Workspace: Color Changed to Black (#111111)
Business Need
Earlier, the black theme color under the Theme Picker had a shade of #212121. This did not
meet UI standards for clients and therefore didn’t ensure a consistent platform experience. To
solve for this, we have updated the shade of black in the Theme Picker to #111111.
Functionality Description
1. Login to a tenant with the relevant credentials.
2. Go to the Tenants workspace.
3. Go to the Manage Tenants View.
4. Click Edit.
5. Click the Theme list. The Theme Picker dialog box is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
137
Mass Config
Copy Reports
Business Need
There are use cases where model configurations of reports need to be changed slightly and a
user needs to copy the reports en masse. Hence, a new button Copy Reports is introduced in
the current enhancement so that users can copy the report all together.
Functionality Description
1. Select the relevant reports to copy en masse.
2. Click Copy Reports to copy all the selected reports. The Copy Reports dialog box is
displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
138
To prefix or suffix a user defined name, click the relevant option for the Copy
report format field.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
139
Delete Reports
Business Need
There are use cases where users want to delete existing reports and need to delete the reports
en masse. Hence, a new button Delete Reports is introduced in the current enhancement so
that users can delete the report all together.
Functionality Description
1. Select the relevant reports to delete en masse.
2. Click Delete Reports to delete all the selected reports. The Delete Reports dialog box
is displayed.
3. Click Delete. A message is displayed: Are you sure you want to delete 14 reports?
4. Click OK. All the relevant reports are deleted en masse.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
140
Favorites Including Factory Setting Must Include Newly Added
Members
Business Need
Previously, o9 Platform was not supporting auto selection of newly added members in filters
with alternate hierarchies or interdependent filters in case of favorites. This new enhancement
allows users to not have to update the favorites by selecting the newly added members in a
hierarchy filter. In any view, where there is hierarchy in scope filters, the favorites (including
factory/designer settings) will auto select the newly added members, provided all the members
in the level (where a new member is added) were selected and saved as favorites.
Functionality Description
1. Login to any tenant with relevant credentials.
2. Go to any workspace/View which has a report with alternate hierarchy in the scope filter.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
141
3. Go to a hierarchy tab in the dimension with alternate hierarchy. In this case, Market
Product hierarchy under MarketProductCategory. The hierarchy in the Market Product
tab is Market Product Category Group -> Market Product Category -> Market Product.
Market Product is the leaf level attribute in this hierarchy.
4. Select attribute members as required. Here, we will be selecting Cameras in the Market
Product Category Group.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
142
6. Select the Select All checkbox under Market Product.
7. Click Apply.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
143
9. Type the name for the favorite in the Name field. In this example, AllMPL20 has been
typed.
10. Click Save.
11. Add a new Market Product under MPL20 Market Product Category Group either by
uploading the dimension file or by using the action button. Here, we are using an action
button (CreateNewMarketProduct) to add a new market product member.
12. Click the action button.
13. Enter the relevant details for each of the attribute fields.
14. Enter a new market product (for eg, MP20Pdct_Demo1). This product should be added
under “MPL20” in the Market product category which is under “Cameras” in the Market
product category group.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
144
15. Click Submit.
16. Go back to the View.
17. Perform a browser refresh (reload the page) after you receive the notification that the
action button has been executed successfully.
18. Load the favorite (AllMPL20) created in the above steps.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
145
● This enhancement is applicable only if there is hierarchy in the filter i.e.,
the attribute of a newly added member MUST have a higher level attribute
in the scope filter and only if all lower level members of the higher level
parent are selected and the dependent/related member(s) in the alternate
hierarchies are selected and saved as favorite, newly added members will
get autoselected in the favorite or factory setting
● Already created favorites will not automatically show the newly added
member. They have to be manually updated once. But all newly created
favorites after this release (2023Q2) will support autoselection of newly
added members provided a higher level attribute member is selected with
all lower level members( in the level where the newly added member will
be added).
● Interdependent filters are supported.
● Browser has to be refreshed once to view the autoselection of newly
added members in favorites.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
146
PDF Frequency Restriction
Business Need
The PDF queue was causing RMQ crash since the default frequency was set at minutes and
users were selecting it. This change makes hour as the default option and restricts users from
selecting minutes.
Functionality Description
Earlier, the default frequency was 1 minute if the user tried to set up a PDF alert with a
scheduled trigger type. When users selected this as the frequency for their alert, it caused RMQ
to crash. Hence, 1 hour is set as the default frequency.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
147
Block Certain User Actions from Designer for System Entities
Business Need
Few actions on system entities were found as a reason for data and start-up issues. Hence, the
current enhancement is blocking them.
Functionality Description
Actions Blocked
1. Dimension: RootCause, LPObjective, Personnel, Version, GraphCubeDim_Sequence,
Algorithm, DimPlugin, RcaTime
Name Block
Description Allow
Name block
Description Allow
Orderby Allow
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
148
Disabled Fields
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
149
Rearrange Workflows
Business Need
Workflows are used in the o9 platform to group some Favorites together and to create quick
access to views that are frequently used/needed. When there are multiple workflows created by
a user, the order of workflows displayed is based on the time at which the workflows are
created. However, users want to arrange workflows as per their preference, to easily access the
ones most frequently used, or based on their day to day needs.
Functionality Description
Users can rearrange workflows within the ‘Manage Workflows’ pane.
1. Log in to a tenant with the relevant credentials.
2. Click the Manage Workflows action button from the global header.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
150
If the workflow is in the expanded mode, the workflow will collapse when user does a
drag and drop.
The order of workflows as rearranged in the Workflows area is also displayed in the My
Workspace -> All Workflows View.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
151
● Rearranging workflows can only be done through the Workflows area.
● Rearrangement of workflows will be enabled only for users with the “UI
Designer - Private”, “UI Designer - Public” and “System Architect” user
roles.
● The order of rearrangement will be user specific and rearrangement can be
done for user created & shared workflows.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
152
Memory Manager UI Changes
Business Need
The current enhancement allows you to receive the server memory constraints details in the UI
unlike before where there was no information if your actions were causing query cancellation
due to the memory pressure in a tenant and the message was displayed in the LS logs.
Functionality Description
The images below display the server memory constraints in the UI.
Pivot
Action Button
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
153
Line Chart
Network Widget
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
154
Last Login Details Available
Business Need
The current enhancement allows you to view your last login details. This also helps to comply
with the security policy requirements for the customers.
Functionality Description
1. Login to a tenant with the relevant credentials.
2. Click the My Profile icon on the upper-right corner of the Platform header. The My Profile
area is displayed.
The multi language translation support is provided based on the user’s browser
locale.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
155
Config 2.0
UI Preferences
Business Need
This feature enables users to create partial reports of any widget type where one (or many) level
attribute(s) is/are used in the configuration.
Functionality Description
A UI preference will contain a set of level attributes. The set of attributes can have a filter
definition or a presentation definition. Here is a list of widget types for which the UI preference
can be created:
● Bubble Chart (o9.bubblechart)
● Calendar (o9.calendar)
● Chart (o9.linechart)
● Geo Map (o9.geomap)
● Horizontal Bar Chart (o9.horizontalBarChart)
● Indented Grid (o9.indentedGrid)
● Master Data
● Pie (o9.pieChart)
● Pivot (o9.pivot)
● Scenario Manager (o9.scenarioManager)
● Thumbnail (o9.thumbnail)
● Waterfall Chart (o9.waterfallChart)
● Where Used (o9.whereUsed)
In addition to the above, a new widget type called Filter (o9.filter) is introduced. When a user
selects the option to create a new UI Preference, a list of widget types is displayed. If a user
selects Filter (o9.filter), Designer is displayed with only the filter pane, hiding all other panes like
rows, columns, measures, and preview area. In this, the user can design his filters by using the
drag-and-drop operation to move various level attributes and configure various properties like
single select, narrow selections etc. When the user selects for example, o9.pivot, only Row and
Column panes are displayed and the rest of the panes are hidden.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
156
Example: Report - Demand Summary
Filters
On Row
On Column
Month Week
User Interface
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
157
The options are displayed.
3. Select the UI preference type as required. In this example, Pivot has been selected.
4. Use the drag-and-drop operation and move the required attributes to the desired
relevant areas.
Update UI Preference
1. Go to the Designer workspace.
2. Click next to the relevant UI preference. The following options are displayed:
● Open
● Delete
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
158
You can also double-click the relevant UI preference.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
159
2. Click the Info icon . The configuration of the selected UI preference is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
160
Named Node
Business Need
The o9 platform implementations typically use reference products as the starting point. The
reference products are designed with certain assumptions which may not align with the
customer’s expectations. For example, DP reference product has a set of measure groups at
the Month level in the Time dimensions. If a customer needs the same process to be executed
at the Week level, the configuration then needs to be changed. In this particular case, there may
be tons of measure groups, rules, reports etc. that are built at the Month level. All of this needs
to be changed to Week. This is a tedious process. The named nodes and the regrain
enhancements aim to make this process easier. They act as the placeholders for the Dimension
attributes. For example, consider a named node defined as follows:
● $DPTimeGrain = Time.[Month]
This will allow the user to define other entities using it.
● A measure group that’s at the following granularity:
Granularity: Item.Item * Location.Location * Time.[Month]
can now be defined as -
Granularity: Item.Item * Location.Location * $DPTimeGrain
Functionality Description
If an attribute can be defined into configuration at one place and can be referred to at multiple
places, it can be considered as an alias to a dimension attribute. Currently, one particular
named node can point to one dimension attribute. The named node can be referred to the
following LS entities:
● Measure Group
● Graph
● Scope Active Rule
● Plugin Active Rule
● Regular Procedure
● Parameterized Procedure
● Named Set
● Plugin
● Data Security
● MG Partition
Example:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
161
● $$DPTimeGrain = Time.[Month] //Named node is defined into configuration
● A measure group that’s at the following granularity -
Granularity: Item.Item * Location.Location * Time.[Month]
can now be defined as -
Granularity: Item.Item * Location.Location * $$\
User Interface
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
162
4. Use the drag-and-drop operation to add an attribute to the Named Node.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
163
2. Modify the relevant details. For example, you can add an attribute to it, or modify the
name and description.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
164
3. Click the Add new action Button icon . The Options tabbed area is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
165
6. Click namedNode in the list next to FieldBindings.
7. Click Save.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
166
Git Support for DDL
Business Need
The changes done through DDL query execution needs to be considered for Git changes and
also needs to be displayed in the changed entities.
Functionality Description
The CRUD operations done through DDL queries result in the Git file changes in the
subsequent block’s repo.
User Interface
DDL Changes Done:
ddl { "Action": "Create", "ModelType": "Dimension", "Payload": { "DimensionName":
"testDmA", "DimensionType": "Regular", "DimensionDescription": "testDm",
"ConfigJson": { "Position": 20 }, "DimensionId": "00000000-0000-0000-0000-
000000000000", "ApiName": null, "ApiEnabled": false, "ModuleId": "86860c81-9f92-4fcd-
8a56-d6c775b17893", "Repartition": false, "Unpartition": false, "CrudAction": 0 } };
Measure Alias
Business Need
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
167
The measure alias is an LS concept which allows users to define the following using the
Designer UI and hence a corresponding IBPL/DDL.
When a measure is defined as an alias, the LHS is called alias/secondary measure and RHS is
henceforth referred to as the primary measure. It essentially means that the data in the LHS
measure does not exist on its own but it has to be taken from the RHS measure.
Functionality Description
While creating an alias measure, other than the name and description, everything else will be
picked up by the source measure. For instance, an alias cannot have a different data type as
compared to the source measure.
It is understood that, without any alias definition, a measure can be treated as a normal
measure. So till the time a measure is converted to alias, an entry will be present in the
measures table.
There is also this second scenario where a measure can already be an alias but still behaves as
a normal measure i.e., when the module of the primary measure is not loaded.
So a measure can be an alias or not depending on the modules that are loaded. To ensure
measures are filtered in the correct manner, there is a need for a way to tag a measure as an
alias or not. Without any alias definition where the measure is participating it would be treated
as a normal measure.
User Interface
While creating or editing a measure, check measure alias and select the primary measure
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
168
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
169
Use o9Git Org for C2 Development
Business Need
The current enhancement allows the PMM team to use the existing o9git org by mapping the
platform orgs to the o9git org and setting up the PAT based on the required access level.
Functionality Description
● Allow tenants in GCPPMM env to access o9Git ADO org
● Safeguard CoreDev and other necessary projects from C2 code
● Show only valid C2 solutions from the selected project in the list of solutions
● Show only valid C2 blocks from the selected project in the list of config blocks
User Interface
1. Create a Platform org with the required git org name.
2. Create a PAT with that platform org and add to the cloud table (Ops activity).
3. Try accessing the project/solutions with the tenant created with a new platform org
(ensure that tenant is config 2.0 enabled).
While opening the config block, you should also be able to open the Designer.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
170
Web Layout & Dimension Merge and Edit
Business Need
The Ref teams will work in silos and after a point, the work will be merged to build an entire Ref
product. So, a situation will arise where parent entities will bear the same name. In some cases,
the child entities will be merged whereas in others, the parent entities will be renamed. This
functionality is basically developed to deal with such situations.
Functionality Description
These are the use cases for the entity merge:
● The SP Ref product team owns the block called Network which is used by other
products that are dependent on the network data.
● The MEIO Ref product consists of two blocks: MEIO Foundation and OIO.
● The Foundation block is what most implementations will typically use. The Foundation
block depends on the Network block.
● Some implementations may also adopt OIO which is a more advanced capability. OIO
depends on the Foundation block.
● Each of the blocks contain pages that belong to the same workspace named MEIO.
● There are two solutions: MEIO and SP with the blocks contained in them (see the image
below).
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
171
● Two blocks developed simultaneously in the same solution can contribute pages to a
workspace: Foundation and OIO
This same case may occur for Views under a page that will need to be merged.
This functionality basically ensures that the web layout entities are merged based on the last
write and wins if they have the same name. Otherwise, it just adds up the child entities.
Since this case can cause some data loss, the renaming of these entities was a much needed
feature. Hence, this too has been taken care of, so that before adding two such blocks where
entity names might match, users can rename the required entities.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
172
Block Dependency - Explicit
Business Need
The current enhancement will help in case there is a dependency between the two entities from
the different blocks in future. It will create the block dependency and save in the solution context
explicitly.
Functionality Description
For the current release, we are only providing functionality to save block dependencies explicitly
for future uses.
The blocks that are loaded earlier to the active block can only be added.
Next time when the user loads this block, the user will see the blocks defined under the
dependency to be loaded as well.
User Interface
1. Go to the Designer workspace.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
173
4. Add the relevant blocks.
5. Click Save. The changes are displayed in the changed entities list.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
174
Recreate Release Branch from Main
Business Need
The current enhancement provides the option for users to reset the release branch using the
main and archive current release branch.
Functionality Description
Before the solution load, the branch selection option should allow the user to reset the release
branch if required. The flow should be as follows:
1. Click Load another Branch or Tag option for the Branch field.
2. Click the Release Branch option for the Source field. The Reset using Main checkbox
is displayed.
3. Select the Reset using Main checkbox, the Archive current Release branch checkbox
is displayed.
4. Select the Archive current Release branch checkbox, the Branch Name field is
displayed.
5. Type a name for the archive branch in the Branch Name field.
6. Click to clear the Recreate from main option in the Other Actions list of the config
block tile at the loaded state.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
175
Data Management for Config2
Business Need
When a set of modules are loaded to a tenant, the user would need to load data to the tenant
LS before performing any meaningful config activity. This enhancement aims to support that use
case.
Functionality Description
This is basically data zip upload but for blocks. So that the data is stored in the Git repo of the
block.
1. Load a solution.
2. Click Manage Modules Data. The Manage Modules Data area is displayed.
3. Select the block for which you want to upload the zip.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
176
4. Click Load Data.
Users can also click Manage data files for branch in the list and download/upload data.
Since these are uploaded to the respective branches, users need to promote the
changes to get in the required branches.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
177
WebAPI
Uptime Report
Business Need
Currently, we are using a third party tool, which reports if the GraphCube service is down. This
is irrespective of whether it is scheduled or not, which can lead to a report of false positives due
to network issues, or in case the tenant is in the maintenance mode. Hence, there must be a
way to report the actual downtime for the GraphCube service i.e., the overall downtime -
planned maintenance mode time for a particular time period.
Functionality Description
Inputs Output
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
178
User Interface
You need to take help from the DevOps team to configure the steps mentioned
below.
● The deployment is exactly the same as the other microservice for the newly created
uptime rest service.
● Ensure that the ELK Indexes are rightly configured for both the Ops ELK and the
Platform Monitoring ELK.
● All users can view the same uptime report.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
179
Download Audit Trail Data in Local Time Zone
Business Need
Audit trail is the platform functionality to track measure changes and other transactions over a
period of time. The user can download the transactions to further aid the audit processes.
This new enhancement will allow the user to choose if the downloaded data needs to be in the
UTC time zone or the local time zone. This will enable the projects to create accurate and
relatable audit reports.
Functionality Description
1. Login to the o9 Web UI with the relevant credentials.
2. Go to the Debugging workspace.
3. Go to the Audit Trail View.
4. Search for the relevant timestamp and update type.
5. Click next to Download in UTC. The options are displayed.
6. Click the relevant option to download the data in the required format.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
180
Create New Tenant with Default Template as o9EmptyTemplate
Business Need
The Platform users faced frequent errors while trying to start a new tenant. This led to a bad
customer experience with a lot of tickets for the DevOps team.
With this enhancement, the default template is assigned as o9EmptyTemplate for all the newly
created tenants. This configures the newly created tenant with the minimum required
configurations to start and run immediately without any additional configurations. Hence, the
failures are reduced.
Functionality Description
1. Login to the o9 Web UI with the relevant credentials.
2. Go to the Tenants workspace. The Manage Tenants View is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
181
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
182
View Starting/Stopped Status of GraphCube Server with the Message
Log
Business Need
The Platform users encountered situations where they weren’t communicated about the
Starting/Stopped status of the GraphCube server along with the Message Log. This used to
create confusion and ambiguity.
With this new enhancement, the Action Status and the Message Log column is implemented
so that there is a clear communication about the Starting/Stopped status of the GraphCube
server. This will help users to understand the current status of the GraphCube clearly and in
case of any failure, the Message Log will display the error.
Functionality Description
1. Login to the o9 Web UI with the relevant credentials.
2. Go to the Deployment workspace. The Live Servers View is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
183
In case of failure, the Action Status and the Message Log column would reflect it.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
184
Platform Actions Blocked When Starting/Stopped Action of
GraphCube Server is in Progress
Business Need
The Platform users frequently received failures when trying to perform a platform action while
the Starting/Stopped action of the GraphCube server was already in progress.
This new enhancement has made all the platform activity exclusive and have reduced the
process failures. Users are not allowed to perform any platform action while the
Starting/Stopped action of the GraphCube Server is already in progress. An error message is
displayed which would help users understand why they are not allowed to perform the platform
action.
Functionality Description
To take a backup when the Start action of the GraphCube server is in progress:
1. Login to the o9 Web UI with the relevant credentials.
2. Go to the Deployment workspace. The Live Servers View is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
185
5. Go to the Manage Backups View.
6. Start a backup.The Create Backup dialog box is displayed with an error message: Your
request cannot be executed because a GraphCube Server Start is in progress.
Please try again after some time.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
186
Platform Error Codes Redirects to the Platform Wiki
Business Need
The Platform users encountered situations, where errors occurred and a simple text message
was displayed with no explanation and resolution, which created ambiguity.
The new enhancement has reduced this ambiguity. It has implemented error codes with the
capability to redirect to the Platform wiki with all the details pertaining to the error encountered.
The UI will display a message and mask the widget so that the user cannot interact. The error
message has a Refresh button, which will refresh the app but not the widget. Also, the child
widgets will be in sync and the refresh will take the app to the pre-edit state.
Functionality Description
1. Login to the o9 Web UI with the relevant credentials.
2. Go to any report which consumes high memory. The errors from the memory manager
along with the error code are displayed.
3. Click the error code. The Platform wiki page with the respective error code details is
displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
187
For more information, click GraphCube Service Errors
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
188
Auto Retry for Infrastructural Components of Backup & Restore
Action
Business Need
The Platform users faced frequent errors during a backup or restore action. This led to a bad
customer experience with a lot of tickets for the DevOps team.
The new enhancement has reduced failures. It has implemented the auto retry capability for all
the infrastructural components involved for a restore and a backup action. The automatic retry
will help users for the below components:
● Backup/Restore Workflow Status
● Upload/Download of files to and from the cloud
● SQL DataBase queries using EF context
● MongoDB connectivity
For configuring the auto retry, the users have the two app settings as below:
● AutoRetryMaxRetryCount (default 5): the max number of retries
● AutoRetryMaxDelay (default 30 sec): the longest delay between retries
○ The delay between retries gets longer exponentially with each
failure until it reaches AutoRetryMaxDelay
○ Exponential delay example - 0sec, 1sec, 3sec, 7sec, 15 sec, 30sec
Functionality Description
1. Login to the o9 Web UI with the relevant credentials.
2. Go to the Deployment workspace.
3. Got to the Manage Backups View.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
189
5. Select the relevant components for backup.
6. Click Backup. The backup activity is started.
7. Click Show Details of the Last Action grid. The BackupPrepareActivity is displayed.
In case of temporary failure, the auto retry will come in action and the overall status will
remain the same.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
190
In case of partial or complete failure, the Failed status with the error message is
displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
191
Prepare Phase, Automatic & Manual Retry Option for Backup
Business Need
The Platform users faced frequent errors while trying to take a backup. This led to a bad
customer experience with a lot of tickets for the DevOps team.
The current enhancement has reduced the failures by checking if the tenant is prepared to
successfully start and complete the backup activity. The users will be allowed to take a backup
of any component when the system is prepared and capable of taking a backup else the user
will not be allowed and will get an error message stating the gap(s) which would help users
understand why they are not allowed to perform the action.
Functionality Description
1. Prepare Phase is done for the below components:
● DataBase connectivity
● If backup files exist in the cloud
● GraphCube server connectivity
● Hbase connectivity
2. Automatic Retry help users for the below components:
● Backup Workflow Status
● Upload of backup files to the cloud
● SQL DataBase queries using EF context
● MongoDB connectivity
For configuring Auto Retry users will have 2 App Settings as below:
● AutoRetryMaxRetryCount (default 5): the max number of retries, and
● AutoRetryMaxDelay (default 30 sec): the longest delay between retries.
○ The delay between retries gets longer exponentially with each
failure until it reaches AutoRetryMaxDelay
○ Exponential delay example - 0sec, 1sec, 3sec, 7sec, 15 sec, 30sec
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
192
3. Manual Retry helps users to retry the backup actions which are partially completed or
failed.
● Partially Completed state is a case when any one backup step has
“COMPLETED”. Hence, the Retry button is visible.
● Failed state is a case when all the backup steps have “FAILED”. Hence, the
Retry button is visible.
● The Retry button is not visible for the case when all the backup steps have
“COMPLETED”.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
193
6. Click Backup. The backup activity is started.
7. Click Show Details of the Last Action grid. The BackupPrepareActivity is displayed.
In case of temporary failure, the auto retry will come in action and the overall status will
remain the same.
To proceed with the manual retry, click the Retry button in the Last Action Status
tabbed area, where Failed is displayed in the Action Status for the backup.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
194
Retry will again restart the same failed backup activity.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
195
Users Receive Notifications Whenever Solver is Running
Business Need
A solver is an action button of type “asynchronous” that runs from time to time on a tenant. With
this new enhancement, whenever a solver is running, the active users of the tenant will receive
a notification about when the solver (Action button) started and ended. This feature provides a
new type of notification, whenever an action button is linked with scenario(s).
The audience of this new type of notification depends on the scenario being private or public.
Functionality Description
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
196
6. Go to the FieldBindings tabbed area.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
197
9. Create a filter type Fieldbinding and link it to the version.
10. Ensure that you enter the FieldBinding’s name in the VersionOrScenarioField box.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
198
3. Click Set action buttons. The Action button bindings dialog box is displayed.
4. Click next to Action button bindings. The Action button bindings area is
displayed.
● Trigger a solver inside a View so that a scenario can be linked with the
same.
● Do not trigger it globally.
Notification Format
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
199
A new notification is being introduced where whenever a scenario linked Async type button is
triggered, it will display a notification like:
<ABName - ScenarioName - Message >
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
200
Hide ETL Records from Audit Trail
Business Need
This enhancement is introduced so that the transactions of the ETL Users can be hidden in the
Contextual View. A new flag SkipContextualAuditUsers is introduced, where the end user can
send an array of email IDs that are to be excluded from the Contextual Audit Trail.
Functionality Description
Enable the Flag
1. Go to O9Solutions tenant.
2. Go to the Deployment workspace.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
201
Add Users to the Flag
1. Login to the relevant tenant.
2. Go to the Deployment workspace.
5. Enter the email address of the ETL users (without any space).
The email address of the ETL users should be separated by a comma but there
should not be any space between them.
6. Click Update.
2. Click Show Audit Trail. The Audit Trail dialog box is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
202
● You need to ensure that the email IDs entered are without any commas.
● The users with the admin user rights can modify the Tenant System
Setting - SkipContextualAuditUsers.
● After the modification, the GraphCube needs to be restarted (i.e., save
and restart the tenant).
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
203
Organization Based Favorite Sharing
Business Need
In a multiple supplier environment, it is crucial to ensure that vendors or suppliers are unable to
view any personal information of other supplier organizations. Hence, in the current
enhancement, the concept of closed and open organization is introduced along with just saving
and sharing the favorite.
Functionality Description
A new column - IsOpen is added to the Manage Organization View of the Tenants workspace.
The default value for the IsOpen column is True. The organization can either be Open or
Closed.
If the Value is True Open Organization can view users of all organizations, for example, a
(Default) manufacturer who is getting supplies from multiple suppliers, or
o9solution which is an admin user.
In other words, autosuggest will display all the roles and users.
If the Value is Closed Organizations like suppliers can view users from only their
False organization.
Limitation:
● The closed org folks should not have admin, or system architect,
or data admin user roles.
● The role-based autosuggest is disabled for Closed Organization.
Favorite
Favorite Creation/Edit/Share/Delete/Factory Settings and Filter Template: How does it change
with closed and open organization?
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
204
Open Organization Closed Organization
Configuration
● You need to complete the reseed or download all the users and upload.
● Organizations and the corresponding Open/Closed status should be added or updated.
● The existing users download the same, update the organization, and reupload.
● New users with the correct organization should be added.
Limitation
Once a user is associated with an organization and a favorite is created, the movement of the
organization is not recommended.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
205
Upload Data Security Rules Using File
Business Need
The current enhancement allows you to upload Data Security Rules (DSRs) using a file. This
will also provide you with the flexibility in modifying or replacing DSRs in Plans, Dimensions,
and Measures.
Functionality Description
The earlier methods to upload DSRs are through Javascript or C# using SSIS, with the limitation
of not being able to delete and modify the rules. Hence, the current enhancement introduces a
new way to upload DSRs using a file in the CSV format with the following functionalities:
● Upsert: A functionality to modify some of the DSRs.
● Bulk Replace: Full file replace/update functionality, which helps in replacing the large
set of DSRs.
The table structure in the file is very similar to the table created while executing the
ACCESSCONTROLRULESINFO; command.
To safeguard against the unwanted changes, the upload is enabled through the SSIS upload
task. The additional Delete column detects whether the particular row is to be updated or not.
The default value is False.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
206
Action Button Name Incorporated in Platform Logs
Business Need
In some cases, when an action button is triggered, a notification is sent which redirects the
users to the My Action Buttons page, but at times the action buttons do not send a notification.
Hence, the information is lost.
In the current enhancement, the action button’s name is incorporated in the Platform logs so
that the records are duly maintained and can be traced back, if required.
Functionality Description
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
207
To trigger the action button:
1. Go to the relevant View.
2. Trigger the relevant action button.
The captured name in the logs here is “ActionButton Name” not “Action Button
Display Name”.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
208
Users Receiving Bulk Emails - MicroService
Business Need
The feature of user verification serves as a supplementary measure to ensure security and
confidentiality. Additionally, there is a feature to send bulk verification emails to all the tenants.
The current verification emails are sent from the WebAPI monolith, but with this new
enhancement the email services will be displayed in the EmailServices tabbed area of the
Debugging workspace.
Functionality Description
To trigger the bulk email verification:
1. Login to an environment with your credentials.
2. Go to the Users workspace.
3. Click next to the relevant user. The relevant details are displayed.
4. Click Send Verification Mails. The Send Verification Emails confirmation box is
displayed with this message: Are you sure you want to send verification emails to all
the 1 non-verified users?
5. Click OK.
6. Go to the Logs View of the Debugging workspace.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
209
7. Select the relevant time range.
8. Click Apply. An additional tab called EmailService is displayed.
9. Click the EmailService tab. The actions specific to email services are displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
210
The current enhancement verifies if the tenant configuration being restored is forward
compatible (backup taken on later platform versions can be restored in the older platform
version) with the target platform or not. This not only reduces the frequent failures while
performing the tenant config restore action, but also provides a better customer experience and
reduces a lot of tickets for the DevOps team.
Users are allowed to restore tenant config only when the tenant Config is forward compatible,
else the user is prohibited and receives an error message stating the compatibility gap. This
message helps users to understand why they are not able to perform an action.
Functionality Description
1. Login to the o9 Web UI with the relevant credentials.
2. Go to the Tenants Workspace. The Manage Tenants View is displayed by default.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
211
4. Click Upload backup zip file to upload the relevant file.
5. Click Submit. A message is displayed in the Notifications area stating the failure of the
tenant config restoration.
6. Click View More. The My Jobs View of the My Views workspace is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
212
8. Click the relevant status of the restore request. The compatibility issue is displayed.
You can even try restoring tenant config using the FTB pop-up, the same
compatibility check will be done.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
213
Prepare Phase for Restore Action
Business Need
The current enhancement verifies if the target tenant is prepared to successfully start and
complete the restore activity of any backup. This not only reduces the frequent failures while
performing the restore action, but also provides a better customer experience and reduces a lot
of tickets for the DevOps team.
Users are allowed to restore only when the system is prepared and capable of restoring a
backup, else the user is prohibited and receives an error message stating the gap(s). This
message helps users to understand why they are not able to perform an action.
Functionality Description
1. Login to the o9 Web UI with the relevant credentials.
2. Go to the Deployment workspace. The Live Servers View is displayed by default.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
214
3. Go to the Manage Backups View.
4. Click Restore Backup next to the relevant backup. The Restore Tenant dialog box is
displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
215
6. Click Restore. The RestorePrepareActivity in the BACKUPS > RESTORE STATUS
tabbed area is displayed.
In case of failure, the failed status is displayed with the error message.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
216
The current enhancement allows you to retry the restore action with a partially completed or a
failed status. This not only reduces the frequent failures while performing the restore action, but
also provides a better customer experience and reduces a lot of tickets for the DevOps team.
● Partially Completed Status: is a case when any one restore step is completed. Hence,
the Retry button is visible.
● Failed Status: is a case when all the restore steps are failed. Hence, the Retry button is
visible.
● Retry Button: This is hidden when all the restore steps are completed.
Functionality Description
1. Login to the o9 Web UI with the relevant credentials.
2. Go to the Deployment Workspace. The Live Servers View is displayed by default.
3. Click Show Details next to the restore that displays a FAILED status.
4. Click Retry. The Retry Backup Restore confirmation box is displayed with this
message: This action will restart the restore from the failed step for the tenant. Do
you want to continue with the retry?
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
217
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
218
Delete/Restore Action of InProgress Backup Blocked
Business Need
In the current enhancement the delete or restore action of an InProgress backup is blocked.
This not only reduces the frequent errors that were faced while deleting or restoring any
InProgress backup, but also provides a better customer experience and reduces a lot of tickets
for the DevOps team.
A backup is only deleted or restored when the workflow reaches a meaningful state i.e.,
Completed or Failed.
Functionality Description
1. Login to the o9 Web UI with the relevant credentials.
2. Go to the Deployment Workspace. The Live Servers View is displayed by default.
3. Go to the Manage Backups View.
4. Restore Operation in progress backup. An error message is displayed: Your request
could not be executed because a Backup is in progress. Please try again after
some time.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
219
There is no error message when the backup reaches a meaningful state
(completed/failed).
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
220
UserManagementAdmin User Roles Modifying Data Security Rules
Business Need
The platform users had to face multiple process gaps and had to follow-up with the users who
had the System Architect user roles to write the Data Security Rules.
With this enhancement, users who are assigned the UserManagementAdmin user role can write
the Data Security Rules using the Run User Security Rule action button in the B-U
Association workspace, which will call a JS that writes the Data Security Rules. In this way, the
process gaps and the follow-ups are reduced. Therefore, the customer experience is improved
and the support tickets related to the Data Security Rules issues are reduced.
Functionality Description
1. Login to the o9 Web UI with the relevant credentials.
2. Go to the B-U Association workspace.
3. Select the user for which you need to add the Data Security Rule.
4. Click the Run User Security Rule action button. The Run User Security Rule dialog
box is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
221
5. Click Submit to write the Data Security Rule for the same user.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
222
Clear Corrupt or Stuck Backup/Restore Activities
Business Need
Earlier in case of removing any corrupt or stuck backup/restore from the system, the platform
users had to follow up with the DevOps team and had to face multiple process gaps if they
required any other platform activity.
With this enhancement, the users who are assigned the Admin user role and the Tenant Admin
user role can clear the status in the Last Action Status tabbed area of the Deployment
workspace. They can use the Clear button and remove the corrupt or stuck backup/restore
activity from the system. Hence, allowing requests for other platform activities.
In this way, the process gaps and the follow-ups are reduced. Therefore, the customer
experience is improved and the support tickets related to the corrupt or stuck backup/restore
issues are reduced.
● Admin user role: The users who are assigned this user role can access
the Clear button at any point of time.
● Tenant Admin user role: The users who are assigned this user role can
access the Clear button only post 120 mins after the corrupt or stuck
action started.
● The Last Action Status tabbed area will display STARTED or
SCHEDULED in the Status column when any Backup/Restore gets
corrupt or stuck but these status do not necessarily indicate that the
process is corrupt or stuck.
Functionality Description
1. Login to the o9 Web UI with the relevant credentials.
2. Go to the Deployment Workspace. A Backup/Restore is displayed in the Action column
of the Last Action Status tabbed area, which will also display STARTED or
SCHEDULED in the Status column when they get corrupted or stuck.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
223
3. Click the Clear button to remove the corrupted or stuck activity from the system. A
message is displayed: Going ahead will abort this process and users can initiate a
new action. Are you sure you want to continue?
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
224
5. Click OK. The previous action - Live Server Save is displayed in the Last Action
Status tabbed area.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
225
Conflicting Platform Actions are Blocked
Business Need
Earlier, while the Reseed Tags, Save, Background Save, Import of Model Lib Pkg, Collab
Backup/Restore, Config Backup/Restore were in progress and at the same time a user tried
performing a platform action, the actions failed.
With this new enhancement, all the platform activity has become exclusive and the process
failures are reduced. Users are not allowed to perform any platform action while Reseed Tags,
Save, Background Save, Import of Model Lib Pkg, Collab Backup/Restore, Config
Backup/Restore are in progress. Users will also receive an error message which would help to
understand why they are not allowed to perform the platform action.
Therefore, the customer experience is improved and the support tickets are reduced for the
DevOps team.
The platform actions will be blocked as per the matrix below:
Import
of
Backgr Model Collab Collab Config Config
Activity in Backu Restor Delete Resee ound library Backu Restor Backu Restor
progress p e Tenant d Stop Save Save pkg p e p e Start
Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't
Reseed allow allow allow allow allow allow allow allow allow allow allow allow allow
Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't
Save allow allow allow allow allow allow allow allow allow allow allow allow allow
Background Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't
Save allow allow allow allow allow allow allow allow allow allow allow allow allow
Import of
Model library Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't
pkg allow allow allow allow allow allow allow allow allow allow allow allow allow
Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't
Collab Backup allow allow allow allow allow allow allow allow allow allow allow allow allow
Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't
Collab Restore allow allow allow allow allow allow allow allow allow allow allow allow allow
Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't
Config Backup allow allow allow allow allow allow allow allow allow allow allow allow allow
Config Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't Don't
Restore allow allow allow allow allow allow allow allow allow allow allow allow allow
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
226
Functionality Description
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
227
7. Click +Backup. The Edit dialog box is displayed.
8. Click Update to start the backup. An error message is displayed: Your request could
not be executed because a Live Server Save is in progress. Please try again after
some time
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
228
For Restore Action While Save is in Progress:
1. Login to the o9 Web UI with the relevant credentials.
2. Go to the Deployment Workspace. The Live Servers View is displayed by default.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
229
7. Click Restore Backup to restore a completed backup. The Restore Tenant dialog box
is displayed.
8. Click Restore to start the restoration. An error message is displayed: Your request
could not be executed because a Live Server Save is in progress. Please try again
after some time
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
230
The same behavior is visible for other combinations as well based upon the
matrix.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
231
GraphCube
Discard Partial File Uploads
Business Need
Users need an option to let the file upload go through or fail, whenever there are bad records in
the file i.e., file upload is partial.
Functionality Description
A new checkbox Allow partial upload is introduced in the file upload functionality. This will
allow users to have the flexibility of letting the partial uploads go through or not.
Syntax:
UPLOADDATAFILE(<path>,
<isClouldFile>,<fileType>,<overrideWithNulls>,<delimiter>,<denypartialupload>);
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
232
Alternate Hierarchy Performance Improvement
Business Need
When there are attributes from multiple unrelated hierarchies of the same dimension in a report,
the performance becomes slower due to the amount of table scanning involved across the
hierarchies.
Functionality Description
The enhancement is made in 2 different areas:
1. For write operations, the server scans only once, comprehends the level of spreading
required and doesn’t scan multiple times, making the performance faster by skipping
some of the unnecessary scan steps.
2. The way hierarchical lookup is done is improved where the server’s intersecting of
multiple attributes across hierarchies are scanned for leaf level intersections is now
optimized by server’s lookup across hierarchies separately thereby cutting down on the
number of joins and still keeping the table scan intact.
Improvements (in computation times depends on the number of hierarchies, number of leaf level
members in the report along with the usual factors that determine performance server specs,
concurrency, table size etc.) have been seen from 10-15% in read & write operations when
there are > 3 hierarchies of the same dimension involved in a particular report.
Installagent Logs in UI
Business Need
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
233
Installagent is a part of the LS process and is involved during FTB, FTBR, Tenant Restart, etc.
Currently, the Installagent logs are available in the UI and you can access them from the same.
Functionality Description
1. Go to the Debugging Workspace. The Logs View is displayed.
2. Filter Installagent in server.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
234
FilterbyUpdates Performance Improvement
Business Need
When a user updates cells in a pivot grid, it both does the updates and reloads the report with
the updated values. This reloading select query gets fired as part of the update query with
filterbyupdates clause. It is observed that select query with filterbyupdates takes longer than
the usual select query due to the amount of table scan involved. This is only seen in datasets
with a large number of members.
Functionality Description
During filterbyupdates, earlier the server used to create full scope for filtering of the updated
values. Right now, the server will only look at the filters applied already in the updated scope
and recreate the scope for filtering updated values. If there are no filters, only then the server
uses full scope. This improves performance wherever filterbyupdates clause is used, with more
pronounced improvement wherever large dimensions are used.
Select Query Time Select Part of the Update Previous Time Select Part of the Update Current Time Taken
Limitation
This enhancement shows significant results for where large membersets are involved and the
performance might not be as pronounced for measure groups with attributes with small
membersets as part of their granularity.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
235
Data Admin vs Non Data Admin Improvement in Block Scope
Business Need
This is a performance improvement made on block statements involving a high number of
measures and a large memberset filters for users with the non-data admin rights.
Functionality Description
● For users with the data admin user rights, no permission checks are scanned as they
have access to the full data.
● For users with the non-data admin user rights, previously the server would traverse the
full memberset filter for each of the measures, which took a long time for the server to
execute the block scope statements given that the traversal of the full memberset filter
for every measure separately.
This improvement is made for the server to comprehend the memberset filters and store them
during the traversal. Thereby, improving performance and computational efficiency for non-data
admin users.
The sample numbers* for the block scope statement post optimization:
Limitations
This is valid for data admin vs non-data admin performance in block scope. The performance
improvement will be more pronounced when there will be a large member set and a large
number of measures.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
236
External Measure Group Disk optimisation
Business Need
The measure groups deployed to hive consume a lot of disk space in case the measure groups
are never synced to Hive. Hence, in the current enhancement an option is provided for the
projects to optimize the disk space without cleaning up regularly.
Functionality Description
If measure groups are deployed to hive, then the GraphCube tracks all the changes to the SSD
storage drive from the point of last sync done to Hive so that the sync external would be faster.
However, certain measure groups are never synced to Hive. Hence, the disk utilization keeps
on increasing.
A new setting Persist Transaction Delta is introduced in measure group settings which allows
the configurators to decide whether the tracking is required or not.
1. Go to the Designer workspace.
2. Open the external measure group setting for the measure group deployed on hive.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
237
The Persist Transaction Delta checkbox is already selected.
3. Clear the Persist Transaction Delta checkbox. This will stop tracking the edits made to
the measure group.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
238
Disabled Hierarchy
Business Need
Currently, the Ops team gets a lot of tickets where the tenant does not start due to the config
mismatch. The tenants won't start if the config and the data are not in sync. This can happen if
you create hierarchies in different tenants and load the config in a different tenant, where data is
not compatible with the incoming config.
The sample error below indicates the same:
Error creating hierarchy for member [[Item].[L1].[NO AVAILABLE]] (key: 1). No ancestor
member found for at least one level - possibly for attribute
[GBE]o9.GraphCube.util.GraphCubeException: Error creating hierarchy for member
[[Item].[L1].[NO AVAILABLE]] (key: 1).
Functionality Description
● The tenants will start even if config & data are not in sync.
● After the tenant starts, if GraphCube finds any child member whose ancestor is not
found, it collects the level information of both the child and the non-existent ancestor. At
the end, the hierarchy is marked as disabled.
● Users can correct the config or re-upload the problematic dim file with the correct data.
● After the config and data are in sync, the user can enable the hierarchy from the UI.
● Disabling a hierarchy has the same effect on the overall tenant usability as if the
hierarchy never existed. In cases where users start using the tenant without correcting
the data:
○ All the user actions not referencing problematic dimensions work as usual.
○ The flow depending on the problematic hierarchy fails.
● What needs to be done in case a hierarchy is disabled?
○ Option1: Re-upload the dimension data to bring the config and the data in sync.
○ Option 2: If you are not able to bring the config-data in sync after uploading the
dimension data, then delete the disabled hierarchy and create a new hierarchy to
bring the config-data in sync.
○ Option3: If both the options mentioned above fail, restore the last good backup.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
239
1. Go to the Designer workspace.
2. Open the Dimension for which a hierarchy is disabled. The disabled hierarchy is without
any color (Example: ProductHierarchy).
3. Click the Hand icon . An error message is displayed.
Once the config and the data are in sync, you can select the Is Enabled checkbox to
enable a disabled hierarchy.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
240
Performance Improvement
Leadoffset
Business Need
The Leadoffset() function that is used to copy values from an older time duration can take time if
the table size is large.
Functionality Description
The way joins are made in the database for leadoffset() are currently optimized to offer
improvements in copying values from either the same measure or a measure from the same
measure group, and when there is only one measure group in the rule with leadoffset() function.
Limitations
This enhancement is only valid for leadoffset function with LHS & RHS measures in the same
measure group.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
241
Soft Delete
Business Need
Previously, when members were soft deleted, they were marked as inactive, got deleted, and
the delete transactions were persisted to base delta. This meant both slow soft delete
operations and also slow save given the size of base delta.
Functionality Description
The current enhancement is made to mark soft deleted members as inactive and separate them
out from base delta. Their actual deletion of these separated out entities will happen during
save.
Save will also be faster because the base delta that gets merged to disk during save is also not
bloated due to the soft deleted members residing in it.
The enhancement is governed by the DeleteFactDataOnSoftDelete flag. The default value is
set to FALSE which will use the optimized behavior.
Limitations
● This enhancement will not immediately free up disk space but post save when the soft
deleted members are flushed out.
● This enhancement is only valid for soft deletion of members.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
242
Memory Monitoring LS Commands
Business Need
The performance monitoring is one of the important aspects of understanding tenant health
status. It also helps to take corrective action by understanding the memory consumption by the
tenant. Few commands have been created to do the monitoring in a more efficient manner.
Functionality Description
GetTenantStats
The GetTenantStats command provides the information on total memory consumption and disk
usage just before the last save. You can gather the top 10 measure group name and related
information including the disk usage by running this command. This command does not provide
the memory usage for MG.
● //Command to get tenant stats from debugger
● EXECSERVICECOMMAND [GetTenantStats];
Sample Output:
MemoryUsage
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
243
This is the command to get total RAM memory usage for the tenant from the debugger. Users
can use this command to find the top MG contributing to memory.
● EXECSERVICECOMMAND [MemoryUsage] ARGUMENTS {"Command": "ENABLE",
"Value": "True"};
Sample Result
"Result": "[Memory before garbage collection is : 15203 MB,\nMemory after garbage collection
is : 8842 MB,\n
Name:[FactOPDemandTimeGranularity] Version:[0] Table:[58]MB Delta:[0]MB,\n
Name:[FactOPDeliveryPlan] Version:[0] Table:[45]MB Delta:[0]MB,
Total Estimate :[269] MB]",
Result Interpretation
● The sample result displays the tenants currently use heap RAM memory of 8842 MB.
● FactOPDemandTimeGranularity Mg uses 58 MB in memory.
● FactOPDemandTimeGranularity, FactOPDeliveryPlan are top 2 MG taking memory.
LogMemoryUsage
This is the command to print RAM Memory usage one time and periodically. This command
helps to understand the impact of the running procedure, rule, or any other command on the
RAM memory. For disk memory, refer save stat and GetTenantStat command.
//Command to enable memory usage and print once
1. EXECSERVICECOMMAND [LogMemoryUsage] ARGUMENTS {"Command":
"ENABLE", "Value": "True"}; //Command to print memory usage at time interval
2. EXECSERVICECOMMAND [LogMemoryUsage] ARGUMENTS {"Command":
"ENABLE", "Value":"True","IntervalSecs":"60"}; //Command to disable memory usage
3. EXECSERVICECOMMAND [LogMemoryUsage] ARGUMENTS {"Command":
"ENABLE", "Value":"False"};
Sample Result in Log
Total-Memory after full collection: 15580 MB, Heap-Size: 8873 MB
Result Interpretation
● For this tenant, the current total RAM memory is 15580 MB.
● Currently, total heap memory is 8873 MB.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
244
Save Stat
There is no command for save stat. It is printed as part of all save commands in the log.
Save stat prints statistics for save. Users can find total time including its breakup taken by save
process. Identifying which sub-component of save took higher time is important to take
corrective action.
For example, if savemergedatatowip took significantly higher time than last save, then it is an
indication that the user has created a high amount of data on the tenant. Similarly, the
copydatatotarget indicates that the user has created possibly multiple new scenarios or versions
which is resulting in high data copy time.
Save stat also prints the top 10 measure groups which contribute to total save time. It includes
the count of total row that is merged and total count row on the base table. The periodic
monitoring of the top 10 measure group can help identify MG where a very high intersection is
created by user mistake.
Save stat also prints the number of scenarios created and deleted. It is important to understand
that the scenario deletion and then scenario creation with the save name is equivalent to 2 new
scenario creations to save time.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
245
Integration
Support of Avro File Format in Kafka Inbound API
Business Need
The business need here is to provide the option in the Kafka inbound staging APIs to consume
the avro file format messages.
Functionality Description
Kafka Inbound staging APIs were supporting only JSON messages, but currently, 3 new
parameters are introduced to support the AVRO messages.
1. File Format (JSON, AVRO)
2. Schema Access Strategy (Embedded Avro Schema, Confluent Encoded)
3. Confluent Schema Registry (Separate template to provide an option to provide schema
registry URLs)
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
246
6. Select embedded-avro-schema in the Schema Access Strategy list if the incoming
Avro messages have the schema embedded in the message itself.
1. Create a Confluent Schema Registry resource (Client shares the schema registry URLs
and the authentication details).
2. Enter the confluent schema registry resource name in the Kafka Inbound APIs.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
247
Integration 3.0
Business Need
Integration 3.0 is the o9 in-house ETL solution to provide seamless data integration between
external systems and the o9 ecosystem. With Integration 3.0 data engineers can execute data
pipelines in a low code environment with massive parallel processing in a handful of design
patterns by using the dynamic nature of its pipeline generation.
Integration 3.0 can collect diverse data faster, build business logic in a visual environment, and
eliminate most of the hand-coding to ingress and egress data.
Functionality Description
● Unified UI to create, publish, and execute data pipelines
● In-built integration of orchestrator tool airflow in the backend
● Use massive parallel processing by executing pipelines via Spark
● Use cloud data lake and support all top cloud data lakes (s3 , GCS and ADLS)
● Parameterization of data pipelines to reduce development time
● API reference for all operations of 3.0
● Seamless integration to GraphCube from different data sources for both ingress and
egress use cases
● Inter tenant pipelines dependencies across multiple tenants
● Multi tenant canvas to obtain a lineage of artifacts across multiple tenants
● Packaging of inter tenant pipelines to export/import across tenants
Features
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
248
Here is a generic data lake implementation usually follows in S3 but based on the project need
and the different cloud vendors, this might change.
1. Create S3 Bucket: The first step is to create an S3 bucket to store the data. You can do
this using the AWS Management Console or by using the AWS Command Line Interface
(CLI).
2. Define Raw Layer: The raw layer is where you will store all of your data in its original
format. You can create a folder in your S3 bucket called "raw" and then start uploading
your data to this folder. It is important to keep the data in its raw format so that you can
easily process and transform it later on.
3. Define Stage Layer: The stage layer is where you will store data that has been
processed, but not yet cleaned or transformed. You can create a folder in your S3
bucket called "stage" and then move the data that has been processed to this folder. It is
important to keep the stage layer separate from the raw layer so that you can easily
track changes and avoid confusion.
4. Define Curate Layer: The curate layer is where you will store data that has been
cleaned, transformed, and curated for analysis. You can create a folder in your S3
bucket called "curate" and then move the data that has been cleaned and transformed to
this folder. It is important to keep the curate layer separate from the raw and stage layers
so that you can easily track changes and avoid confusion.
5. Use Parquet File Format: The Parquet file format is a columnar storage format that is
optimized for large-scale data processing. It is highly recommended for data lakes
because it allows for efficient processing of large datasets. To use the Parquet file
format, you can convert your data to Parquet using a tool like Apache Spark
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
249
6. Store Parquet Files in Each Layer: Once you have your Parquet files, you can store
them in stages and curate layers of your data lake.For the stage layer, you can store the
Parquet files in the "stage" folder. And for the curate layer, you can store the Parquet
files in the "curate" folder.
By following these steps, you can create a data lake on Amazon S3 with raw, stage, and
curate layers, and use the Parquet file format for efficient processing of large datasets.
Pipeline Schedules
Integration 3.0 pipelines support triggering and execution in multiple ways including:
1. On Demand
2. Scheduled (Predefined schedule to run at a particular time)
3. Event Based (Start or Completion of another Pipeline)
Airflow DAGs have built in support for specifying DAG executions in multiple ways including via
manual triggering and cron-like schedules.
Parametrization
Parameters are simple substitution variables which are used to minimize hard-coding in ETL.
Thereby, increasing flexibility, reusability, readability and avoiding rework by changing the
values in the flow. It provides us with the flexibility to change parameter and variable values
every time we run a session or workflow without touching the pipelines. Parameters feature will
help to make the pipelines dynamic in nature and will help in reducing redundant creation of
datanodes or pipelines. Parameters can be used to substitute variables in the datanodes and
transformers.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
250
The purpose of this attribute is to expose a subset of a tenant’s Integration workspace
components in other tenants workspaces to build inter-tenant Integration workflows.
IsShared value is added to every datanode/datastore and possible values are “False” (default),
“True” and “Inherit”.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
251
Platform Health Monitoring Report - NiFi
Business Need
Platform Health Monitoring Service involves monitoring different components of the Platform
and reporting their configuration and health data in a GUI. A NiFi component is added to the
Platform Health check monitoring report.
Functionality Description
● A NiFi Reporting task is created for this implementation to push the health check details
of NiFi to RabbitMQ.
● As part of this registration, the NiFi Reporting task will start a timer (based on an interval
specified in config). Every time the timer goes off, it will try to call an implementation of
PlatformReportBuilder.buildReport().
● The components specified in the config will have implementations of their respective
health checks.
● The data will be pushed to RabbitMQ, which in turn can be visualized in Kibo.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
252
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
253
In kibo, in the Health Check View, the config details and the NiFi health is displayed.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
254
Advanced Analytics
Python Upgrade Optimization
Business Need
Python upgrades start only after the other components (LS, WebAPI, etc.) are upgraded. This
renders the Python environments to be not completely usable, even when the tenants are up
and running because of background upgrades.
In the current enhancement, the Python upgrades can run independently of LS/WebAPI and will
bring the Python environment downtime considerably.
Functionality Description
Python platform pushes the upgrade messages to WebAPI through a message broker
RabbitMQ. Previously, the Python upgrades had limitations with RabbitMQ messaging, where
the messages were volatile and would vanish whenever RabbitMQ was restarted. This limitation
has been resolved and the Python upgrades can happen in parallel with the other components
in the subsequent releases.
This is not applicable for the April release as WebAPI changes are needed first to
parse the updated Python upgrade messages.
This will significantly bring down the downtime for Python environments after the tenant is made
usable.
In addition to this, the upgrade process has also been optimized where going forward only o9
packages (pypluginhelpers, o9common, o9flow, etc.) will be updated if there are no changes in
the standard packages list in the Conda environment. This upgrade will be much faster as it will
do away with the time-taking package dependencies resolution process by Conda.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
255
Python Plugin Status Notification
Business Need
The python plugin runs on a dedicated cluster in the sliced/unsliced mode. This cluster is
usually shared across multiple tenants in an environment. Sometimes, the python plugins may
go into a queue waiting for the cluster’s resources to become available as it is a shared
resource.
This enhancement shows the plugin’s position in the queue as a notification in case the plugin is
stuck in the starting state. The notification is only displayed if the plugin is triggered through an
action button.
Functionality Description
In such cases, a plugin will wait until the resources that it has requested for are available on the
cluster. It is depicted by a repetitive message in the logs in the following form:
Got script execution state [starting] from Spark for <>
If the plugin is triggered through an action button and is in the waiting state, then the user who
has triggered the plugin will see a notification in the concerned tenant. The notification displays
that the plugin is stuck in the starting state and the queue position of the plugin.
The other details regarding the cluster’s available resources are displayed in the
Logs View of the Debugging workspace.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
256
o9 Predict.ai Enhancements
Business Need
Improving accuracy of forecast is a key requirement for Demand planning applications that
o9Predict.ai is addressing. As part of this ongoing objective, two new enhancements to
o9predict.ai plugins are introduced.
Functionality Description
1. New algorithms are available as UseBeta Models which can be used by passing
the correct dynamic arg as follows:
● MutliModalAttention
● Simplified Temporal Fusion Transformer
2. Users are free to select algorithms at the higher levels in a stacked recipe.
Stacked recipe algorithm selection which was fixed (prophet, attention) will be
configurable to the user now using a dynamic argument.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
257
Platform Resiliency: Lack of Cluster Resources
Business Need
Python plugins run on a dedicated cluster in the sliced/unsliced modes. This cluster is usually
shared across multiple tenants in an environment. Since this is a shared resource, python
plugins may sometimes go into a queue, waiting for the cluster’s resources to become available.
The current enhancement provides the plugin’s position in the queue if it’s in the waiting state
and the cluster’s current memory snapshot.
Functionality Description
ERR-AA-M01: Lack of Cluster Resources
Python plugins run on a cluster in the sliced/unsliced modes. Since this cluster is usually shared
across multiple tenants in an environment, a plugin can go into waiting (starting) state if enough
resources that the plugin has requested for are not available on the cluster.
This is depicted by a repetitive message in the logs in the following form:
Got script execution state [starting] from Spark for <>
In such cases, a plugin will wait until the resources that it has requested for are available on the
cluster. The users will now get more information about the current state of the plugin and the
resources available on the cluster.
Message:
{"queuePosition":2,"queueLevelResources":{"resourcesUsed":{"memory":"83968","vCore
s":"8"},"maxCapacity":{"memory":"89210","vCores":"23"}},"nodeLevelResources":{"availa
bleMemory":{"min":"1072","max":"4084"},"availableVCores":{"min":"3","max":"10"}}}
queuePosition: This denotes the current position of the plugin in the queue. In this case, the
plugin’s position is #2 in the queue i.e., it will be the second job to be picked up once the
cluster’s resources are available.
resourcesUsed (memory/vCores): This displays the current snapshot of the cluster for
memory/vCores. In this case, the memory available on the cluster is 89210-83968 = ~5.2 GB
nodeLevelResources: Each cluster has multiple nodes. This information displays the minimum
and maximum resources available on each node. For example, in this case, the minimum
available memory on all the nodes (nodeLevelResources.availableMemory.min) is 1072 MB,
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
258
whereas the maximum available memory on all the nodes
(nodeLevelResources.availableMemory.max) is 4084 MB. This means that a user cannot
request for an executor with memory more than ~4GB even though the cluster has ~5GB of
memory available.
These numbers are dynamic and can change depending on the cluster’s
resource usage. Also, the actual capacity available for use can be less than the
available capacity as some memory might be used for other overhead
operations.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
259
Python Platform Error Resolution
Business Need
Python platform errors are usually embedded deeper inside the Kibo logs and it’s hard for a
tenant user to understand the error and the resolution. With this enhancement, some common
python errors will now be prefixed with an error code. This will highlight the error, the error type,
and the description of the error along with the possible resolution.
Functionality Description
For more information on the steps to create a Conda environment , click Tenant
with Conda Environment and Python Packages
After you create a Conda environment, you will view a UI like the one below:
If the Conda environment exists but the error is still displayed, check if the user is using
(PythonPath,””) dynamic argument in the plugin’s execute command.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
260
● If yes, then the path doesn’t exist. Execute plugins without the PythonPath argument.
● If not, then raise a ticket with the Support team.
The error could be because of the following reasons:
● The Conda environment doesn’t exist on all the nodes (possibly a mount issue).
● The Conda directory doesn’t have the necessary permissions.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
261
SCS
Co-Product/Bi-Product Pegging
Business Need
Some manufacturing processes/activities lead to production of more than one product. While
the demand can be for the main product, other co-products are also produced.
Currently, the pegging supplies are pegged proportionately to the number of products produced
at the demand node. In some businesses, it is not required to peg supplies to Bi-Products.
Hence, there was a need to modify the current pegging behavior and to provide flexibility to the
business on pegging of Co-Products or Bi-Products.
In the above example along with FG_1, three other co-products are produced by BOM Activity.
While there would be flow plans on edge producing all four(4) products, T&E are really not main
products. So while pegging supplies to demand, it is not required in some business cases to
peg to all produced Items.
Functionality Description
Consider the supply chain below:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
262
● BOH: RM_1, RM_2, 10 Units each @W1
● BOH: T&E1 & T&E2 , 10 units each @W1
● Planning Horizon: W1 to W52, LT of all activities one(1) week
● T&E1 and T&E2 are co-products/bi-products along with production of FG_1 at DC_1
● Output: Demand would be met on W10
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
263
Plant_1 to DC_1
In Both Consumption & Production Pegging, Flow plans are pegged proportionately to Bi-
Products also.
Configuration
Users will have to create a measure with grain as mentioned below and populate the necessary
intersections to see the expected behavior.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
264
Parameter: No additional parameter is required.
Assumption
There would be no demand for Bi-Products.
Limitation
CoProduct/Bi-Product does not work with Incremental Planning.
With Bi-Product flag as True:1, for Activity & Material Node: flow plans would not change (refer
earlier flow plans). However, these would be excluded from pegging outputs.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
265
1. FG_1 - Shipment via Air from Plant_1 to DC_1 & T&E1,DC_1 - Is Producing ByProduct -
True
2. FG_1 - Shipment via Air from Plant_1 to DC_1 & T&E2,DC_1 - Is Producing ByProduct -
True
By Default, all would be considered as Co-Products (which can be a valid case) for pegging. If
pegging is not required for Co-Products/Bi-Products, users would have to define measure to
True at production edge.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
266
Planned Order WIP Support in Incremental Plan
Business Need
Businesses model planned order WIPs with just produced item, produced location and
produced date and no activity grain when BOM or routing information is not known beforehand.
When running an incremental plan, it is required that the planned orders inputs be considered
for the incremental planning. Also, planners should be able to make modifications to the
planned orders. Thus, it is required that the incremental plan be capable of considering the
planned orders.
Functionality Description
Previously, when planned orders were defined in a network and incremental plan was run, the
solver could not handle the planned orders data as part of the inputs for the incremental plan.
Since this support was not available, the planners could not define the planned orders in the
network where the incremental plan was to be run.
The solver has been enhanced to provide compatibility between incremental plan and Planned
Orders. It is now possible to specify Planned Orders in the network which will be part of the
incremental planning workflow and Solver will consider the Planned Orders while doing the
incremental plan run and generate the outputs accordingly. The enhancement also allows
planners to now modify the Planned Orders and mark them for incremental planning via the WIP
override table used for making WIP changes during incremental plan. Therefore, Solver is now
capable of handling Planned Orders during the incremental plan.
Configuration
There is no dedicated configuration introduced as part of this enhancement and it is purely
additional support provided in the incremental planning workflow.
Examples
Let’s consider the supply chain as depicted below.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
267
Activity Lead Time
Demands
Material Supply
Capacity Availability
Capacity is unconstrained.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
268
Delivery Plan after Full Plan
Material Production Pegging for Planned Order WIP after Full Plan
Order ID Bucket Met on Time Qty Late Qty Short Qty Participated in Inc Plan
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
269
Material Production Pegging for Planned Order WIP after Incremental Plan
Production WIP
WIP Lot ID Node Activity Bucket WIP Qty WIP Infeasibility Resolution
Demand
Material Supply
Capacity Availability
Capacity is unconstrained.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
270
Delivery Plan after Full Plan
Material Production Pegging for Planned Order WIP after Full Plan
Order ID Bucket Met on Time Qty Late Qty Short Qty Participated in Inc Plan
Material Production Pegging for Planned Order WIP after Incremental Plan
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
271
Supportability for SS Build Ahead in Case of Min-Max Type of Safety
Stock Policy
Business Need
The safety stock refers to the extra materials that are maintained to cater to the unplanned
demand and thus avoid any cases of stockouts. There are cases where safety stock cannot be
planned for the item on a given day due to capacity constraints. In such cases, the supply chain
solver tries to build them in earlier time buckets based on the capacity available.
Functionality Description
The SS BAL feature was previously unavailable for the new min-max type of SS policy. This
was done in order to maintain the policy behavior:
1. The EOH on any time bucket must lie between the predefined minimum and maximum
stock limits.
2. The safety stock plan gets triggered when:
a. EOH value goes below the reorder point (min value), or
b. there is any production in a bucket and EOH is above the Reorder Point, then SS
planning is triggered with gap (Target-EOH) to meet the target
With this enhancement, the restriction of inventory levels floating between min and max value is
relaxed and if SS BAL is defined, SCS can produce extra materials in earlier time buckets. In
such cases, the EOH might go above the predefined max stock value.
Configuration
There are no changes to be made in the SCS instance while configuring the safety stock related
parameters. However, while running the SCS plugin, the parameters blow are mandatory to see
this behavior:
● ([Inventory Plan Policy], "MIN_MAX")
● ([Inventory Plan Policy Min_Max Legacy], "False")
Example
Consider this supply chain network:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
272
● BOH = 500 at RM, Plant on W01
● Lead time for manufacturing activity = 1 week
● Lead time for shipment = 2 weeks
● Capacity for R1:
● W04 = 300 units
● W05 = 100 units
● Expected receipt = 50 at FG, Plant on W04
Demand Values
Order Name Location Item Fiscal Week Demand Priority Demand Quantity
Solver is run with material and capacity constraint, ([Inventory Plan Policy], "MIN_MAX"),
([Inventory Plan Policy Min_Max Legacy], "False"), ([SS Build Ahead Limit], 1)
Post demand planning, the inventory plan output at FG, plant would looks as below:
W4 W5 W6 W7
BOH 0 50 50 0
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
273
Production Qty 50 100 100 0
EOH 50 50 0 0
During safety stock planning, the solver will move-in 50 units from W06 to W05 in order to meet
the SS target on W05.
Next while planning the SS for W06, solver can only produce 50 units of fresh quantity on W06
due to the capacity constraint. Remaining 50 units are produced on W05 since BAL is defined.
This will lead to EOH going above the max target value defined at that material node.
The final inventory plan output after demand and SS planning would looks as below:
W4 W5 W6 W7
min 50 50
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
274
Actionable RCA
Business Need
As per the existing solver design, the RCA is reported along the primary path and on the JIT
bucket only. This is (sometimes), not actionable from an end user perspective.
Consider an example wherein there is a lead time constraint reported against a demand. This
means that the solver was not able to traverse upstream for that demand because of an
aggressive due date. It does not provide any insight into material or capacity constraints
upstream. This is one example of how the existing RCA can be extended/modified to provide
insights into actual requirements.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
275
Functionality Description
User can use the following flag to exclude the demand from RCA pass:
Disable RCA Demand Measure Name
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
276
Grain - Demand Node Components
● This is a Boolean flag and setting it to True ensures that D3 is not part of the RCA pass,
and only D1, D2 and D4 (if met late or short) will have an RCA associated with them.
● D3 will also not be part of either OBO and Additive RCA as well as RCA peggings (in
case of pegging type = short and late demands only)
This does not impact the calculations of measures like Met on time, Met short
etc. In the above case, the met on time will be 25, and met late will be 75.
User can use the following measure name to add a fence to the demand:
RCA Fence Demand Measure Name
Grain- Demand node components
This is of datatype Integer and enables users to add a fence to the JIT bucket and report
RCA on the late part (JIT+fence) of demand.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
277
This feature is similar to the RCA fence, but allows the end user to shift the demand due
date by some time buckets to provide RCA on demands which have run into Lead time
constraints.
In the example shown above, let’s say there is a single demand D1 which is due at DC
on W2. Since this demand runs into a Lead Time before Plan current issue as per the
current design. The ask by date enables the user to add some time buckets to the
demand due bucket, so that any Lead time issues are circumvented and the solver gives
the actual material and capacity requirements.
Configuration
Disable RCA Item, location, Demand qty Boolean flag at SCS config UI
demand fiscal week, demand level. If
Measure name order name, set to TRUE,
customer name demand will not
be part of RCA
RCA fence Item, location, Demand qty Integer type SCS config UI
Demand fiscal week, measure.
measure name order name, Includes all
customer name deliveries within
the fence as on
time
RCA Due Date Item, location, Demand qty Integer type SCS config UI
Offset Demand fiscal week, measure. Shifts
Measure Name order name, the demand due
customer name date by x
buckets
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
278
Mandatory Pre Build Offset Extended support (Hard Quarantine, BOM
Offset, Delivery Plan Offset)
Business Need
There are certain businesses like CPG, Pharmaceuticals that need a quarantine period (quality
inspection) before shipping the products to customers. The manufactured products need to be
held till the quarantine period is over, and only then be delivered to the customer. This is
sometimes referred to as hard quarantine.
Some other businesses require to model a Goods Receipt Lead Time (GR LT). This is
essentially the time taken in handling/moving the goods to the store shelf after they have been
dropped to the store inbound area from DC. Hence, at the delivery node,
Total Lead Time = Activity Lead Time (ALT) + Goods Receipt Lead Time (GR LT)
A Goods Receipt operation then takes place after the material is produced and only post GR LT
the supply should be consumed for fulfillment of the demand.
There can be analogous use cases for businesses that might require similar behavior to be
modeled in terms of consumption.
Functionality Description
As per the existing SCS behavior, supplies are consumed on JIT or offset from the JIT bucket
by lead time of the activity. The hard quarantine enhancement would require the supplies to
respect a quarantine period before being consumed for demand fulfillment. The quarantine
period would be defined at a material node level.
The requirement for Hard Quarantine is that the produced item has to spend a specified period
of time at a location. It cannot be moved out of this location without spending the minimum
specified time at that location. This produced quantity should not reflect in the EOH quantity
during this time but should consume the storage (if defined).
The Consumption Edge Offset is mainly applicable in case of a BOM network structure. The
fundamental requirement here is to consume a given raw material a specified number of
buckets earlier than the production bucket. In a BOM component network that produces a single
Finished Goods item, the requirement is to be able to specify a unique offset value for each of
the BOM components being consumed. Furthermore, if a component is being consumed by two
different BOM activities, it should be feasible to define unique offset values for the same
component along the two different BOMs.
Configuration
The following measure needs to be configured:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
279
For Production Edge Offset:
In the config UI, these properties can be found under the Activity tabbed area:
Two additional measures as detailed below have been introduced to export the offset inventory
profile as part of the Inventory Plan output:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
280
Measure Granularity Measure Group Description Where to change
Offset BOH <Material Node> Inventory Plan This output Offset BOH
Measure <Time> (Must be measure exports Measure Name in
Name <Version> configured in the the Beginning the Inventory tab
same measure on Hand offset of SCS config UI
Type: Number group where inventory profile
inventory plan at a material
output measures node.
are defined)
Offset EOH <Material Node> Inventory Plan This output Offset EOH
Measure <Time> (Must be measure exports Measure Name in
Name <Version> configured in the the Ending on the Inventory tab
same measure Hand offset of SCS config UI
Type: Number group where inventory profile
inventory plan at a material
output measures node.
are defined)
In the config UI, these properties can be found under the Inventory tabbed area:
Examples
Example 1: Production Edge MPBO
Let’s consider the supply chain as depicted below.
Lead Times
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
281
Activity Lead Time
Demands
SS Target
Material Supply
Capacity Availability
Capacity is unconstrained.
Flow Plans at (FG_1, Plant_1)
W01 0 0 0 0
W02 0 0 0 0
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
282
W03 0 0 0 0
W04 0 0 0 0
W09 0 0 0 0
W10 0 0 0 0
For Demand Planning, consumption is required on the W08 bucket. Considering the Production
Edge Offset of 2 weeks, production must happen on W06 bucket and should be carried as
Quarantine stock for W06 and W07.
During Safety Stock Planning, to fulfill the WOS target, EOH on W07 bucket must be 100.
Considering the Production Edge Offset of 2 weeks, production flow plan on W06 must be
moved-in to W05 so that the quantity is carried as Quarantine stock for W05 and W06 before it
contributes to fulfillment of the WOS target.
Lead Times
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
283
Activity Lead Time
RM_1_Procurement 0 Weeks
RM_2_Procurement 0 Weeks
RM_3_Procurement 0 Weeks
Demands
Material Supply
Capacity Availability
Capacity for Final Assembly at Plant_1 W01 - W10 200 per Week
Capacity for Final Assembly at Plant_1 Prime W01 - W10 200 per Week
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
284
Bucket Beginning on Hand Material Material Consumption Ending on Hand Qty
Qty Production
W01 0 0 0 0
W02 0 0 0 0
W01 0 0 0 0
W01 0 0 0 0
W02 0 0 0 0
W03 0 0 0 0
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
285
Pegging to Support Delivery Flow Plans
Business Need
The solver pegging outputs (Production Pegging, Consumption Pegging, RCA Pegging) as on
date, do not provide a time grain which displays the actual delivery date against a supply.
Consider a scenario wherein there are multiple deliveries against an order (fulfillment policy is
MULTIPLE). These deliveries are incident on the demand node on different time buckets on
account of build late limit. There is no “To” time grain at delivery level which helps determine the
time bucket on which the delivery was incident.
In order to provide this additional information to the planner, a time grain has been added to the
deliveries, which helps ascertain the date on which the in-part delivery was incident on
downstream demand node.
Functionality Description
Consider the following network and the corresponding demand information:
From.Item From.Loc Activity From.Week Delivery week To.Item To.Loc Pegged qty
FG Plant Shipment W2 W3 FG DC 25
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
286
from Plant
to DC
FG Plant Shipment W3 W4 FG DC 25
from Plant
to DC
FG Plant Shipment W4 W5 FG DC 25
from Plant
to DC
FG Plant Shipment W5 W6 FG DC 25
from Plant
to DC
Consider the following network, where there is an alternate route for Production of FG, but the
Demand in this case has a negative priority for one of the paths. This is an example of attribute
based routing:
From.Item From.Loc Activity From.Week Delivery Week To.Item To.Lo Pegged qty
c
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
287
FG Plant_2 Shipment W2 W3 FG DC 25
from
Plant_2 to
DC
FG Plant_2 Shipment W3 W3 FG DC 25
from
Plant_2 to
DC
FG Plant_2 Shipment W4 W3 FG DC 25
from
Plant_2 to
DC
FG Plant_2 Shipment W5 W3 FG DC 25
from
Plant_2 to
DC
This is because the hard pegging happens immediately after the demand gets planned, and the
deliveries inherit the due date of the demand.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
288
Max Lot Size
Business Need
Manufacturing processes are bound by certain constraints and hence need to undergo periodic
quality inspections. To ease these inspection activities, some restrictions are imposed on the
manufacturing process so that production happens in fixed batches. The size of these batches
is determined by a batch size constraint or a max lot size. This does not restrict the total
production in a given time period however, the individual production batches need to respect the
max lot size. Therefore, instead of releasing one huge production to the shop floor, there can be
multiple production batches based on the max lot size.
Functionality Description
The existing implementation of lot size in SCS comprises two measures which govern the
definition of the lot size – the min lot size and the lot size multiple. These two measures are
used to specify the minimum quantity to be produced in every production bucket and the
multiple in which subsequent productions above the min lot size need to be produced.
As part of this enhancement, a third measure has been introduced to control the lot size
definition along with the min and multiple lot size measures, which is the max lot size measure.
The max lot size specifies the maximum quantity that can be produced in a production batch. It
does not limit the production in a particular time bucket and simply acts as a batch size
constraint. Therefore, the SCS output can create one consolidated large flow plan in a given
time bucket that respects the max, min and multiple lot sizes.
The max lot size behavior follows the below principles:
● In case of production quantities greater than the max lot size, Solver can produce one
consolidated large flow plan that respects the max lot size.
● If quantity to be produced > max lot size,
Produced Qty = Max + Min + (Mult of mult)
● If min lot size < quantity to be produced < max lot size,
Produced Qty = Min + (Mult of mult)
● If quantity to be produced < min lot size,
Produced Qty = Min
Configuration
The following measure needs to be configured:
For Production Edge Max Lot Size
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
289
Measure Granularity Measure Description Where to
Group change
Prod Graph Max <Material Node> Material This input Prod Graph
Lot Qty Measure <Activity Node> Production measure is used Max Lot Qty
Name <Version> Graph (The to specify the Max Measure Name
same Lot Size at a in the Activity
Type: Number measure production edge. tabbed area of
group where the SCS config
production UI
graph min and
multi lot size
measures are
defined)
Activity Max Lot <Activity Node> Activity Node This input Activity Max
size Measure <Version> Parameters measure is used Lot size
Name (The same to specify the Max Measure Name
measure Lot Size for an in the Activity
Type: Number group where activity. tabbed area of
activity min the SCS config
and multi lot UI
size measures
are defined)
In the config UI, these properties can be found in the Activity tabbed area:
Examples
Let’s consider the supply chain as depicted below.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
290
Example 1: Demand Planning
Lead Times
Demands
Material Supply
(RM_1, Plant_1) and (RM_2, Plant_1) are set as Infinite Inventory nodes
Capacity Availability
Capacity is unconstrained.
Lot Size
● Min Lot Size = 45, Mult Lot Size = 5, Max Lot Size = 100
● Defined on Activity: FG_1 - Shipment via Water from - Plant_1 to DC_1
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
291
INT_21 Plant_1 W06 Sub-Assembly for FG_1 - RM_2 converted to 345
INT_21 at Plant_1
FG_1 DC_1 W09 FG_1 - Shipment via Water from - Plant_1 to 345
DC_1
Lead Times
Production WIP
Demand
Material Supply
(RM_1, Plant_1) and (RM_2, Plant_1) are set as Infinite Inventory nodes
Capacity Availability
Capacity is unconstrained.
Lot Size
● Min Lot Size = 15, Mult Lot Size = 5, Max Lot Size = 100
● Defined on Production Edge: Final Assembly for FG_1 at Plant_1 → (FG_1, Plant_1)
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
292
Item Location Bucket Activity Material
Production
FG_1 DC_1 W11 FG_1 - Shipment via Water from - Plant_1 100
to DC_1
Lead Times
Demand
SS Target
Material Supply
Capacity Availability
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
293
Capacity is unconstrained.
Lot Size
● Min Lot Size = 15, Mult Lot Size = 5, Max Lot Size = 100
● Defined on Production Edge: FG_1 - Shipment via Water from - Plant_1 to DC_1 →
(FG_1, DC_1)
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
294
Where Used Report
Business Need
The Where Used report provides an overview to the end user of the relative placement of the
two material nodes within the supply chain network.
Consider a multi-tiered supply chain with many levels, with primary and alternate paths. In this
complicated setting, it becomes cumbersome to understand the relationship between the two
material nodes, or a smaller subset of the supply chain. The Where Used report addresses this
issue and provides the relationship between the two material nodes so that the user has a better
understanding of this in the supply chain.
Functionality Description
Consider the following network configuration:
Let’s say the user wants to understand the relationship between (FG_1,DC_1) which is the
downstream node, on which demands are incident and (INT_11,Plant_1) which is an
intermediary node. What the user is looking for is to understand if these two nodes are lying on
a path, and if so what are the activities which lead to conversion of the from node into the to
node.
The solver does a traversal from the to node upstream towards the from node, lists down the
activities, and corresponding lead time of those activities to give and output like the one below:
● Cumulative Lead Time: Provides the summation of lead time of all activities incident
between the two material nodes.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
295
The solver considers the consumption edge of the From Node and the
Production edge of the To Node to calculate the Cumulative lead time.
● Cumulative Yield: Provides the overall yield between the two nodes
For example, there are two activities between the two nodes, each having a yield of 0.8.
Then the cumulative yield from the consumption edge of From Node and the Production
edge of To Node will be 0.64
● Level: Provides the number of activities between the two nodes
In the example above, the value of level will be 2.
Configuration
The following solver configuration needs to be enabled in order to allow it to create the where
used report:
Input Measure
Boolean flag grained at material node (Item * Location) in order to provide input to the solver if
the node is required for Where Used report. All the paths to this node are explored and all the
materials which are consumed to make this material node are reported. When this flag is set for
a material node, it is considered that all the nodes upstream of this, also have this flag set.
Output Graphs
1. PathID Map:
a. Contains the full path trail between the two nodes, similar to multipath RCA
2. Where used material graph name:
a. From grain - Material node attributes, Activity node attributes
b. To grain - Material node attributes, Activity node attributes, Path attributes
c. Attribute names - Cumulative lead time, cumulative yield, where used level
3. Where Used Path ID Map Graph Name:
a. From grain - Material node attributes, Path attributes
b. To grain - Activity node attributes, Material node attributes
c. Attribute names - Where Used Path Id Map Property
4. Parameters:
a. Path attribute name - PathID
Examples
Consider the following subnetwork:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
296
User wants to understand the relationship between (INT_21,Plant_1) and (FG_1,DC_1) in terms
of activities, combined lead time. The Where Used report will provide an output as follows:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
297
LPS
Group Level Campaign Planning
Business Need
LP Solver so far has supported activity level campaign planning but it has not scaled well on
many production sized datasets. This is due to the complex nature of MIP Problems and very
large number of boolean variables which is beyond the capabilities of solvers that are currently
available in the market.
So as a simplification procedure, the formation of activity groups based on some similarities
between activities and planning campaigns and transitions over groups is highly recommended
for both operational convenience and ease of computation. Also, many business units group
their SKUs based on some business logic and prefer doing campaigns based on their grouping
procedures.
Functionality Description
Consider the supply chain below:
Grou
p1
Grou
p2
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
298
The intended behavior is as follows:
● Activities which are a part of Group1 must be scheduled before switching over to
Activities which are a part of Group2.
● The solver doesn’t try to create any specific sequence within a particular Group.
● Changeovers are subject to available capacity and downstream demand and other
supply chain constraints.
Configuration
1. Campaign Groups to be Created and Group Associations to be Made
a. Measure: Campaign Activity Group Association Measure Name
b. In Campaign Activity Association Measure Group’
c. Boolean Input “TRUE” indicates that the Activity is a part of Group, “FALSE”
indicates that the Activity is not a part of the Group
d. Granularity: [GroupID] * ActivityNode * [ResourceNode]
2. Graph for Group Transition Inputs
a. Graph.GroupCampaignTransitionLoss)
b. Edge as ‘Group Transition Capacity Loss Property’
c. Value should be in same units as Available Capacity
d. Granularity: from.[GroupID] * to.[GroupID]*from.[Resource]
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
299
Multiple Supplier Multiple Item Proportional Sourcing
Business Need
Manufacturers usually have long term contracts with suppliers, where they commit to source a
percentage of their total supplies from them. Planners may also want to control or disperse
production across multiple plants/locations based on some ratio.
Currently, the LPS can support one item from multiple vendors only in proportional sourcing.
However, there is a growing need in the market, where 1 vendor can supply multiple items and
we have multiple suppliers and the proportion need not be maintained at an item level rather it
needs to be balanced over a pool of items.
Functionality Description
DC1
RDC Cust1
DC2
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
300
Multi Vendor Multi Item Proportional Sourcing
Consider the supply chain below:
Sup
R
ply
M
1
Gro
R
up M
1 Recei
1
R ving
M Grou F
2 G
Sup
R p1 1
M
ply
1 R
Gro M
up 2
2
R
M
2
If the consolidated demand for RM1 and RM2 at Receiving Group1 is 200 and the Proportion of
Supply Group1 : Supply Group 2 is 0.6: 0.4, the expected output is as follows:
● Outflow of (RM1_Supply Group1+RM2_Supply Group1)=120
● Outflow of (RM1_Supply Group2+RM2_Supply Group2)=80
In a real world scenario we might face the following (they will be supported by the solver):
● One Material Node is a Part of Multiple Supply Groups
● One Material Node is a Part of Multiple Receiving Groups
● One Material Node is a part of a Receiving Group and a Corresponding Upstream
Supply Group
● One Material Node is a part of 2 supply groups supplying to the same receiving Group
Configuration
1. Groups to be Created and Group Associations to be Made
a. Measure: Group Sourcing MN Association
b. In Group Sourcing MN Association Measure Group’
c. Boolean Input “TRUE” indicates that the Material Node is a part of Group,
“FALSE” indicates that the Material Node is not a part of the Group
d. Granularity: [GroupID] * [Item] * [Location]
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
301
2. Graph for Group Sourcing Proportion Inputs
a. Graph.GroupSourcingProportionInputs
b. Edge as ‘GroupSourcingProportion’
c. Value should be in Proportion
d. Granularity: from.[Time] * from.[GroupID] * to.[GroupID]
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
302
iv. Now, If achieved split is 60%:10%:30%
v. Actual Flow is only 80 units
vi. Then, Penalty incurred = (60%-50%)*80*2$ + (30%-10%)*80*2$ + (30%-
20%)*80*2$
vii. Note that deviation is Absolute, all Groups G1, G2 & G3 will be penalized
with Group Proportional Sourcing penalty cost, whether it is positive
deviation or negative deviation
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
303
Activity Mandatory Pre build Offset
Business Need
The mandatory offset requirement arises out of the bucketed nature of master planning.
Considering the network given below, let’s assume that the actual shipping schedule for the ship
operation out of FG@Plant is such that trucks only depart on the first day of every week.
Generally, the planned inflows from the Make operation to FG@Plant material node are only
guaranteed to be completed by the end of every bucket. Therefore, it may be generally
infeasible to release such plans for execution. To ensure that the complete feasibility of the
outflow plan in any bucket, the inflows must be guaranteed to arrive in the previous bucket.
Functionality Description
While most cases will suffice with a mandatory offset of 1 week (i.e., the inflow plans need to
arrive one week earlier than normally planned), a generalized parameter to allow any mandatory
offset is required for other possibilities (e.g. a mandatory holding period that is not modeled) i.e.,
instead of 1 week, one could specify a 2 week mandatory offset.
Some of the specific use cases could be:
Case1: There are cases that the plan needs to consider a kind of postponement of the shipment
as a hard constraint even if the manufacturing is done. The biggest reason is that sometimes
the mobile phone should be tested or checked in the outside yard before shipping.
Case2: When the shipping schedule is twice per month. There is a case where the shipment
from the plant to DC only happens twice a month which means that inventory should stay for
some time in the Plant location depending on the situation.
In both the cases the inventory is held for some duration. These can be some kind of not so
important processes. For example, testing/quality checks which are not modeled exclusively in
the network.
Case3 WIP Mandatory Prebuild Offset Measure (MPBO) Override: Let us assume that the
existing shipping plan is fixed along with the existing production plan and considered as input
during the MP Plan. There are cases where the shipping plan requires to be expedited or
delayed as well as the prod date since those are decided by the real status in the execution
level. Therefore, an activity offset (MPBO) override capability is provided in order to ignore the
offset value defined at the particular activity by each WIP ID level so that it can keep the
consistency of fixed shipping and production plan in the MP planning and its sync up with the
execution level in terms of the end-to-end process.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
304
Configuration
For any given activity, users have a choice to define the number of time buckets that needs to
be offset in order for the items to be available in advance.
Measure Grain/Datatype Where to change? What does it mean?
However, in case of WIP planning, users will have an additional option to override the
Mandatory Prebuild Offset Measure aka MPBO measure to match their planning timeline. When
both WIP MPBO override and activity MPBO measures are defined for the same activity, then
WIP MPBO override will take precedence over MPBO during planning the particular WIP. For
instance, if the user defines the WIP MPBO override measure value as 2 weeks, and MPBO is
set to 3 weeks, then the WIP planning will override the MPBO condition and will be made
available 2 weeks in advance before it is consumed downstream.
Measure Grain/Datatype Where to change? What does it mean?
Prod WIP [Item].[Item] Prod WIP MPBO Override No. of time buckets by
MPBO Override [Location].[Location] Measure Name in the which the specified WIP
Measure Name [Time].[Fiscal Week] Activity tabbed area of the is made available in
[Lot].[Lot Id] SCS UI config. advance
[Activity].[Activity]
[Version].[Version
Name]
Integer
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
305
Integer
Example
Consider the supply chain network given below:
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
306
Item Location Activity Week Production Quantity Consumption Quantity
RM Plant Assembly W05 100
RM Plant Assembly W06 100
FG Plant Shipment Plant - DC W06 100
FG DC Shipment Plant - DC W07 100
FG DC Expected receipt W09 60
FG DC Shipment DC- RDC W09 100
FG RDC Shipment DC- RDC W10 100
Case2
● Expected receipt = 60 for FG, DC on W07
● Mandatory offset for activity “Shipment DC - RDC” = 2 weeks
Flow Plan Output
Here the ER will be considered to plan the demand since it is available as per the prebuild offset
condition.
Item Location Activity Week Production Quantity Consumption Quantity
RM Plant Assembly W05 40
RM Plant Assembly W06 40
FG Plant Shipment Plant - DC W06 40
FG DC Shipment Plant - DC W07 40
FG DC Expected receipt W07 60
FG DC Shipment DC- RDC W09 100
FG RDC Shipment DC- RDC W10 100
Case3
● Production WIP = 60 for FG, DC on W09; Activity: Shipment Plant - DC
● Mandatory offset for activity “Shipment Plant - DC” = 1 week
● Prod WIP MPBO Override for “Shipment Plant - DC” = 2 weeks
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
307
FG Plant Assembly W06 60
FG Plant Assembly W07 40
FG Plant Shipment Plant W08 60
- DC (WIP)
FG Plant Shipment Plant W08 40
- DC
FG DC Shipment Plant W09 60
- DC (WIP)
FG DC Shipment Plant W09 40
- DC
FG DC Shipment DC W09 100
- RDC
FG RDC Shipment DC W10 100
- RDC
Functionality Description
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
308
Currently, LPS supports the time varying activity lead time. Both increasing and decreasing
trend of lead time that changes over the time buckets is supported.
Configuration
The following measure needs to be configured to input the time varying activity lead time.
Measure Measure Group Values Granularity Change Default Measure Name
Activity Time Activity Node Number <Activity Node>, If the user wants to use any other
Varying Lead Time Parameters <VersionName>, name apart from the default
Time <Time> measure name, then use the
Measure Activity Time Varying Lead Time
Name Measure Name field in the Activity
tab of LPS UI Config.
Example
Assume the following scenario in a capacity unconstrained run:
● There is a following demand at DC_1 for FG_1
Order Id Bucket Demand Qty
Order_1 W10-2015 100
● Material Supply
Item Location Bucket BOH ER
FG_1 Plant_1 W05-2015 200
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
309
● Activity Lead Time
Activity LeadTime
FG_1 - Shipment via Water from - Plant_1 to DC_1 2
● If an activity has a static lead time defined in the Activity Parameters and also
varying Lead Time defined in Time Varying Activity Parameters but only for
certain buckets of the planning horizon and not all buckets in which the activity is
active, then for all buckets where the dynamic/time varying lead time is not
defined, the static LT given would be considered for these buckets.
For example: in the above table, the time varying activity lead time is not defined
for time buckets W04 to W06. Hence, for this period, LT of 2 (static LT) will be
considered.
● Users have to be careful while mixing static & time varying lead times in the
planning horizon. For example: if in the above example, if there’s no static LT
provided by the user, then for W04 to W06, LT of NULL gets converted to zero
LT. However, for W08, since the Time Varying LT provided is 3, leapfrogging
happens (from LT of 0 to LT of 3). Hence, it becomes a data error, thereby
ignoring the Time Varying LT.
● Planning
The demand is planned by consuming the ER supply on JIT. The lead time of distribution
activity is used as 3.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
310
Producing Flow Plans
Activity Material Node Bucket Produced Quantity
FG_1 - Shipment via Water from - FG_1@DC_1 W10-2015 100
Plant_1 to DC_1
Limitations
1. Leapfrogging in Increasing Lead Time
Example: Basically any change in activity lead time (ALT) has to be one bucket change.
Bucke 0 1 2 3 4 5 6 7 7 8 9 10 11 12 13 14 15 16 17
t
ALT 0 0 1 1 1 1 2 2 2 3 3 3 3 4 5 5 5 6 6
Bucke 0 1 2 3 4 5 6 7 7 8 9 10 11 12 13 14 15 16 17
t
ALT 7 7 7 6 6 6 6 6 5 5 5 5 5 4 3 3 2 2 1
Bucke 0 1 2 3 4 5 6 7 7 8 9 10 11 12 13 14 15 16 17
t
ALT 0 0 1 1 1 1 2 2 2 3 3 3 2 2 2 1 1 1 0
Invalid Case
Bucke 0 1 2 3 4 5 6 7 7 8 9 10 11 12 13 14 15 16 17
t
LT 0 0 1 1 1 1 3 3 3 3 3 3 4 4 4 4 4 4 4
2. As Time varying lead time Activity is modeled internally by defining multiple activities
with different lead times & start and end dates, the solver does not support move in
across these logical activities i.e., move in can not happen from a zone where lead time
is 4 to a zone where lead time is 3. Also move-in is not supported across zones with the
same lead time but disjoint start & end times.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
311
Example: for an activity with Lead Time 3 start at bucket 4, end bucket 10 and with Lead
Time 3 again start at bucket 20 and end bucket 28, at present move-in is not supported
from 25th to 5th bucket.
3. Time Varying Activity is currently not supported with Telescopic Buckets, i.e., while one
can use this functionality for an activity in a scenario where Telescopic Buckets are
included, one cannot define varying Lead Times for this activity while in the coarser
Telescopic Buckets.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
312
Cutting Stock Solver
Business Need
The cutting-stock problem is the problem of cutting standard-sized pieces of stock material,
such as paper rolls or sheet metal, into pieces of specified sizes while minimizing material
wasted. Industrial applications of cutting-stock problems for high production volumes arise
especially when basic material is produced in large rolls that are further cut into smaller units.
For example:
● In paper and plastic industries
● Production of flat metals like steel or brass
Cutting-stock problems can be classified in several ways. One way is the dimensionality of the
cutting:
● Applications of 1D occur when cutting pipes, cables, and steel bars, paper rolls, cutting
along the width.
Some of the goals that the customers can have while cutting stock are as follows:
● Loss in material must be minimized while cutting stock, particularly while minimizing
handling high value materials
● Machine capacities need to be utilized handling challenges like changeovers and width
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
313
constraints
● Profitability of demands is important so that we don’t pick orders which are less
profitable when capacities are constrained
● Sometimes the customers are not aware what are optimal sizes of Mother Coils/Jumbo
Rolls that they need for producing with less loss of material
Functionality Description
There are many variants to cutting stock problems and additional constraints arising from
special production constraints due to machinery and process limits.
In current shape and form, the solver caters to a few variants of 1D cutting stock problems and
a few 2D cutting scenarios.
● The Cutting Stock Solver is a new GraphCube plugin.
● A new instance of the solver can be created in the following path:
Workspace>Designer>Rule>Plugin>o9GraphCubePlugins>CuttingStockSolver
● It is written in python and follows an architecture very similar to Linear Programming
Solver.
● It also needs a 3rd party solver like Gurobi at the backend.
● Cost based and unit based optimization flavors are present in the solver. However, both
can’t be used simultaneously.
● It is triggered by Exec Plugin Command just like LPSolver:
exec plugin instance CuttingstockTest1 for Measures {[Demand Quantity]} using scope
([Version].[Version Name].[CurrentWorkingView]) arguments {([Current Time Bucket
Name], "W01-2015"), ([Start Time Bucket Name], "W01-2015"), ([End Time Bucket
Name], "W45-2015"),([LP Solver Name],"GurobiSolver")};
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
314
Configuration
Objectives: There are three objectives visible on the UI. The user can select the objective as
required for their business case. It is recommended to select only one objective.
Cost based Objective
Data Inputs
The grains of different node components are to be filled out as per the image below:
The following input files have to be uploaded for running the Cutting Stock Solver:
● Demand Inputs (Demand Quantity, Sales Price, Lateness Cost)
● Item Quality Association (Associates an RM or FG with Qualities like Grade, GSM etc)
● Item Node Parameters (Item Properties like width, Surface density,RM Association)
● Inventory (BoH, ER, Inventory Holding Cost)
● Resource Parameters (Machine Constraints like Min Trim, Max Trim, Max Width etc)
● Capacity Availability
The demand properties have granularity as follows:
Item.[Item]*[GraphCube_Attr_Sequence]*[CustomerId]*[OrderID]*[Time]*[Version]
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
315
The measures below are a part of the demand properties:
Demand BLL Number Demand Build Late Limit Maximum Lateness with
(Default: 0) Measure Name which Demand can be
Satisfied
Sales Price Number Sales Price Measure Name Selling Price/Unit for the
(Default: Demand
NULL)
ItemNodeParameters are also mandatory inputs for the solver: They have a grain of
Item*GraphCubeAttr_Sequence*Version
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
316
has demand, else it is excluded
from scope of the problem
Capacity Availability* Number Time Dep Aval Cap Measure Capacity available in the
(Default: Name given time bucket
NULL)
Inventory inputs, such as BOH and ER are optional inputs (they function very similar to our
existing supply planning solvers).
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
317
The grain for the inputs are as follows: Item*GraphCubeAttr_Sequence*Time
Output Data
After running the Cutting Stock Solver, the following outputs are generated:
Output Patterns is a new type of output not present in any of our current solvers. All other plans
are part of SCS and LPS too just that the granularities of Cutting Stock solver are slightly
different owing to the uniqueness of the business case.
Output Patterns are indicative of different parameters in a cutting pattern. It has the following
measures (sample output table is shown below) :
● Output RM Width: Since a pattern is done for a specific RM width, for every pattern the
RM mapping has to be specified.
● FG Width: Indicates the width of the FG which is cut by the pattern. One pattern can
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
318
have multiple FGs.
● FG Output Production Qty Per: Indicates the number of pieces of FG cut along the
width of the RM.
● Trim Loss: Indicates the width of the RM wasted for cutting the pattern.
o9 Solutions, Inc. Confidential & Proprietary. Your use of these materials is governed by the terms of your written agreement with o9 Solutions.
All unauthorized use and reproduction or distribution is prohibited.
319