Skip to main content

Enterprise Project Performance

Tips & Tricks: Improved EcoSys Custom Time Periods

Time periods are the fiscal periods in which data is recorded in EcoSys. This allows the distribution over time of transactions, custom fields, and categories. The default approach for time periods is represented by Major Periods and Minor Periods. EcoSys functionality extends these system defaults by adding Custom Time Periods. Custom Time Periods (CTP) can be configured to allow sets of time periods to be created for reporting and supporting the cost control process.

In EcoSys release 8.6 Custom Time Periods went through a major redesign to improve scalability and usability. In this redesign, several prior challenges were resolved to create better performance and optimize the usage of this functionality.

  • Custom Time Periods belong to a custom field type, much like categories belong to a category type. However custom time periods and their custom time period types are defined in spreadsheets using specific subject areas. Custom Time PeriodTypes are not assigned to specific organizations, cost objects or task types. Previously every new CTP type added a new row in both the Actual and Forecast assignment tables for every new CTP type and every transaction. As these rows were added, the assignment tables were growing to a large and cumbersome size.

The new design minimizes the use of these two database tables, which can drastically reduce database size and improve performance.

  • Previously, Custom Time Periods could not be redefined once assigned to transactions. They could not become a parent CTP as a child CTP, pick-up existing transactions, or change the dates.

With the new redesign, CTP’s can be created and changed at any time. Now, existing transactions using a CTP can be modified with a new or modified CTP if needed, and existing transactions can be picked up.

  • Prior to the 8.6 release, Column Generators were static to a specified CTP type. A Column Generator is used to dynamically output a set of columns based on a series of attributes. A common use of Column Generators is for defining a time period range for use in time-phased charts and reports. With the previous Custom Time Period design, a CTP type parameter could not be passed in to generate these Column Generator time period range values.

The new redesign now allows CTP Type parameters to be selected as a runtime parameter for Column Generators.

For example, a parameter can be created with a date type of CTP in a chart and can be utilized to filter what is displayed in the chart. With this configured, the end user selects the CTP in the parameter bar and the chart displays accordingly.

The new design has also significantly reduced the size of the database, as the multitude of rows, previously being added, are not being added to the Actual and Forecast assignment tables. 

This change has resulted in significant performance improvements.

Performance tests were also executed to ensure key performance metrics are as good or better. Several customers also provided testing scenarios with multiple users and actual data sets and their performance improved. Compared to the prior CTP design, the new design’s impact on reporting and filtering when applied to CTP columns increased performance on the SQL server close to 87% and Oracle by 51%.

Custom Time Periods have been used in EcoSys for some time now to allow sets of time periods to be created outside of the fiscal major and minor periods, and now the performance of CTPs is the best it has ever been. The new CTP design significantly reduces the size of the customer database for customers that have CTP Types defined. The redesign also allows for CTPs to be created or changed at any time, which makes them easy to use and update over time. Through this new CTP design, configuration can be created to enable the selection of a CTP Type parameter for column generators. In conclusion, the EcoSys Custom Time Periods redesign in version 8.6 has significantly upgraded scalability, allowed dynamic changes and additions to existing CTPs, and improved performance.