A fix is available
APAR status
Closed as program error.
Error description
With Rhapsody version 8.2, when the CPP_CG::Class::DependenciesAutoArrange property is set to false on a package, the #include statements from usage dependencies in the code are generated after the class forward declarations. If a #include is needed to support the class forward declaration, then this can cause the code to not compile. We believe that #include statements should come first, followed by class forward declarations, followed by variables in the package. Workaround is to use Code Respect and drag/drop the code to the expected position. See attached model.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: * * Rhapsody * **************************************************************** * PROBLEM DESCRIPTION: * * CPP_CG::Class::DependenciesAutoArrange moves forward * * declaration to unexpected position in source file causing * * compiler error * **************************************************************** * RECOMMENDATION: * ****************************************************************
Problem conclusion
code don't compile because of the dependency order in implementation. the actual problem is not order between forward declarations and includes (when the property CPP_CG::Class::DependenciesAutoArrange is false this is the correct behavior), but the order between implicit and explicit dependencies problem can be solve with property CG::Class::ImplicitDependenciesAboveUserDependencies set to False. note: this is not new property it can be used from Rhapsody 8.0.3 if added to the model (via site.prp ).
Temporary fix
Comments
APAR Information
APAR number
PI81776
Reported component name
TLOGIC RHAPSODY
Reported component ID
5724V74RP
Reported release
820
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-05-17
Closed date
2017-12-04
Last modified date
2017-12-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
TLOGIC RHAPSODY
Fixed component ID
5724V74RP
Applicable component levels
R820 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS7P9W","label":"Rational Rhapsody"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"820","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]
Document Information
Modified date:
19 October 2021