Condividi tramite


ICEM02

ICEM02 verifica che tutte le dipendenze e le esclusioni del modulo siano correlate al modulo corrente.

Gli ices del modulo di merge vengono archiviati in un file con estensione cub del modulo di merge denominato Mergemod.cub e non nel file con estensione cub contenente gli ices usati per la convalida del pacchetto.

Risultato

ICEM02 invia messaggi di errore se il database del modulo tenta di specificare dipendenze o esclusioni non correlate al modulo corrente. ICEM02 invia un messaggio di errore se il database del modulo tenta di specificare il modulo corrente come dipendente o come escluso da se stesso.

Esempio

ICEM02 pubblica i messaggi di errore seguenti per un modulo contenente le voci del database illustrate di seguito.

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!

ModuleSignature Table

ModuleID Lingua Versione
MyModule.GUID1 1033 1.0

 

ModuleDependency Table

ModuleID ModuleLanguage RequiredID RequiredLanguage RequiredVersion
OtherModule.GUID2 1033 OtherModule.GUID3 0 1.0
MyModule.GUID1 1033 MyModule.GUID1 1033 1.2

 

ModuleExclusion Table (parziale)

ModuleID ModuleLanguage ExcludedID ExcludedLanguage
OtherModule.GUID2 1033 OtherModule.GUID3 0
MyModule.GUID1 1033 MyModule.GUID1 1033

 

Il modulo di merge ICE inserisce il primo errore perché la prima riga della tabella ModuleDependency, che non specifica una dipendenza necessaria per il modulo corrente specificato nella tabella ModuleSignature. Le dipendenze di un modulo possono essere specificate solo nella propria tabella ModuleDependency. Se OtherModule.GUID3 è richiesto dal modulo corrente, sostituire le prime due colonne della riga con i dati della tabella ModuleSignature. Se OtherModule. GUID3 non è richiesto da questo modulo, eliminare questa riga.

Il modulo di merge ICE invia il secondo errore perché un modulo non può specificare una dipendenza da se stessa.

Il modulo di merge ICE inserisce il terzo errore a causa della prima riga della tabella ModuleExclusion, che non specifica un'esclusione obbligatoria per il modulo corrente specificato nella tabella ModuleSignature. Le esclusioni di un modulo possono essere specificate solo nella relativa tabella ModuleExclusion. Se il modulo corrente esclude OtherModule.GUID3, sostituire le prime due colonne della riga con i dati della tabella ModuleSignature. Se il modulo corrente non esclude OtherModule.GUID3, eliminare questa riga.

Il modulo di merge ICE invia il quarto errore perché un modulo non può specificare che si esclude da solo.

di riferimento ICE del modulo merge