ICEM05

ICEM05 verifies that the merge module is correctly associated with components in the module. Incorrectly associating a component with a module causes the component to be incorrectly associated with the target database.

Merge module ICEs are stored in a merge module .cub file called Mergemod.cub and not in the .cub file containing the ICEs used for package validation.

Result

ICEM05 posts an error if the module database incorrectly associates components and the module.

Example

ICEM05 posts the following error messages for a module containing the database entries shown below.

The component Component2.OtherModule.GUID2.1033 in the 
ModuleComponents table does not belong to this Merge Module.
The component Component1.MyModule.GUID1.1033 in the ModuleComponents 
table is not listed in the Component table.
The component 'Component3' in the Component table is not listed in the 
ModuleComponents table.

ModuleSignature Table

ModuleID Language Version
MyModule.GUID1 1033 1.0

 

ModuleComponents Table

Component ModuleID Language
Component1 MyModule.GUID1 1033
Component2 OtherModule.GUID2 1033

 

Component Table (partial)

Component ComponentID
Component3 GUID4
Component2 GUID5

 

The merge module ICE reports the first error because the ModuleComponents table attempts to associate a component with another module that is not the current module specified in the ModuleSignature table. To fix this, change the ModuleID and Language columns of the ModuleComponents record for Component2 to that for the current module, MyModule.GUID1.

The merge module ICE reports the second error because the first record in the ModuleComponents table attempts to associate Component1 with the module. This component does not exist in the Component Table of the merge module. A module can only be associated with a component that exists in the module. To fix this, remove the record for the non-existent component.

The merge module ICE reports the third error because the module attempts to add Component3 to the target database. This component has not been associated with the module in the ModuleComponents table. To fix this error, add a record for Component3 to the ModuleComponents table.

Merge Module ICE Reference