APAR status
Closed as program error.
Error description
If two or more packages have the same EventsBaseID value, or values with overlapping ranges of each other, will that result in code generation errors? Making changes to Component's PackageEventIdRange and package's EventBaseID (with CalculatePackageEventBaseId=OnCodeGeneration) fails to update the event ids. You should only set the CPP_CG_PackageEventIdRange property at the component level. So the range setting itself cannot overlap. When a package is created, events IDs will be assigned in blocks of <PackageEventIdRange>, starting at <EventBaseID>. The blocks might not necessarily be allocated contiguously. For example... a component is set to PackageEventIdRange=2000 and each package set to EventBaseID=1, the blocks could be 8000-10000, 14000-16000, 2000-4000, etc... With the component set to CG::Component::CalculatePackageEventBaseId=OnCreatePackage, if you were to change the component's PackageEventIdRange value, the event IDs are not refreshed. With the component set CG::Component::CalculatePackageEventBaseId=OnCodeGeneration, changing the component's PackageEventIdRange value will force all the event ID in the below packages to refresh. This could add to performance overheads in large models during code generation so it is recommended to leave this at the default unless you are actively changing the EventsBaseId and PackageEventIdRange properties. It is recommended that a package's CPP_CG::Package::EventsBaseId does not exceed the value set at the component's CPP_CG::Package::PackageEventIdRange. This can force the starting event ID into the range of another package. PackageEventIdRange moved from <lang_CG>::Component::PackageEventIdRange to <lang_CG>::Package::PackageEventIdRange sometime before Rhapsdody 7.5.3 (I don't have good access to older History) but the move was cot complete and in case of CalculatePackageEventBaseId=OnCodeGeneration code generation look for the old property ( <lang_CG>::Component::PackageEventIdRange ) so you get the default "200" regardless of property value
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: * * Rhapsody * **************************************************************** * PROBLEM DESCRIPTION: * * When the property CG::Component::CalculatePackageEventBaseId * * is set to "OnCodeGeneration" * * The peoperty CPP_CG::Package::PackageEventIdRange is not * * used instead default is 200 and the obsolete property * * CPP_CG::Component::PackageEventIdRange is used * **************************************************************** * RECOMMENDATION: * ****************************************************************
Problem conclusion
problem solved. if no CPP_CG::Component::PackageEventIdRange property exist Rhapsody use the CPP_CG::Package::PackageEventIdRange property.
Temporary fix
Comments
APAR Information
APAR number
PI98073
Reported component name
TLOGIC RHAPSODY
Reported component ID
5724V74RP
Reported release
821
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2018-05-17
Closed date
2019-04-29
Last modified date
2019-04-29
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
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS7P9W","label":"Rational Rhapsody"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"821","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
29 April 2019