Release Notes for SAS® Activity-Based Management 7.1

This file contains late-breaking notices regarding:

Additions for SAS Activity-Based Management 7.1

  1. The server-side of all SAS Activity-Based Management 6.x versions was written in a combination of .NET and C++ programming languages. The SAS Activity-Based Management 7.1 server-side is written in Java, except for small portions written in .NET to support Microsoft SQL Server Analysis Services. This change has a large impact on system prerequisites. Please refer to the "SAS Activity-Based Management 7.1 System Requirements" and the "SAS Activity-Based Management 7.1 Installation, Configuration, and Migration" instructions for more information.
  2. SAS Activity-Based Management 7.1 uses a new, improved algorithm for merging dimensions and reducing dimension levels than was available in 6.4.3. The new algorithm in Activity-Based Management 7.1 more efficiently merges unneeded accounts in certain circumstances. Thus, most models will produce fact tables with fewer rows or an identical number of rows than they did in 6.4.3. However, some models may produce more fact table rows than they did in 6.4.3. Regardless, both algorithms produce identical results in terms of costs.
  3. SAS testing revealed that Microsoft SQL Server Analysis Services (SSAS) 2005 is less efficient in storing cubes than Microsoft Analysis Services (MSAS) 2000. If your MSAS 2000 installation is nearing its capacity limits you should experiment with SSAS 2005 before converting your production SAS Activity-Based Management system to SSAS 2005 to ensure that your current cubes will fit. This warning is primarily for users of MSAS 2000 who are considering migrating to 32 bit SSAS 2005. SSAS 2008 has resolved many of these efficiency problems and is more efficient on large (> 8GB) 64 bit systems as well. If you want to continue using Microsoft OLAP, SAS recommends that you migrate to SSAS 2008 instead of SSAS 2005, especially if you want to remain on a 32 bit system.
  4. SAS Activity-Based Management 7.1 adds a new feature for creating SSAS cubes that are unprocessed. This allows users to run manual optimization steps on the cubes, such as designing custom pre-aggregations, and then manually process the cubes. These unprocessed cubes cannot be viewed in SAS Activity-Based Management. However, their names are displayed in the list of available cubes for viewing. If you attempt to view an unprocessed cube, you will receive an error message of the form, "Object reference not set to an instance of an object". The resolution is to rebuild the cube with the "Process cube" option enabled on the Cube Configuration or to use SQL Server Management Studio to manually process the cube.
  5. If you use Microsoft SQL Server Analysis Services (SSAS) and create unprocessed cubes, you should understand how this option interacts with SSAS’ shared dimensions. When building cubes with shared dimensions in SSAS, SSAS will invalidate other cubes that share a dimension (for example, the Period dimension in SAS Activity-Based Management) when the new cube has an updated version of that shared dimension. When the other cubes are invalidated, the normal behavior of SAS Activity-Based Management is to reprocess those newly invalidated cubes as well to make them viewable. However, if a cube is built without the "Process cube" option, not only will that cube be left unprocessed, but so will all the other cubes that SSAS might have invalidated. All the invalid cubes will not be viewable. To make them viewable, they each need to be reprocessed manually using SQL Server Management Studio or recreated with the "Process cube" option enabled. Additionally, if cubes from several Cube Configurations are generated at one time, and any of the Cube Configurations do not specify the "Process cube" option, then none of the cubes in that set of configurations will be processed.
  6. If you import model data from a Microsoft Access database that was created with a version of Activity-Based Management prior to 6.3 and your Activity-Based Management server is running on a 64 bit version of Windows, you may encounter errors. In Activity-Based Management versions 6.2 and earlier, the "ValueAttributeAssociation" table was exported with a column named "value". This column contained either Numeric or String values depending upon the type of the attribute. To support this, the column was of type "Memo". But if the column contains numeric values and its type is "Memo" then the jdbc-to-odbc driver on 64-bit Windows may fail while retrieving some values. To resolve this problem you need to change the column type as follows:

    1) If all the values in the "Value" column are numeric, go to the design view of the "ValueAttributeAssociation" table and change the column type to "Number".
    2) If all the values or some of the values in "Value" column are strings, go to the design view of "ValueAttributeAssociation" table and change the column type to "TEXT".

    This problem has only been identified on the WebLogic application server. It was not reproduced on WebSphere and was not tested on JBoss.
  7. SAS Activity-Based Management 7.1 does not allow certain punctuation marks to be used in cube names. In particular, this impacts European languages where apostrophes are commonly used. For example: "CUBE L'APOSTROPHE". SAS Activity-Based Management 6.4 also has this limitation. SAS will investigate this for the next release to see if it can be removed.
  8. SAS 9.2 has a defect in several international locales that directly impacts Activity-Based Management 7.1. This defect causes the "decimal" separator in numbers to be handled improperly. For example, in some locales a number with the value of one hundred and two-tenths might be written as "100,2" or possibly as "100 2". In the locales affected by this defect, this number is interpreted as one thousand and two. Not all locales that use a comma or non-breaking space as a decimal separator have this defect. This defect causes gross numerical errors in the calculation results. You can work around this error by changing the working locale of the workspace server that launches the Activity-Based Management calculation process to U.S. English, which is not affected. For more information, see the "SAS Activity-Based Management 7.1 Installation, Migration, and Configuration Guide." The locales that are known to have this defect are: Swedish, Brazilian-Portuguese an possibly French. The locales that do not have this defect are: U.S. English, Simplified Chinese, Traditional Chinese, Japanese, Korean, and German.
  9. SAS Activity-Based Management 7.1 provides a new feature to allows users to modify and re-organize the hierarchy of dimension members within a dimension. When a dimension is modified, the model is marked as "Not calculated". This causes a model re-calculation, fact table regeneration, and cube regeneration. This is necessary because the modifications to the dimension have rendered the existing fact tables out-of-date. A re-calculation is necessary because other dimension-related data used by Activity-Based Management reports is also out-of-date. Of course, the existing cubes can still be viewed, but they will not reflect the dimension changes until they are re-created.
  10. SAS Activity-Based Management 7.1 supports importing and exporting model data from Microsoft Office applications when the Activity-Based Management server is installed on Windows. However, users should be aware that the Office applications have size restrictions that may limit their usefulness for managing large amounts of data. The points below list the limitations SAS is aware of. Others may exist.

    1) Excel 97-2003 Workbook (*.XLS) does not allow more than 65536 rows or more than 256 columns in a table/worksheet.
    2) Excel 2007 Workbook (*.XLSX) does not allow more than 1048576 rows or more than 256 columns in a table/worksheet. The Microsoft support web site mentions that the column limit for *.XLSX is 16384 but SAS has only programmatically created up to 256 columns.
    3) Access supports a virtually unlimited number of rows but only allows 255 columns in an Access database table. Additionally, an Access table is limited to 1GB of storage and an Access database (*.MDB) is limited to 2GB of storage for all its tables.
  11. If your SAS Activity-Based Management mid-tier is installed on AIX, the server diagnostic tool may not run properly after installation. This problem is caused by a missing Java .jar file definition in the "picklist." You can resolve this problem by adding these two lines to the end of the "picklist" file located at: "/SASActivityBasedManagement/7.1/Diagnostic"
            name=jwsdp_jaxp
            version=2.0.0.0_SAS_20081023153123
    This problem does not effect all SAS Activity-Based Management installations on AIX and is dependent on what SAS software you have installed.
  12. SAS Activity-Based Management 6.x occasionally failed to build very large cubes using SAS OLAP Server. The work-around for this problem in SAS Activity-Based Management 6.x was to manually build the cubes in Base SAS by specifying additional parameters to the PROC OLAP statement. Typically, a "hint" about the cube design was needed, in the form of a NWAY parameter, to resolve the problem. SAS Activity-Based Management 7.1 allows the Cube Configuration for SAS OLAP Server to directly specify these parameters.
  13. The default configuration of some versions of Microsoft SQL Server 2005 and 2008 on select versions of Windows allows SQL Server to consume all available RAM on your computer. This may leave other processes "starved" for memory. SAS suggests changing this setting so that SQL Server does not consume more than 50% of the available RAM on a shared computer and no more than 80% of the available RAM on a dedicated database computer. This setting can be changed in SQL Server Management Studio on the "Memory" configuration page on the "Properties" for your SQL Server instance.
  14. If you rerun the SAS Deployment Wizard to reconfigure an existing SAS deployment or to install additional SAS software, you must rerun the SAS Deployment Wizard in the "Custom" prompting level to ensure that it properly recognizes and reconfigures all the web application servers that are configured on that computer.

