ModuleSubstitutietabel
De tabel ModuleSubstitutie specificeert de configureerbare velden van een moduledatabase en biedt een sjabloon voor de configuratie van elk veld. Het hulpprogramma voor gebruikers of samenvoeging kan een query uitvoeren op deze tabel om te bepalen welke configuratiebewerkingen moeten worden uitgevoerd. Deze tabel wordt niet samengevoegd in de doeldatabase.
De volgende tabellen kunnen geen configureerbare velden bevatten en mogen niet worden vermeld in deze tabel:
ModuleSubstitutietabel
De tabel ModuleSubstitutie bevat de volgende kolommen.
Kolom | Type | Sleutel | Null-waarde |
---|---|---|---|
Tafel | id- | Y | N |
Roeien | tekst | Y | N |
Kolom | id- | Y | N |
Waarde | tekst | N | Y |
Kolommen
-
tabel
-
Deze kolom geeft de naam op van de tabel die wordt gewijzigd in de moduledatabase.
-
rij
-
Dit veld geeft de primaire sleutels van de doelrij in de tabel met de naam in de kolom Tabel op. Meerdere primaire sleutels worden gescheiden door puntkomma's. Doelrijen worden geselecteerd voor wijziging voordat wijzigingen in de doeltabel worden aangebracht. Als één record in de tabel ModuleSubstitutie het primaire-sleutelveld van een doelrij wijzigt, worden andere records in de tabel ModuleSubstitutie toegepast op basis van de oorspronkelijke primaire-sleutelgegevens, niet het resultaat van vervangingen van primaire sleutels. De volgorde van het vervangen van rijen is niet gedefinieerd.
Waarden in deze kolom hebben altijd speciale CMSM-indeling. Een letterlijke puntkomma (';') of gelijkteken ('=') kan worden toegevoegd door het teken te voorzien van een backslash. '\'. Een null-waarde voor een sleutel wordt aangegeven door een null, een voorloopkomma, twee opeenvolgende puntkomma's of een volgkomma, afhankelijk van of de null-waarde een enige, eerste, middelste of laatste sleutelkolomwaarde is.
-
kolom
-
Dit veld geeft de doelkolom op in de rij met de naam in de kolom Rij. Als meerdere rijen in de tabel ModuleSubstitutie verschillende kolommen van dezelfde doelrij wijzigen, worden alle kolomvervangingen uitgevoerd voordat de gewijzigde rij in de database wordt ingevoegd. De volgorde van kolomvervanging is niet gedefinieerd.
-
waarde
-
Deze kolom bevat een tekenreeks die een opmaaksjabloon biedt voor de gegevens die worden vervangen door het doelveld dat is opgegeven door Tabel, Rij en Kolom. Wanneer er een vervangingstekenreeks van het formulier [=ItemA] wordt aangetroffen, wordt de tekenreeks, inclusief de vierkante haakjes, vervangen door de waarde voor de configureerbare 'ItemA'. Het configureerbare item ItemA wordt opgegeven in de kolom Naam van de ModuleConfiguration-tabel en de waarde ervan wordt geleverd door het samenvoegprogramma. Als het samenvoegprogramma weigert een waarde op te geven voor een item in een vervangende tekenreeks, wordt de standaardwaarde die is opgegeven in de kolom DefaultValue van de ModuleConfiguration-tabel vervangen. Als een tekenreeks verwijst naar een item dat niet in de tabel ModuleConfiguration staat, mislukt de samenvoegbewerking.
- Deze kolom maakt gebruik van CMSM speciale indeling. Een letterlijke puntkomma (';') of gelijkteken ('=') kan aan de tabel worden toegevoegd door het teken vooraf te voegen met een backslash. '\'.
- Het veld Waarde kan meerdere vervangingstekenreeksen bevatten. De configuratie van items "Food1" en "Food2" in de tekenreeks: "[=Food1] is goed, maar [=Food2] is beter omdat [=Food2] voedzaam is."
- Vervangende tekenreeksen mogen niet zijn genest. De sjabloon [=AB[=CDE]] is ongeldig.
- Als het waardeveld null oplevert en het doelveld niet null is, mislukt de samenvoegbewerking en wordt er een foutobject van het type msmErrorBadNullSubstitutie gemaakt en toegevoegd aan de lijst met fouten. Zie de fouttypen die worden beschreven in get_Type Functievoor meer informatie.
- Als het waardeveld resulteert in de null-GUID: {00000000-0000-0000-0000-000000000000}, wordt de null-GUID vervangen door de naam van de functie voordat de rij wordt samengevoegd in de module. Zie Functies in Samenvoegmodules raadplegenvoor meer informatie.
- De sjabloon in het veld Waarde wordt geëvalueerd voordat deze in het doelveld wordt ingevoegd. Vervanging in een rij wordt uitgevoerd voordat u functies vervangt.
- Als de kolom Waarde resulteert in een tekenreeks met alleen gehele getallen (met een optioneel + of -), wordt de tekenreeks geconverteerd naar een geheel getal voordat deze wordt vervangen in een doelveld van het Type gehele getalnotatie. Als de sjabloon resulteert in een tekenreeks die niet alleen uit gehele getallen bestaat (en een optioneel + of -) kan het resultaat niet worden vervangen in een doelveld voor een geheel getal. Als u een niet-geheel getal probeert in te voegen in een geheel getal, mislukt de samenvoegbewerking en voegt u een msmErrorBadSubstitutieType-foutobject toe aan de foutenlijst.
- Als de doelkolom die is opgegeven in de velden Tabel en Kolom een tekstopmaaktypeis en de evaluatie van het veld Waarde resulteert in een type integernotatie, wordt een decimale weergave van het getal ingevoegd in het doeltekstveld.
- Als het doelveld een type gehele getalnotatie isen het veld Waarde bestaat uit een niet-gescheiden lijst met items in Bitfield Format-, wordt de waarde in het doelveld gecombineerd met behulp van de operator bitwise AND met de inverse van de bitsgewijze OF van alle maskerwaarden uit de items. vervolgens gecombineerd met behulp van de bitsgewijze OF operator met elk van het gehele getal of bitvelditems wanneer ze worden gemaskeerd door de bijbehorende maskerwaarden. In wezen worden hiermee de bits van de eigenschappen expliciet ingesteld op de opgegeven waarden, maar blijven alle andere bits alleen in de cel staan.
- Als het veld Waarde resulteert in een Sleutelopmaaktypeen een sleutel is in een tabel die meerdere primaire sleutels gebruikt, kan de itemnaam worden gevolgd door een puntkomma en een geheel getal dat de op 1 gebaseerde index aangeeft in de set waarden die samen een primaire sleutel vormen. Als er geen geheel getal is opgegeven, wordt de waarde 1 gebruikt. De Control-tabel heeft bijvoorbeeld twee primaire-sleutelkolommen, Dialog_ en Control. De waarde van een item 'Item1' dat een sleutel in de tabel Control is, is van het formulier 'DialogName; ControlName", waarbij DialogName de waarde is in de Dialog_ tabel en ControlName de waarde in de kolom Control is. Als u alleen ControlName wilt vervangen, vervangt u de vervangingstekenreeks [=Item1; 2] moet worden gebruikt.
Opmerkingen
De tabel ModuleSubstition wordt gebruikt door Configureerbare samenvoegmodules. Mergemod.dll versie 2.0 of hoger is vereist om een configureerbare samenvoegmodule te maken.
Om compatibiliteit met versies van Mergemod.dll ouder dan versie 2.0 te garanderen, moeten de tabellen ModuleConfiguration-tabel en ModuleSubstitutie worden opgenomen in de tabel ModuleIgnoreTable van elke module.