IBM® Rational® Rose® V2003.06.13 & V2003.06.14 Fix Pack 1 Readme
June 2005

© Copyright IBM Corporation. 1992-2005. All Rights Reserved.
Any reproduction or distribution of this work is expressly prohibited without the prior written consent of IBM Rational.
Legal Notices Information

Scope
This Fix Pack includes Defect Fixes and Enhancements for Rose V2003.06.13 and V2003.06.14.
Hardware/Software Information
Hardware / Software requirements for this Fix Pack are the same as those described in the Installation Guide for Suites v2003.06.00.
Getting Started
In addition to the instructions provided in the "Getting Started" section of the Rose 2003.06.00 Release Notes, please review the following information new in this Fix Pack for Rose V2003.06.13 or V2003.06.14.
Hot Fixes Not Included in Rose V2003. 06.13 / V2003.06.14 Fix Pack 1
The Fixes (shown for the Hot Fixes) listed in the table below are not included in this Fix Pack.  These fixes were finalized after the code was complete for Fix Pack 1.  The following fixes will be included in the next Rose Service Release V2003.06.15.
Rose V2003.06.13 Hot Fixes	
Hot Fix 8	VC++	RATLC01080390	VC++ code generation defect on composition relationship.	
Hot Fix 9	Core Rose	RATLC0737273 / PQ98918	Start and End State Icons in State / Activity Diagrams may not display text correctly.  	
Rose V2003.06.14 Hot Fixes	
Hot Fix 6	Data Modeler	RATLC00738619	Renaming a primary key in Rose may inconsistently rename foreign keys associated with it.  	
	Data Modeler	RATLC00959906	Round-trip engineering of DDL file may result in two semi-colons at the end of a function or procedure.	
Hot Fix 7	Core Rose	RATLC00961084 / PK03250	Rose may hang when utilizing the ClearCase integration and performing an Undo-Checkout.	
Hot Fix 8 	Core Rose	RATLC01078753 / IC45129	Cross References among *.cat files can cause corrupted Rose model when resolving references.	
Hot Fix 9	Model Integrator	RATLC01080956 / IC45533	Rose may crash when performing model merge.	
Licensing
No licensing changes are required when installing this Fix Pack.
Installation Instructions
Note:  [Release_Location] is the Rational Products installation directory.  This is typically "C:\Program Files\Rational".  If your [Release_Location] is not “C:\Program Files\Rational”, edit the following entries in your 
”install_Rose*_2003r3_r4_FixPack1_06.08.2005.bat” file before proceeding with the next steps:
@set HF_INSTALLDIR="C:\Progra~1\Rational\Rose"
@set HF_INSTALLDIR_ANSI="C:\Progra~1\Rational\Rose\ansi c++"
To Complete Installation:
1.	Rose V2003.06.13 or V2003.06.14 must be installed prior to installing this Fix Pack.  (This Fix Pack is applicable to Rose V2003.06.13 or V2003.06.14.)
2.	Backup your existing release.
3.	Place the following files in a temporary directory: 
o	install_Rose*_2003r3_r4_FixPack1_06.08.2005.bat
o	Rose_2003r3_r4_FixPack1_06.08.2005.exe
Run  install_Rose*_2003r3_r4_FixPack1_06.08.2005.bat

The following preliminary information will display – press Enter to continue:
=======================================================
Rose 2003.06.13 or 2003.06.14 Fix Pack 1
                  Product:  Rose Enterprise
Installs and Registers
Rose 2003.06.13 or 2003.06.14 Fix Pack 1
%TEMP%\Rose_2003r3_r4_FIXPACK1_ERRORLOG.log will include a listing
of any errors encountered while installing this Fix Pack. 
Contact Rational Technical Support if you encounter any Installation Errors.
=======================================================
Press any key to continue . . .
Rose 2003.06.13 or 2003.06.14 Fix Pack 1...
•	The “WinZip Self_Extractor” dialog will display.  Change to the correct [Rational_Location] if it is not “C:\Program Files\Rational”.  Select “Unzip”.

You will see the following message box, Select “OK” and then Select “Close” in the original “WinZip Self_Extractor” dialog (see, above).

In the Command Prompt Window you will see a messages as each Add-In included in this Fix Pack is registered:
Registering Rose J Add-In...
Registering Rose ANSI C++ (cppdll) Add-In...
Registering Rose ANSI C++ (cppcvtk2) Add-In...
Registering Rose ANSI C++ (cppevent) Add-In...
Registering Visual C++ Add-In...
Registering Rose ClearCase Add-In...
Registering Rose Version Control Add-In...
Registering CORBA Add-In...
Registering Web Publisher Add-In...
Registering Rose Data Modeler Add-In...
Microsoft (R) .NET Framework Assembly Registration Utility 1.1.4322.573
Copyright (C) Microsoft Corporation 1998-2002.  All rights reserved.
Types registered successfully
The following additional message appears showing that a registry key for the CORBA RATLC00960947 is being added to registry:
Making Rose CORBA registry entry "OverWriteModule"...
See IBM Rational Rose Fix Pack 1 Readme under Fix Pack 1 Defects Fixed
If you utilize the CORBA Add-In and would like to activate this fix, refer to the instructions included in the RATLC00960947 Defect Fix entry below.
•	You will then see a message in the Command Prompt Window indicating that the Fix Pack was successfully installed:
Removing %TEMP%\Rose_2003r3_r4_FIXPACK1_ERRORLOG.log
=======================================================
Rose 2003.06.13 or 2003.06.14 Fix Pack 1
    Successfully Installed