SAS Activity-Based Management Server - All Databases

  1. SAS Activity-Based Management 7.1 brings forward a fix first implemented in SAS Activity-Based Management 6.4.3 that fixes a defect in SSAS 2005 support which may require users to rebuild all their cubes for any models where "6.3 compatible" cubes and fact tables were created. The error message generated by SAS Activity-Based Management in 6.4.2 for this defect mentions "Errors in the high-level relational engine." The problem arises because SSAS 2005 made column names in the cube "fact definitions" case sensitive (MSAS 2000 was not case sensitive). Since these definitions are shared between cubes within a model, the proper definitions must be propagated to all cubes for the model by rebuilding all the cubes if you attempt to rebuild the "6.3 compatible" cube. Fact tables do not need to be re-created. To regenerate the cubes for any affected models, use the Manage Cubes and Permissions dialog to delete the existing cubes. Then rebuild them using your cube configurations. This defect only affects sites using SSAS 2005 that created "6.3 compatible" cubes and fact tables. Sites using MSAS 2000 and SAS OLAP are not impacted. Sites using SSAS 2005 that did not create "6.3 compatible" cubes and fact tables are also not impacted. If you meet all four of the following: currently using SAS Activity-Based Management 6.4.2 and you did not upgrade to 6.4.3 and you use SSAS 2005 and you created "6.3 compatible" cubes but you completed work on those cubes, and hence do not plan to rebuild those cubes in 7.1, you do not need to delete the existing cubes and rebuild them. This step is only necessary if you built the cubes using 6.4.2 and you wish to continue working on those cubes using 7.1.
  2. Due to default heap sizes in the Java Virtual Machine (JVM), some tasks on large models may fail in SAS Activity-Based Management 7.1. In particular, importing large models via XML or staging tables may fail due to insufficient heap space. These problems can be resolved by increasing the heap space available to Activity-Based Management "operations". This setting is in the "operations.properties" file located in the <SASCONFIGHOME>\Applications\SASActivityBasedManagement7.1\config directory. You need to specify a larger Xmx value in the line "OutOfProcessJavaOptions=-server|-Xms256m|-Xmx1024m|". SAS suggests trying a value of 2048 as a starting point for Xmx if you are on a 64 bit operating system and a value of 1500 if you are on a 32 bit operating system. You may need to increase it further for very large models.
  3. If you want to export data to a database type that is different than the primary database used by SAS Activity-Based Management, it is necessary to install the required database drivers on the SAS Activity-Based Management application server. For more information, please see the "SAS Activity-Based Management 7.1 Installation, Configuration, and Migration" instructions.
  4. When creating attributes to define stages for calculation/cube generation, the attribute Name and Reference must be identical or model export will fail by giving an error regarding "Invalid stage qualifier".
  5. Due to the mechanism used by SAS Activity-Based Management to store dimension level names and period & scenario level names, some user-specified names will cause conflicts with the underlying database (regardless whether SQL Server or Oracle is used). These conflicts will appear as obscure error messages when calculating a model. Level names that will cause conflicts are reserved words in the SQL query language. Some of the more common reserved words are: level, group, function, drop, and join. These words will cause errors regardless of their case. For example, using LeVEl will cause errors. For a workaround, add a descriptive prefix or suffix.
  6. When using SAS Activity-Based Management 7.1 to create reports in the Adobe Acrobat format while using any of the Language Packs, you must also install the appropriate language-specific version of the Adobe Acrobat Reader to ensure that all locale-specific characters will be displayed correctly.
  7. If you are installing SAS Activity-Based Management 7.1 and any of the Language Packs, you must make sure that the locale of your Language Pack, your operating system, your Adobe Acrobat Reader locale version (if applicable), and your Base SAS language configuration (if applicable) are compatible. Failure to do this may cause the SAS Activity-Based Management 7.1 import, export, and/or reporting mechanisms to incorrectly handle locale-specific characters or to fail to operate entirely.
  8. Additional documentation for SAS Activity-Based Management generated Information Maps is available in TW9750.pdf at http://support.sas.com/documentation/onlinedoc/abm/index.html.
  9. When viewing the Single Stage Contribution or Resource Contribution cube in Microsoft Analysis Services, the CostObj member is selected initially in the DstModule dimension. This behavior is identical to SAS Activity-Based Management 6.4. However, SAS OLAP Server does not provide an equivalent feature at cube construction time. For SAS OLAP Server, the CostObj member must be manually selected into the DstModule dimension using the OLAP viewer.
  10. When using SAS Activity-Based Management with the SAS Metadata Server on non-English systems, the SASV9.CFG file typically located in "C:\Program Files\SAS\SAS9.1\nls\" (where is the language code for your installation) must have a line added of the form "validvarname=any". This addition is necessary to ensure that the column names in registered tables appear with correct localized text. If this does not option is not added to the .CFG file, column names may appear with default names such as _COL1_, _COL2_, etc. which causes subsequent operations such as cube generation to fail.
  11. SAS OLAP Server locks cubes when they are being viewed. This includes viewing tools of all types, not just the viewer in SAS Activity-Based Management. For example, a SAS Activity-Based Management cube on the SAS OLAP Server will be locked when viewed in SAS Enterprise Guide. Cubes that are locked cannot be updated by the SAS Activity-Based Management client application. If you attempt to recreate a locked cube, you will receive an error from the SAS OLAP Server warning that the operation cannot be performed. In order to recreate the cubes, the locks must be removed. This can be performed by closing the viewing tools (such as SAS Enterprise Guide) or from within SAS Activity-Based Management, by selecting the close cube view button, [X], at the upper-right of the OLAP viewing page.
  12. SAS Activity-Based Management can optionally create Information Maps (IMAPs) in the SAS Metadata Server for use by other SAS tools. If other tools use these IMAPs in SQL "joins", the resulting tables may perform poorly due to a lack of SQL Passthru functionality in the SAS IMAP facility. This problem can be resolved by creating the required SQL joins in the SAS Activity-Based Management database and registering the resulting database views as IMAPs on the SAS Metadata Server.

