ModuleSubstitution-tabell
Tabellen ModuleSubstitution anger de konfigurerbara fälten i en moduldatabas och innehåller en mall för konfigurationen av varje fält. Verktyget användare eller sammanslagning kan fråga den här tabellen för att avgöra vilka konfigurationsåtgärder som ska utföras. Den här tabellen sammanfogas inte i måldatabasen.
Följande tabeller får inte innehålla konfigurerbara fält och får inte visas i den här tabellen:
ModuleSubstitution-tabell
Tabellen ModuleSubstitution innehåller följande kolumner.
Spalt | Typ | Nyckel | Nullbar |
---|---|---|---|
Bord | identifierare | Y | N |
Rad | Text | Y | N |
Spalt | identifierare | Y | N |
Värde | Text | N | Y |
Kolumner
-
tabell
-
Den här kolumnen anger namnet på tabellen som ändras i moduldatabasen.
-
rad
-
Det här fältet anger de primära nycklarna för målraden i tabellen med namnet i kolumnen Tabell. Flera primära nycklar avgränsas med semikolon. Målrader väljs för ändring innan några ändringar görs i måltabellen. Om en post i tabellen ModuleSubstitution ändrar det primära nyckelfältet på en målrad tillämpas andra poster i tabellen ModuleSubstitution baserat på de ursprungliga primärnyckeldata, inte resultatet av primära nyckelersättningar. Ordningen för radersättning är odefinierad.
Värden i den här kolumnen är alltid i CMSM-specialformat. Ett literal semikolon (';') eller likhetstecken ('=') kan läggas till genom att prefixa tecknet med ett omvänt snedstreck. '\'. Ett null-värde för en nyckel har ett null-värde, ett inledande semikolon, två semikolon i följd eller ett avslutande semikolon, beroende på om null-värdet är ett kolumnvärde för sula, första, mellersta eller sista nyckel.
-
kolumn
-
Det här fältet anger målkolumnen i raden med namnet i kolumnen Rad. Om flera rader i tabellen ModuleSubstitution ändrar olika kolumner på samma målrad utförs alla kolumnersättningar innan den ändrade raden infogas i databasen. Ordningen för kolumnersättning är odefinierad.
-
värde
-
Den här kolumnen innehåller en sträng som innehåller en formateringsmall för de data som ersätts med målfältet som anges av Tabell, Rad och Kolumn. När en ersättningssträng i formuläret [=ItemA] påträffas ersätts strängen, inklusive hakparentestecken, av värdet för den konfigurerbara "ItemA". Det konfigurerbara objektet "ItemA" anges i kolumnen Namn i tabellen ModuleConfiguration och dess värde tillhandahålls av kopplingsverktyget. Om kopplingsverktyget inte anger ett värde för ett objekt i en ersättningssträng ersätts standardvärdet som anges i kolumnen DefaultValue i moduleConfiguration Table. Om en sträng refererar till ett objekt som inte finns i tabellen ModuleConfiguration misslyckas sammanfogningen.
- Den här kolumnen använder CMSM-specialformat. Ett literal semikolon (';') eller likhetstecken ('=') kan läggas till i tabellen genom att prefixa tecknet med ett omvänt snedstreck. '\'.
- Fältet Värde kan innehålla flera ersättningssträngar. Till exempel är konfigurationen av objekten "Food1" och "Food2" i strängen: "[=Food1] bra, men [=Food2] är bättre eftersom [=Food2] är mer näringsrik."
- Ersättningssträngar får inte kapslas. Mallen "[=AB[=CDE]]" är ogiltig.
- Om fältet Värde utvärderas till null och målfältet inte är null, misslyckas sammanfogningen och ett felobjekt av typen msmErrorBadNullSubstitution skapas och läggs till i fellistan. Mer information finns i feltyperna som beskrivs i get_Type Function.
- Om fältet Värde utvärderas till null-GUID: {00000000-0000-0000-0000-000000000000}ersätts null-GUID med namnet på funktionen innan raden sammanfogas till modulen. Mer information finns i Referera till funktioner i Sammanslagningsmoduler.
- Mallen i fältet Värde utvärderas innan den infogas i målfältet. Ersättning till en rad görs innan du ersätter några funktioner.
- Om kolumnen Värde utvärderas till en sträng med endast heltalstecken (med ett valfritt + eller -) konverteras strängen till ett heltal innan den ersätts med ett målfält i Heltalsformattyp. Om mallen utvärderas till en sträng som inte bara består av heltalstecken (och ett valfritt + eller -) kan resultatet inte ersättas med ett heltalsmålfält. Om du försöker infoga ett icke-heltal i ett heltalsfält misslyckas kopplingen och ett msmErrorBadSubstitutionType-felobjekt läggs till i fellistan.
- Om målkolumnen som anges i fälten Tabell och Kolumn är en textformattypoch utvärderingen av fältet Värde resulterar i en heltalsformattypinfogas en decimalrepresentation av talet i måltextfältet.
- Om målfältet är en heltalsformattypoch fältet Värde består av en icke-avgränsad lista med objekt i Bitfield-formatkombineras värdet i målfältet med hjälp av den bitvis OCH operatorn med invertering av bitvis ELLER av alla maskvärden från objekten, kombineras sedan med operatorn bitvis OR med var och en av heltals- eller bitfältsobjekten när de maskeras med motsvarande maskvärden. I princip anger detta uttryckligen bitarna från egenskaperna till de angivna värdena, men lämnar alla andra bitar i cellen ensamma.
- Om fältet Värde utvärderas till en nyckelformattypoch är en nyckel i en tabell som använder flera primära nycklar, kan objektnamnet följas av ett semikolon och ett heltalsvärde som anger det 1-baserade indexet i den uppsättning värden som tillsammans utgör en primärnyckel. Om inget heltal anges används värdet 1. Tabellen Control har till exempel två primärnyckelkolumner, Dialog_ och Control. Värdet för ett objekt "Item1" som är en nyckel i kontrolltabellen kommer att vara av formuläret "DialogName; ControlName", där DialogName är värdet i tabellen Dialog_ och ControlName är värdet i kolumnen Kontroll. Om du bara vill ersätta ControlName ersätter du strängen [=Item1; 2] bör användas.
Anmärkningar
Tabellen ModuleSubstition används av Konfigurerbara sammanslagningsmoduler. Mergemod.dll version 2.0 eller senare krävs för att skapa en konfigurerbar sammanslagningsmodul.
För att säkerställa kompatibilitet med versioner av Mergemod.dll tidigare än version 2.0 bör tabellen ModuleConfiguration- och ModuleSubstitution-tabeller inkluderas i tabellen ModuleIgnoreTable för varje modul.