=======================================================
Press any key to continue . . .
If you encounter any errors during the installation of this Fix Pack, refer to the error log:  
%TEMP%\ Rose_2003r3_r4_FIXPACK1_ERRORLOG.log which will include a listing of the errors.  If no errors were encountered, this file will not exist.
Product Documentation
Documentation for IBM Rational is available on-line at http://www.ibm.com/software/rational/support/documentation/.
Compatibility Issues
This section describes any compatibility issues that could arise from use of this Fix Pack.
With Rational Products
This Fix Pack does not introduce any compatibility issues with other IBM Rational products.
With Third-Party Products
This Fix Pack does not introduce any known compatibility issues with third-party products.
Enhancements & Defect Fixes
Core Rose Enhancement
•	Performance Enhancement when loading Large Models
Rose ANSI C++ Enhancement
•	Ability to Select Comment Style for ANSI C++ Components

Rose J Add-in Enhancements
•	Ability to Generate @Exception tag vs. @Throws
•	J2EE Frameworks Included 
Rose CORBA Add-In Enhancements
•	Support for "local" Keyword in IDL Generation and Reverse Engineering
•	Support for "supports" Keyword in IDL Generation and Reverse Engineering
•	Enhancement to Remove Generated Comments from IDL
•	Enhancement to providing Better Control over IDL Format and Generation
Rose Data Modeler Enhancement
•	Limited Support for Oracle 9i
Rose ClearCase Add-In Enhancement
•	"refresh" Option added to ClearCase menu
Rose Version Control Add-In Enhancements
•	"ShowAll" Registry setting available to enhance performance when selecting configuration management options from Rose