SAS Activity-Based Management Server - SQL Server Database

  1. When installing SQL Server, the collation sequence must be set to case insensitive.

SAS Activity-Based Management Server - Oracle Database

  1. When installing Oracle, the collation sequence must be set to case insensitive.
  2. If Oracle is installed on a different computer than the one used for the SAS Activity-Based Management application server, it is necessary that the OracleService service be operational on the database server. If this service is not operating the SAS Activity-Based Management application server will not be able to attach to the database.
  3. Oracle 11g has a new feature that allows recovering data after queries. This is accomplished by creating "dummy" tables in your Oracle schema that hold the necessary information to roll-back changes. These tables have names of the form: "BIN$+HQXPwmySkCtpdSzeQKKgA==$0". These tables are not used by SAS Activity-Based Management and are not created by SAS Activity-Based Management. However, they may become very large as they contain enough data to roll-back large Activity-Based Management database updates. To prevent this unnecessary waste of disk space on your database server, this Oracle data recovery feature may be turned off for an entire Oracle instance. Turning off the feature will not impact SAS Activity-Based Management in any way.

SAS Activity-Based Management Server - MySQL Database

  1. When installing MySQL, the collation sequence must be set to case insensitive.
  2. A MySQL database will perform more slowly on large models than either Microsoft SQL Server or Oracle databases. This happens because MySQL does not have an external "bulk load" interface that is optimized for loading large amounts of data.
  3. MySQL has a limit of 61 tables in a SQL "join" statement. If you build a cube and add many user attributes, you may exceed this limit and receive an error unrelated to the problem. Examination of the Log file on the server reveals a long query including many tables. Each user attribute adds one additional table to the "join" statement. To work-around this problem, remove user attributes from the cube definition until the cube creation succeeds.

