Version 5.2.2.2515

December 1, 2010

This version uses SpreadsheetGear 2010 (6.0.3.158) and NetAdvantage 2010, Volume 2 (10.2.20102.1004).

The release notes for this build contain the following sections:

Application

Commentary

Dodeca Metadata Service

Essbase Views

Excel Essbase View

Relational

Selectors

Workbook Script Debugger

Workbook Scripting

The appropriate version(s) of the dodeca-essbase service included in the installation should also be deployed when upgrading to a new release of the Dodeca Framework.

Application

Commentary

Dodeca Metadata Service

Resolution: The issue was resolved by setting those GET methods to be disabled in the resource\dodeca.get.method.mappings.properties file. These services can be enabled by editing the file manually in the dodeca-metadata.jar file inside the WAR file before deployment. (#915)

Essbase Views

To address this issue, the framework now clears the memory-resident information about the retrieved members and data when the size of the send range is different than the size of the retrieve range. (For an Adhoc view, the "used range" is used as the retrieve range and send range.) As a result, the tools that perform the various Essbase-related operations are not able to detect whether a selected cell is a member cell or a data cell, so these tools may not function as expected until after a retrieve is performed. (#902)

Excel Essbase View

This fix also required a change to the dodeca-essbase service to correct an issue with how row header ranges are computed. (#914)

Relational

Oracle handles generated keys differently than other databases. When a row is inserted, the generated keys functionality in JDBC returns a result set that contains a single column and value. The column/value is called ROWID and is a unique value that can be used to retrieve the data from the database.

On the client, in the query’s DataTableInfo Columns definitions, a ROWID column should be added with the JDBCType set to VARCHAR. The INSERT statement should define a post-Insert SELECT statement that retrieves the ROWID and any database-level default values for the row using the ROWID as the criterion.

To recap and summarize the steps:

In the Oracle database:

Add a SEQUENCE object to the database to provide auto-incrementing numbers

Add a TRIGGER object that reads the SEQUENCE and fills in the KEY value automatically.

In the SQLPassthroughDataSet on the client:

Add a ROWID parameter to the columns in the query’s DataTableInfo.

Append a post-insert SELECT to the query’s InsertSQL property.

Contact support@appliedolap.com if you need assistance with this configuration.

Resolution: The default Token Range Name now contains an underscore character in place of each blank in the Source. For example, if the Source is "My Source", the default Token Range Name is "Token.Range.My_Source". (#918)

Workbook Script Debugger

image

Workbook Script Editor

image

Workbook Scripting

This function can be used, for example, to limit the number of cascade sheets that are allowed within a view. The following script uses the [T.CascadeSheetLimit] token, which can be defined by the view or application, to set the number of allowed sheets.

image

The LimitCascadeSheets procedure implements the following logic:

  1. If the [T.CascadeSheetLimit] token is not defined, the procedure is exited and the number of sheets is not limited. Note: This method uses the new TokenExists function.
  2. The CascadeSheetLimit property is added and assigned the value of the [T.CascadeSheetLimit] token, or if the token value is null, a default of 10.
  3. If the number of sheets computed by the CascadeSheetCount function is less than or equal to the limit, the procedure is exited; else, the procedure continues to the CancelEvent method, which cancels the build processing by cancelling the BeforeBuild event.
  4. The progress text in the status bar is cleared, and the warning icon is displayed along with a message that informs the user of the limitation.
image

The value of the property specified as the PropertyName is set before the ExitLoopCondition is evaluated, which allows the "next iteration" value to be used within the ExitLoopCondition expression. (The PropertyName property is assigned the current number for the NumberToNumber overload and the current data cache item value for the DataCache overload.) (#908)

Dodeca Framework