Release Notes for SAS® Activity-Based Management 7.1
This file contains late-breaking notices regarding:
Additions for SAS Activity-Based Management 7.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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
This problem does not effect all SAS Activity-Based Management installations on AIX and is dependent on what SAS software
you have installed.
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.
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.
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
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.
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.
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.
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".
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.
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.
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.
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.
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.
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.
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
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
When installing SQL Server, the collation sequence must be set to case insensitive.
SAS Activity-Based Management Server - Oracle Database
When installing Oracle, the collation sequence must be set to case insensitive.
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.
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
When installing MySQL, the collation sequence must be set to case insensitive.
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.
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
SAS Activity-Based Management Client
When importing data from a Microsoft Access database or a Microsoft Excel spreadsheet, the file must be visible and
accessible from the server.
Accounts with dimension intersections No <Dimension1> x No <Dimension2> can be exported but cannot be imported.
Deleting period and scenario data might require a long time when there is a large amount of data to delete.
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
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
Do not set the monitor display font size to anything larger than 96 DPI.
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.
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.
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
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.