SAS Activity-Based Management Client

  1. When importing data from a Microsoft Access database or a Microsoft Excel spreadsheet, the file must be visible and accessible from the server.
  2. Accounts with dimension intersections No <Dimension1> x No <Dimension2> can be exported but cannot be imported.
  3. Deleting period and scenario data might require a long time when there is a large amount of data to delete.
  4. Microsoft Internet Explorer 6.0 SP1 contains an acknowledged Microsoft issue that can cause strange behavior when rendering HTML pages. For more information, browse to: http://support.microsoft.com/default.aspx?scid=kb%3ben-us%3b279745 and http://support.microsoft.com/default.aspx?scid=kb;EN-US;183110
  5. On rare occasions, the Windows Script Host can become corrupted. This corruption produces the following error message:

    WScript.exe - Entry point not found.
    The procedure entry point DoOpenPipeStream could not be located in the dynamic link library ScrRun.dll.

    To correct this problem, reinstall Windows Script Host version 5.6 from the following location: http://www.microsoft.com/downloads/details.aspx?FamilyId=C717D943-7E4B-4622-86EB-95A22B832CAA&displaylang=en
  6. Do not set the monitor display font size to anything larger than 96 DPI.
  7. If the SAS Activity-Based Management server is updated to version 7.1 and any clients that have not been updated attempt to logon to the updated server, they will receive an obscure error message. The message reads, "The request failed with HTTP status 404: /SasSolutions/ABM/Services/LogonService.asmx". The message means that the requested web page does not exist. This happens because SAS Activity-Based Management 7.1 uses a different mechanism to attach to the server than was used by Activity-Based Management 6.x.
  8. If you are using SAS Activity-Based Management with non-English languages, you may encounter instances where strings containing extended characters imported from SAS Data Sets do not import correctly. The extended character data is usually displayed as '?' (question marks). This can be resolved by setting your SAS Share Server session locale to the desired language.
  9. Users of the Accessibility capabilities of SAS Activity-Based Management often use the JAWS screen-reading program. There is a known bug in JAWS causing it to occasionally lock input fields of HTML pages, preventing users from entering data. If this happens while you are using JAWS, press Alt+N to re-enable screen input.

Upgrading from a Previous Version

  1. After uninstalling the previous version of SAS Activity-Based Management Server and SAS Activity-Based Management Administrator it is important that you reboot your computer. Failure to reboot will cause SAS Activity-Based Management 7.1 to fail to install completely. The failure will appear as error messages during installation that several COM components do not register correctly. This problem can be corrected by uninstalling SAS Activity-Based Management 7.1, rebooting your computer, and re-installing SAS Activity-Based Management 7.1.