Performance Enhancement when Loading Large Models
Note:  By default this option is turned-off ("UseMoreMemoryForHighPeformance" = "No").  (Registry Entry will be updated in next release to correct spelling error – should be “UseMoreMemoryForHighPerformance”.
The following new Registry Entry is necessary to activate the fix to enhance model loading performance:
•	[HKEY_CURRENT_USER\SOFTWARE\Rational Software\Rose\Rose] "UseMoreMemoryForHighPeformance" = "Yes" 
•	[HKEY_CURRENT_MACHINE\SOFTWARE\Rational Software\Rose\Rose] "UseMoreMemoryForHighPeformance" = "Yes" 
By setting the above registry key ('UseMoreMemoryForHighPeformance') to "Yes" a 30% model loading performance can be achieved.  Also, by setting this key to "Yes", a large memory buffer is used for each symbol table, which will enhance performance, while reserving a large amount of memory for this purpose.  This issue is more apparent in case of very large models (ranging several MB's). This registry entry does not need to be enabled for loading small models. 
IMPORTANT: If your system does not have enough memory (typically 1GB for 100 MB model), do not change the "UseMoreMemoryForHighPeformance" setting to "Yes".  If your system does not have enough memory and "UseMoreMemoryForHighPeformance" is set to "Yes", the performance will deteriorate.
Ability to Select Comment Style for ANSI C++ Components
ANSI C++ comment styles are valid for all of the artifacts of a single component (i.e. the ANSI C++ comment style is a property of the component).  The default style is C++.  To select a comment style:
•	Right click on the component and select ANSI C++ > Open ANSI C++ Specification ...
•	Select Style tab
•	Select preferred Comment Style (C++, C, XML, JavaDoc)
Your selection will become the default comment style for the component for which you generate code.  All newly created documentation will appear in the selected comment style.
Note:  Reverse Engineering code and then forward engineering after changes to a different comment style will cause your comments to change to the newly selected style.
•	User can specify the file extension for all generated classes.
•	Source code file can be named differently than the class.
•	Source and body files can be generated into different directories. 
•	Support for modeling of exception specifications.
•	Provides support for default sets on the Component Specification style page.
•	Support default sets for component styles.
Ability to Generate @Exception vs @Throws Tag
The Rose J add-in now supports the ability to select @Exception or @Throws tag in javadoc generation.
Radio buttons have been added to the Java Project Specification Style Page (see Tools > Java/J2EE > Project Specification > Style Tab).  The two new radio buttons are grouped under "Throws/Exception tag".  User selection will determine how javadoc exceptions are generated.  For example:
•	@throws selection will generate "@throws Exception comment" 
•	@exception selection will generate  "@exception Exception comment" 
The value of this selection is stored as a property in the model file.  This property is only used during forward engineering (code generation).
Support for "local" Keyword in IDL Generation and Reverse Engineering 
Recent versions of CORBA support the local interface feature. Below is a description of how we now support this feature in the Rose CORBA Add-In.
You can now select an interface as a local interface by enabling the local flag provided in the CORBA interface class page dialog as shown in the diagram below.

When code is generated for the above interface, the local keyword will be generated before the interface definition. local interface inter { };
Similarly during reverse engineering, if we parse the above IDL (Interface Definition Language) file, local property flag of the interface inter will be enabled.
Support for "supports" Keyword in IDL Generation and Reverse Engineering
Recent versions of CORBA support a keyword known as "supports". Below is a description of how we now support this feature in the Rose CORBA Add-In.
A CORBA valuetype can inherit from another valuetype and also can support interfaces. There are certain rules about valuetype inheritance and supporting interfaces.
The following table lists the allowable relationships:
May inherit from: 	Interface 	Abstract Interface 	Valuetype 	Abstract Valuetype 	
Valuetype 	Supports Single 	Supports multiple 	Single (may be truncatable) 	Multiple 	
Abstract Valuetype 	Supports single 	Supports multiple 	no 	Multiple 	
In Rose, the support relationship between a valuetype and an interface has been mapped as a realization relationship.
You can now create an inheritance between valuetypes by selecting the super valuetype classes from the list shown in the valuetype class page inherits from list. Now, this list shows only valid valuetypes.

For creating the supports relationship between a valuetype and an interface you will need to create a realization relation between valuetype and interface. You can achieve the same using the class diagram.
Enhancement to Remove Generated Comments from IDL
During forward engineering, the generation of RoseIds in the generated IDL file can be controlled by using the new flag "GenerateRoseID" that is provided in the detail tab of the Project Specifications dialog. 
When you disable the "GenerateRoseID" flag and try to generate the code the following warning message dialog will be displayed.

You may disable this dialog box by enabling the check box.
Enhancement providing Better Control over IDL Format and Generation
You can now control the generation of comments during forward engineering.  By disabling the following option in the Project Specifications dialog, you can disable the generation of the comments when forward engineering.

Also, you may now control the generation of opening braces. By enabling the following option in the Project Specifications dialog, you may control the generation of the opening braces in new line.

In the indentation group box, you may select tabs or spaces to generate the code. The number of tabs or number of spaces can be specified in the "Number to use" text field.
The default value is 4.
Valid entries for the field "Number to use" can be between 1 and 40 (including these values). If you set the value less than or equal to 1 the value will be automatically set to 1. Similarly, if you set the value greater than or equal to 40 then the value will be automatically set to 40.
Ability to Repeat Reverse and Forward Engineering of CORBA IDL's
The Rose CORBA Add-In has been enhanced to allow repeated forward and reverse engineering of CORBA IDL's.  It is important, however, that IDL files be reverse engineered in the decreasing order of dependency, for example the most dependent file should be reverse engineered first an the least dependent file should be reverse engineered last.
Limited Support for Oracle 9i
NOTE:   The changes below involve the Oracle SQL parser. 
1.	Support for foreign key relationships spanning schemas: Foreign key constraints on a table in a particular schema can now refer to columns belonging to tables defined in another schema.
2.	Support for Triggers, Stored Procedures, Functions, Packages and Package Bodies: 

Support for the items mentioned above have been enhanced with additional clauses.  The following is a list of the added clauses (please refer the Oracle 9i Specification for additional information in relation to these clauses): 

InvokerRightsClause
CASE expression
TRANSLATE aggregate function.
NOCOPY option for parameters
Oracle 9i style external body clause for stored procedures and functions
User defined type declarations in procedure and function blocks
Sub query is now accepted as an expression
PlSql Package body also accepts Procedure Declarations
Pragma declaration with String Parameter.

3.	Unreserved Keywords: Some keywords that were unreserved according to the Oracle specification have been made available in the Rose Data Modeler.  Previously you were not able to use many of the unreserved keywords as per specification as identifiers.  You may now use Unreserved Keywords as identifier names.
4.	Subprograms (Procedures and Functions), Packages and Package Bodies can be wrapped.  This means we cannot see the implementation code for them. (Review the Oracle 9i Specification for more information.).  Support is now included to reverse engineer such wrapped bodies.
5.	Rose Data Modeler now utilizes information from Procedure(s) and Functions, which reference external libraries written in C/Java.  The previous versions of Rose Data Modeler used to only reverse engineer the Procedure name and its Parameters.  Rose Data Modeler will now reverse engineer and update all fields ("Language", "External Name", and "Action Body") in the Procedure and Function specification sheet.
Known Oracle 9i Issues in Rose V2003.06.15 Data Modeler
1.	Views with nested tables and triggers on nested tables will be reverse engineered from the database. However, there is no support for these entities in the user interface or during forward engineering.
2.	Some keywords that are unreserved in the Oracle Specifications may be treated as reserved keywords by the Rose Data Modeler SQL parser. This can result in parser errors. A suggested workaround is to change the identifier in question. The following is a list of such keywords, which could present parser errors if used as identifiers:

character, constraint, debug, dec, foreign, int, limit, nvarchar2, primary, references, returning, rowlabel, scope, some, temporary, the
3.	The Rose Data Modeler parses Stored Procedures, which references external libraries written in "C" and "Java".  However, in the Rose Data Modeler, the name of the "C" function and Library Name is displayed in a single text field named "External Name" in the Stored Procedure specification.  The syntax followed here is NAME "proc_name" LIBRARY "lib_name".  When modeling external stored procedures, follow this syntax when specifying the name of procedure and library.  In case of Java it places the whole external procedure declaration in the Action Body of the Specification.
4.	The Rose Data Modeler parses and ignores certain keywords during reverse engineering.  As a result these details are not stored and displayed in the Rose model. When performing forward engineering on this type of model, you will not see those keywords in the generated DDL script file.  For example, the Rose Data Modeleer parses "PARALLEL ENABLE" keywords but this information is not stored in Rose model as it is ignored during reverse engineering. 
"ShowAll" Registry setting available to Enhance Performance upon selecting Configuration Management (CM) options from Rose
Upon selecting CM options within Rose, the Version Control Add-In queries and displays all the controlled files in the model for which the CM option applies.  This can impact performance, as Rose queries all controlled units in the model.
In order to enhance performance and only perform the CM action on the selected unit, the following registry entry should be set to "No" before starting Rose:
HKEY_LOCAL_MACHINE\SOFTWARE\Rational Software\Rose\Addins\Version Control\Custom Settings\ShowAll
Setting "ShowAll" to "No" will only list the controlled file related to the selected model item.  The CM action will only be applied to this controlled file.
By default "ShowAll" is set to "Yes" and will display all controlled files applicable to the CM option chosen.

Rose Fix Pack 1 Defects Fixed
Rose Fix Pack1 includes the following Defect Fixes.

1.	Installing Fix Pack 1 in Rose V2003.06.14 -  Fixes from Table A.  Rose Fix Pack 1 Defect Fixes are included.
2.	Installing Fix Pack 1 in Rose V2003.06.13  - Fixes from Both Tables A. Rose Fix Pack 1 Defect Fixes; and Table B. Rose V2003.06.14 (Service Release 4) Defect Fixes are included.

Table A.  Rose Fix Pack 1 Defect Fixes

Component	RATLC ID	Description	
Rose ANSI C++	RATLC00140469 / IC43048	Copyright comments may be overwritten by modified class comments. 

Note:  Copyright comments can only be added on new file generation for Rose ANSI C++.  They are not updated during subsequent file updating.	
Rose ANSI C++	RATLC00140942 / IC43691	Forward declaration is not generated if the class name includes Japanese characters even when using CodeName property.	
Rose ANSI C++	RATLC00213177 / IC38123	Rose ANSI C++ will not correctly reverse engineer struct-s which declare variables immediately after the struct declaration (they are ignored).	
Rose ANSI C++	RATLC00244812 / IC38217	Rose ANSI C++ does not reverse engineer the following typedef struct correctly: 
typedef struct test01_tag { int x1; int x2; } *lp_test01;
typedef struct test02_tag { int x1; int x2; } test02, *lp_test02;
In this case the following type of errors may occur:
12:03:47| [Customizable Menus] 12:04:27| Error: Could not parse the text for the type lp_test01 
12:04:27| Error: Could not parse the text for the type lp_test02 
12:04:28| Error: Could not parse the text for the type lp_test01 
12:04:28| Error: Could not parse the text for the type lp_test02 
12:04:28| The following model changes have been performed: 
12:04:28| Class addition(s);'C++ Reverse Engineered::test01_tag' 'C++ Reverse Engineered::test02' 
12:04:28| Other changes:'' 
12:04:28| No source files have been changed	
Rose ANSI C++	RATLC00600134 / PQ97223	No #include or forward reference if the class has the CodeName property set.	
Rose ANSI C++	RATLC00731147 / IC42855	Rose ANSI C++ generates the same QUID if role specified incorrectly. 
When specifying a complex role name as "+theB B[]*" and generating code, "B theB[] *;" is generated.  After changing the complex role name from "+theB B[] *" to "+theB B[]" on the model and then generating code again, "B theB[] ;"is generated with the same QUID.
When the line " B theB[] *; " is parsed, an error occurs but the error is not reported. The fix for this issue reports the error and gives out a warning that indicates:
"Warning: To Generate Code NextTime,Remove The File Which Has This Error or else The Bad Code Will Remain".  To correctly generate code, first delete the file which includes the error.	
Rose ANSI C++	RATLC00733488	Multi byte character cannot be used as a classifier's name.  (A proper C++ classifier name will be generated instead.)	
Rose ANSI C++	RATLC00959871	Rose ANSI C++ generates code including the class scope operator, which does not always compile. 	
Rose C++	RATLC01076169 / PK00884	Rose C++ generates incorrect code for nested classes. 
When generating code at the same time for several classes having nested classes and methods returning these nested classes, the generated code is not correct.   he returned nested class is always the one of last classes selected.	
Rose C++	RATLC00141223 / IC44187	Rose C++ always generates qualified names for parameters of type nested classes, even if they are located in current namespace. 
The scope resolution problem, is fixed, by not providing the full resolution each time.  he Parameters and return types generated are all within the scope	
Rose C++	RATLC00463907 / IC43740	Rose C++ is now initializing member data in copy constructors. 
Users need to do things like deep copies in copy constructors and this is causing code to break. The old behavior should be the default and a flag should have to be set to allow member initialization, or at least a flag should exist to shut new behavior off.

Fix:  A new property called GenerateCopyConstructorInitializer has been added, allowing the user to continue initialization of member data in Rose C++ copy constructors.  In order for this property to appear in already existing models.  Go to Tools->Model Properties->Update... and update the .pty file with the current rosecpp.pty file in the /Rational/Rose/C++ folder.  This action is needed only for already existing models and not for new models created using this release.	
Rose C++	RATLC00249070 / IC42755	Scope problem may occur with generated C++ code.  To reproduce: 

1.	Create a nested class (or some other type) D in class A. 
2.	In Class A, have a member function that returns an instance of the nested Class D.
3.	Generate code 
4.	Check the A.h file. The result will be D getNestedD(); which is correct because the declaration is inside the scope of Class A and therefore knows Class D. 
5.	Check the A.cpp file. The result will be D A::getNestedD() { }, which is not correct.  The definition is outside Class A's scope and the result should be A::D A::getNestedD() {}.
Workaround:
1.	Set the return type of the operation to const A::NestedClassD instead of const NestedClassD.
2.	Select the class A and generate code.
3.	Browse the header and body. The code for the two operations should be correct.	
Rose C++	RATLC00249268 / IC343213	Attribute DataMemberName property is ignored for copy constructors during code generation.	
Rose CORBA	RATLC00245453 / IC38771	Reverse engineering CORBA files located in a directory with a "." in the directory name may create incorrect packages.  This presents problems when browsing files and performing round trip engineering as the CORBA Add-In does not store the path to files - it rebuilds it based on the component view package hierarchy.	
Rose CORBA	RATLC00245944	Path delimiter issues can occur when using "/" delimiter in UNIX and "\" delimiter in Windows. 	
Rose CORBA	RATLC00249190	References outside of the current package result in long names being displayed in diagram. 	
Rose CORBA	RATLC00249191	Extra Module definitions incorrectly generated in the IDL. 	
Rose CORBA	RATLC00249231	Added support for valuetype interface inheritance, specifically the supports keyword in IDL generation and reverse engineering. 	
Rose CORBA	RATLC00452937 / IC39246	The following error could occur when reverse engineering CORBA code: 

6:02:30| Error: Parser Error: near token eof on line -1 in file C:\	
Rose CORBA	RATLC00524364	Added support for local keyword in IDL generation and reverse engineering.	
Rose CORBA	RATLC00524367	Request for better control in relation to IDL format and generation. 	
Rose CORBA 	RATLC00524369 	Request to remove generated comments from IDL. 	
Rose CORBA	RATLC00960122 / IC43891	When multiple classes  are associated to the same component, , a subclass may be declared before it's superclass.	
Rose CORBA	RATLC00960947	Reverse Engineering may remove artifacts in the Logical View.

When you Reverse Engineer CORBA IDL files, Rose CORBA deletes the old artifacts from the Logical View.
This behavior was introduced as part of the defect fix RATLC00213825.
In order to balance both behaviors a new user level Registry entry is added:
[HKEY_CURRENT_USER\SOFTWARE\Rational Software\Rose\Addins\CORBA]
"OverWriteModule" = “No”
Rose CORBA will behave as follows during reverse engineering:
1.	When the Registry Entry OverWriteModule is missing or its value is not set to “Yes” (case insensitive)
Rose CORBA does not delete the artifacts from the Logical View.
2.	When the Registry Entry OverWriteModule value is set to “Yes” (case insensitive)
Rose CORBA deletes the artifacts from the Logical View, keeping the model latest as per the current IDL file only.	
Rose Core	RATLC00140927 / IC43728	Rose may crash when copying a class diagram.	
Rose Core	RATLC00141082	Poor Rose performance issue when loading large model.	
Rose Core	RATLC00141322 / PQ99832	rose.exe may not terminate correctly when closing Rational Rose.	
Rose Core	RATLC00141451 / PK00607	Copy and pasting a Package which includes a sequence diagram may crash Rose.	
Rose Core	RATLC00211476 / IC37486	Ability to Save Print Options as Default.

The registry entry "SaveLayoutOptionUponExit" may be placed at the following location.
"HKEY_CURRENT_USER/Software/Rational Software/Rose"

If the value of this entry is non-zero the 'file->print...->layout' option is saved during the exit. Otherwise as usual the default option 'As In Diagram' is taken next time Rose opens.  You will need to manually set the registry value "SaveLayoutOptionUponExit" according to your preference.	
Rose Core	RATLC00248543	Previously, the menu options for Applying GOFPatterns to a writeprotected class were grayed.  Now they are not grayed, but upon selecting the GOFPattern a warning message is displayed that the GOFPattern cannot be applied on a writeprotected class.	
Rose Core	RATLC00248913 / IC42427	Rose may crash when deleting messages and objects on a sequence diagram.	
Rose Core	RATLC00248957	Rose may crash when you right click on note view or any view which does not have any associated model.	
Rose Core	RATLC00249074 / IC42762	A controlled unit cannot be deleted on a Package Overview diagram.	
Rose Core	RATLC00375130 / IC38086	Package visibility may disappear from the diagram after performing a copy / paste.	
Rose Core	RATLC00372902	Cannot scroll to right edge of Activity Diagram after increasing the width of a swimlane.	
Rose Core	RATLC00379750	Rose V2003.06.14 displays relationships that are selected in a class diagram in blue.  In addition to the normal selection squares it now draws lines in blue. When deselected they are black again.	
Rose Core	RATLC00441178	Objects in a three-tier diagram may get truncated.  If the objects in a three-tier diagram are truncated, manually move the objects in the diagram so that they are visible.  The objects will no longer truncate.	
Rose Core	RATLC00457083 / IC40869	Print option may result in blank pages for Statechart diagrams.	
Rose Core	RATLC00459725 / IC42086	When entering some of the characters of the argument type or the return type for an operation the listing does not scroll down to the name.	
Rose Core	RATLC00460233 / IC42350	In activity diagrams some objects may mis-render the stereotype assigned through their associated class in the following manner: 

Compartment lines may be too wide

The state name may overlap the object:class name	
Rose Core	RATLC00463546 / PQ97232	Rose may crash when deleting notes from sequence diagrams.	
Rose Core	RATLC00465804	Right clicking message in sequence diagram may cause Rose to crash.	
Rose Core	RATLC00960300	Rose may crash when pasting elements into a sequence diagram.	
Rose Core	RATLC00960584 / PQ99644	Operations may disappear from Sequence and Collaboration diagrams when copying class operations.	
Rose Core	RATLC00960663 / PK00934	RequisitePro menu items may be grayed out in Rose unless the package containing the Use Case is checked out in Rose. 

Fix for RATLC00248543 was changed in order to fix RATLC00960663.	
Rose Core	RATLC01705463 / IC42317	Copying activity diagram may cause Rose crash.	
Rose Data Modeler	RATLC00373045 / IC40917	Data Modeler may not reverse engineer the entire DDL file.	
Rose Data Modeler	RATLC00463206 / IC43413	Data entered as "number(5)" in attribute specification may get reduced to "5" on class model element.	
Rose Data Modeler	RATLC00959906	Round-trip engineering of DDL file may result in two semi-colons at the end of a function or procedure. 	
Rose Data Modeler	RATLC00959942	Parser Error may occur during reverse engineering when the action body is defined in Trigger. 	
Rose J	RATLC00462098 / IC43041	Generating Java code that includes // comments can cause the CPU to max out and cause Rose to hang. 	
Rose SCC	RATLC00140930 / IC43283	Improved performance - Version Control functions (i.e. Check-in, Check-out, Get Latest, and Add to Version Control). 	
Rose VC++	RATLC00244696 / IC38135	Run-time error '91' could occur when modifying signature of subclass method. 	
Rose VC++	RATLC00244764 / IC38188	Using Model Assistant, cannot modify signature of overridden methods by deleting parameter. 	
Rose VC++	RATLC00244783 / IC38205	When an #include is generated as defined in the Internal Map, the standard #include is also generated and is a duplicate. 	
Rose VSS	RATLC00140993	Must re-select the SCC project every time the Add to Source Control in invoked. 	

Table B.  Rose V2003.06.14 Defect Fixes

Component	RATLC ID	Description	
Rose ANSI C++	RATLC00043080	Ability to select comment style for ANSI C++ components.	
Rose ANSI C++	RATLC00456430 / IC40576	In some cases, Rose ANSI C++ does not reverse engineer #ifndef correctly.  This #define is now matched with the macro table entries in the scaner before arriving at the conditional representation.	
Rose C++	RATLC00457217 / IC41682	Updating properties for the Rose C++ Add-In can overwrite the default property set.	
Rose C++	RATLC00249070 / IC42755	Scope problem may occur with generated C++ code.  To reproduce: 
1.	Create a nested class (or some other type) D in class A. 
2.	In Class A, have a member function that returns an instance of the nested Class D.
3.	Generate code 
4.	Check the A.h file. The result will be D getNestedD(); which is correct because the declaration is inside the scope of Class A and therefore knows Class D. 
5.	Check the A.cpp file. The result will be D A::getNestedD() { }, which is not correct.  The definition is outside Class A's scope and the result should be A::D A::getNestedD() {}.
Workaround:
1.	Set the return type of the operation to const A::NestedClassD instead of const NestedClassD.
2.	Select the class A and generate code.
3.	Browse the header and body. The code for the two operations should be correct.	
Rose ClearCase Add-In	RATLC00246313 / IC39655	Enhancement to update ClearCase status in Rose when ClearCase changes are made to Rose units (outside of Rose).  If controlled units are updated in the ClearCase Explorer, the current ClearCase status of these units is not automatically updated / visible in Rose.  A new "refresh" menu option has been added to the existing Rose / ClearCase menu.  Once the "refresh" option is selected the Rose browser will update all applicable units with the current ClearCase status.	
Rose CORBA	RATLC00245453 / IC38771	Reverse engineering CORBA files located in a directory with a "." in the directory name may create incorrect packages.  This presents problems when browsing files and performing round trip engineering as the CORBA Add-In does not store the path to files - it rebuilds it based on the component view package hierarchy.	
Rose Core	RATLC00246975 / IC40429	Horizontal line incorrectly appears over business stereotyped objects in Activity Diagrams.	
Rose Core	RATLC00248949 / IC42574	Objects become stretched out when changing the Stereotype display of the objects in a Sequence Diagram.	
Rose Core	RATLC00248957
RATLC00249003	Rose may crash when right clicking on a note or a message or any view which does not have an associated model.	
Rose Core	RATLC00249152 / IC42941	Rose 2003.06.13 may crash when loading a *.cat file containing Sequence Diagrams in 8.1 petal format. 

Workaround:  Load the file in Rose 2003.06.12 + Hot Fix 1, save the controlled unit.  You should now be able to successfully load the model in Rose 2003.06.13.	
Rose Core	RATLC00454311 / IC39371	Name of objects in Sequence Diagram may appear truncated followed by ".....".  
Performing a Format > Autoresize will display everything correct, however, upon saving and reopening the model - the original problem returns..	
Rose Data Modeler	RATLC00243864 / IC37496	Unable to scroll vertically in the Key Column's field of a Foreign Key.  Enabled property of the Column and Key Columns lists, by setting them to true.	
Rose Data Modeler	RATLC00243886	Enhancement request to update InitialValue for attributes.  An attribute for column class, "InitialValue" is now included.   
Gets and Sets for the initialValue will perform the Gets and Sets for the initValue of UMLAttribute class and the initialValue value is set to columns default value.
By doing so, a new attribute initv for column is created in the petal file with its value same as default value of the column.	
Rose Data Modeler	RATLC00244011 / IC37648	Unchecking the option Create Indexes for Foreign Keys does not prevent the creation of these indexes.	
Rose Data Modeler	RATLC00248705	On Japanese Forward Engineering and subsequently saving the DDL file on desktop will generate errors.	
Rose Data Modeler	RATLC00248715	Oracle parser errors when using PRAGMA EXCEPTION_INIT with error numbers.	
Rose Data Modeler	RATLC00248716	Japanese OS: Text truncation issues when using Rose Data Modeler Forward Engineering Wizard.	
Rose Data Modeler	RATLC00248736	The text "Enforce with Trigger" appears truncated on the Relationship Specification window.	
Rose Data Modeler	RATLC00248741	Oracle parser error occurs with cursor variable.	
Rose Data Modeler	RATLC00248742
RATLC00248834	Oracle parser PL / SQL error occurs.	
Rose Data Modeler	RATLC00248743	Oracle parser error when using table function.	
Rose Data Modeler	RATLC00248754	DB2 parser errors not included correctly in the Rose log.	
Rose Data Modeler	RATLC00248756	DB2 Model not created correctly upon reverse engineering.	
Rose Data Modeler	RATLC00248757	Oracle parser error occurs when using "ORDER BY" clause. 	
Rose Data Modeler	RATLC00248779	DB2 formatting lost in SQL tab of View Specification upon reverse engineering. 	
Rose Data Modeler	RATLC00248792	Oracle parser error occurs for procedure inside a package body with keyword 'AS'. 	
Rose Data Modeler	RATLC00248793	Oracle reverse engineering from the Database generates errors. 	
Rose Data Modeler	RATLC00248813	Following message appears in the Rose log when table already exists in database: 
Exception has been thrown by the target of an invocation.
The message should appear as:

The name of the object to be created is identical to the existing name "[name_of_database]" of type "TABLE". SQLSTATE=42710 	
Rose Data Modeler	RATLC00248815	Unhandled Exception could occur when reverse engineering from a database with a trigger defined. 	
Rose Data Modeler	RATLC00248816	Parser errors occurred when reverse engineering DDL files in specific cases of generated-column-spec. 	
Rose Data Modeler	RATLC00248818	Unhandled Exception could occur when navigating to FROM tab of View Specification via keyboard (CTRL+SHIFT+TAB). 	
Rose Data Modeler	RATLC00248821	DB2 parser error occurs when reverse engineering DDL with check constraint defined as 
CHECK (a > g). 	
Rose Data Modeler	RATLC00248823	Oracle parser error occurs when using the following as names in DDL:

o	NESTED
o	SEGMENT
o	LOB 	
Rose Data Modeler	RATLC00248830	Oracle PCTHRESHOLD does not get set correctly. 	
Rose Data Modeler	RATLC00248831	Oracle parser errors occur when using the NOLOGGING keyword. 	
Rose Data Modeler	RATLC00248832	Oracle parser errors occur for tokens like ".new", SQLERRM, etc. 	
Rose Data Modeler	RATLC00248833	DB2 parser error when reverse engineering Trigger with Action Body. 	
Rose Data Modeler	RATLC00248836	DB2 parser error occurs when reverse engineering DDL file for View. 	
Rose Data Modeler	RATLC00248837	DB2 parser error occurs when reverse engineering a View which includes a WHERE clause. 	
Rose Data Modeler	RATLC00248844	Oracle parser errors occur when a trailing comma "," exists in a PROCEDURE clause. 	
Rose Data Modeler	RATLC00248845	DB2 parser error thrown when reverse engineering DDL file with "CLOSE YES". 	
Rose Data Modeler	RATLC00248846	Oracle parser error when "drop" statement is included before the table definition. 	
Rose Data Modeler	RATLC00248850	Delete Trigger throws exception messages. 	
Rose Data Modeler	RATLC00248853	SQL parser errors when using LOG as a table name. 	
Rose Data Modeler	RATLC00248934	Oracle parser updates required. 	
Rose Data Modeler	RATLC00249058	Rose may crash upon loading a model with a petal syntax error due to character "0xff". 	
Rose Data Modeler	RATLC00249092	Comparison information between Object Model and Data Model is not appearing correctly under the Object Model. 	
Rose Data Modeler	RATLC00249104	Forward engineering of view to database may cause the following type of parser error: 
[DataDirect][ODBC Sybase Wire Protocol driver][SQL Server]Incorrect syntax near ';'. 	
Rose Data Modeler	RATLC00249106	Sybase: The following error may occur when attempting to reverse engineer from Sybase Database if there is an association between tables: 

Current Recordset does not support bookmarks. This may be a limitation of the provider or of the selected cursortype. 	
Rose Data Modeler	RATLC00453416 / IC38830	Japanese OS:  The column does not appear in the view if the column name includes double byte character(s). 
  
Note:  When a column is named using double byte characters, the string containing the double byte characters should be put in " " (double quotes). 	
Rose Data Modeler	RATLC00443658	Rose Data Modeler does not correctly forward engineer, when a table is nested in a package and  the package is nested in a schema. 	
Rose Data Modeler	RATLC00455888
RATLC00452873 / IC40329, IC39557	Performance delay upon double clicking on a view and opening the specification. 	
Rose Data Modeler	RATLC00459374 / IC41870	Saving and loading a Rose model may cause tables to acquire additional entries in the Key Constraints > Key Columns list. 	
Rose Data Modeler	RATLC00722807 / IC41940	Constraints are not being created correctly for invalid columns. 	
Rose J	RATLC00212229 / IC38567	javadoc @throws may be duplicated when exception is not fully qualified. 	
Rose J	RATLC00245013	Java Addin supports generation of @exception tag instead of @throws in the Javadoc.  Using the Java Project Specification Style page the exception tag to be used in JavaDoc generation can be chosen.  This option is stored within the model as a Property and will be used only during the Forward Engineering. 	
Rose J	RATLC00459726 / IC42087	After reverse engineering Java code into Rose and then forward engineering, the import statement will be incorrectly removed. 	
Rose SCC	RATLC00249108	Rose SCC Rose Performance Problem When Performing Check Out.  The default behavior of the version control add-in during check-in / checkout is to display all the controlled files in the model. To change this behavior to display the controlled file related to the selected model item alone, set the registry value of "HKEY_LOCAL_MACHINE\SOFTWARE\Rational Software\Rose\Addins\Version Control\Custom Settings\ShowAll" to "No" before starting Rose. 	
Rose SCC	RATLC00459864	Rose Version Control, CHKBOX caption is missing with File Property & History command. 	
Rose VC++	RATLC00372792 / IC38986	Rose VC++ does not distinguish between members that are of type nested classes.  Now, whenever a nested class is found, a check is made whether it includes the fully qualified name (in which class it is nested) or not.  If it does not have a fully qualified name - a fully qualified name will be assigned. 	
Rose Web Publisher	RATLC00249024 / IC42689	When an Activity Diagram displays an Activity that is stored in a State/Activity Model contained in a Use Case located in a different package, the link to the Activity from the diagram is incorrect. 	

Additional Information
Contacting IBM Rational Customer Support
Contacting Rational Customer Support The IBM software support Internet site provides you with self-help resources and electronic problem submission. The IBM Software Support homepage can be found at www.ibm.com/software/support. 
Voice Support is available to all current contract holders via a telephone number in your country (where available). For specific country phone numbers, please refer to the IBM Software Support Handbook, Appendix B: Contact Information, found at www.ibm.com/software/support.