ICEM02
O ICEM02 verifica se todas as dependências e exclusões do módulo estão relacionadas ao módulo atual.
Os ICEs do módulo de mesclagem são armazenados em um arquivo .cub do módulo de mesclagem chamado Mergemod.cub e não no arquivo .cub que contém os ICEs usados para validação de pacote.
Resultado
ICEM02 posta mensagens de erro se o banco de dados do módulo tentar especificar dependências ou exclusões que não estão relacionadas ao módulo atual. ICEM02 posta uma mensagem de erro se o banco de dados do módulo tenta especificar o módulo atual como dependente ou excluído por si só.
Exemplo
ICEM02 postaria as seguintes mensagens de erro para um módulo que contém as entradas de banco de dados mostradas abaixo.
The dependency OtherModule.GUID2.1033.OtherModule.GUID3.0 in the
ModuleDependency table creates a dependency for an unrelated module. A
module can only define dependencies for itself
This module is listed as depending on itself!
The exclusion OtherModule.GUID2.1033.OtherModule.GUID3.0 in the
ModuleExclusion table creates an excluded module for an unrelated
module. A module can only define exclusions for itself.
This module excludes itself from the target database!
ID do módulo | Idioma | Versão |
---|---|---|
MyModule.GUID1 | 1033 | 1.0 |
ID do módulo | ModuleLanguage | ID Obrigatório | Língua Obrigatória | Versão Necessária |
---|---|---|---|---|
OutroMódulo.GUID2 | 1033 | OutroMódulo.GUID3 | 0 | 1.0 |
MyModule.GUID1 | 1033 | MyModule.GUID1 | 1033 | 1.2 |
Tabela ModuleExclusion (parcial)
ID do módulo | ModuleLanguage | ExcluídoID | Língua excluída |
---|---|---|---|
OutroMódulo.GUID2 | 1033 | OutroMódulo.GUID3 | 0 |
MyModule.GUID1 | 1033 | MyModule.GUID1 | 1033 |
O módulo de mesclagem ICE posta o primeiro erro porque o da primeira linha na tabela ModuleDependency, que não especifica uma dependência necessária para o módulo atual especificado na tabela ModuleSignature. As dependências de um módulo só podem ser especificadas em sua própria tabela ModuleDependency. Se OtherModule. GUID3 for exigido pelo módulo atual, substitua as duas primeiras colunas da linha pelos dados da tabela ModuleSignature. Se OtherModule. GUID3 não for exigido por este módulo, exclua esta linha.
O módulo de mesclagem ICE lança o segundo erro porque um módulo não pode especificar uma dependência sobre si mesmo.
O módulo de mesclagem ICE lança o terceiro erro devido à primeira linha na tabela ModuleExclusion, que não especifica uma exclusão necessária para o módulo atual especificado na tabela ModuleSignature. As exclusões de um módulo só podem ser especificadas em sua própria tabela ModuleExclusion. Se o módulo atual excluir OtherModule.GUID3, substitua as duas primeiras colunas da linha com os dados da tabela ModuleSignature. Se o módulo atual não excluir OtherModule.GUID3, exclua esta linha.
O módulo de mesclagem ICE posta o quarto erro porque um módulo não pode especificar que ele se exclua.
Tópicos relacionados