Megosztás a következőn keresztül:


ModuleSubstitution Table

A ModuleSubstitution tábla meghatározza egy moduladatbázis konfigurálható mezőit, és sablont biztosít az egyes mezők konfigurálásához. A felhasználó vagy az egyesítési eszköz lekérdezheti ezt a táblát, hogy meghatározza, milyen konfigurációs műveletekre lesz szükség. Ez a tábla nincs egyesítve a céladatbázissal.

A következő táblák nem tartalmazhatnak konfigurálható mezőket, és nem szerepelhetnek a táblázatban:

ModuleSubstitution tábla

ModuleConfiguration tábla

ModuleExclusion tábla

ModuleSignature tábla

A ModuleSubstitution tábla a következő oszlopokat tartalmazza.

Oszlop Típus Kulcs Nullázható
Asztal azonosító Y N
Sor Szöveg Y N
Oszlop azonosító Y N
Érték Szöveg N Y

 

Oszlopok

táblázat

Ez az oszlop a moduladatbázisban módosítandó tábla nevét adja meg.

sor

Ez a mező a Tábla oszlopban elnevezett táblában a célsor elsődleges kulcsait adja meg. Több elsődleges kulcs pontosvesszővel van elválasztva. A célsorok a céltáblán végzett módosítások előtt módosíthatók. Ha a ModuleSubstitution tábla egyik rekordja módosítja egy célsor elsődleges kulcs mezőjét, a ModuleSubstitution tábla többi rekordja az eredeti elsődleges kulcs adatai alapján lesz alkalmazva, nem az elsődleges kulcsok helyettesítésének eredménye alapján. A sorhelyettesítés sorrendje nincs meghatározva.

Az oszlop értékei mindig CMSM speciális formátumban. A karakter fordított perjellel történő előtagolásával literális pontosvesszőt (';') vagy egyenlőségjelet ('=' ) adhat hozzá. '\'. A kulcsok null értékét null, első pontosvessző, két egymást követő pontosvessző vagy záró pontosvessző jelzi attól függően, hogy a null érték egyetlen, első, középső vagy végső kulcsoszlopérték-e.

oszlop

Ez a mező a Sor oszlopban elnevezett sor céloszlopát adja meg. Ha a ModuleSubstitution tábla több sora is módosítja ugyanannak a célsornak a különböző oszlopait, a rendszer az összes oszlophelyettesítést végrehajtja, mielőtt a módosított sort beszúrja az adatbázisba. Az oszlophelyettesítés sorrendje nincs meghatározva.

érték

Ez az oszlop egy sztringet tartalmaz, amely formázási sablont biztosít a táblázat, sor és oszlop által megadott célmezőbe behelyettesítendő adatokhoz. Az [=ItemA] űrlap helyettesítési sztringje esetén a sztringet a konfigurálható "ItemA" értéke váltja fel, beleértve a zárójelkarakterek karaktereit is. Az "ItemA" konfigurálható elem a ModuleConfiguration tábla Név oszlopában van megadva, értékét pedig az egyesítési eszköz adja meg. Ha az egyesítési eszköz nem ad értéket egy helyettesítő sztring bármely eleméhez, a modulkonfigurációs tábla DefaultValue oszlopában megadott alapértelmezett érték lesz helyettesítve. Ha egy sztring olyan elemre hivatkozik, amely nem szerepel a ModuleConfiguration táblában, az egyesítés meghiúsul.

  • Ez az oszlop CMSM speciális formátumothasznál. Egy literális pontosvessző (';') vagy egyenlőségjel ('=') a karakter fordított perjellel való előtagolásával adható hozzá a táblához. '\'.
  • Az Érték mező több helyettesítési sztringet is tartalmazhat. Például a "Food1" és "Food2" elemek konfigurációja a következő sztringben: "[=Élelmiszer1] jó, de a [=Food2] jobb, mert a [=Food2] táplálóbb."
  • A helyettesítő sztringek nem ágyazhatók be. A(z) "[=AB[=CDE]]" sablon érvénytelen.
  • Ha az Érték mező null értékű, és a célmező nem null értékű, az egyesítés meghiúsul, és létrejön egy msmErrorBadNullSubstitution típusú hibaobjektum, és hozzáadódik a hibalistához. További információ: get_Type függvény.
  • Ha az Érték mező értéke null GUID: {00000000-0000-0000-0000-000000000000}, a null GUID helyére a szolgáltatás neve kerül, mielőtt a sor egyesülne a modulba. További információ: Modulok egyesítésehivatkozási funkciói.
  • Az Érték mezőben lévő sablon kiértékelése a célmezőbe való beszúrás előtt történik. A sorba történő helyettesítés a funkciók cseréje előtt történik.
  • Ha az Érték oszlop csak egész karakterből álló sztringet értékel ki (opcionális + vagy -értékkel), a sztring egész számmá alakul, mielőtt a egész számformátumúcélmezőjére cserélné. Ha a sablon olyan sztringre értékel ki, amely nem csak egész karakterekből (és nem kötelező + vagy -) áll, az eredmény nem helyettesíthető egész szám célmezővel. Ha nem egész számot próbál beszúrni egy egész számmezőbe, az az egyesítés meghiúsulását okozza, és hozzáad egy msmErrorBadSubstitutionType hibaobjektumot a hibalistához.
  • Ha a Tábla és oszlop mezőkben megadott céloszlop Szövegformátum típusa, és az Érték mező kiértékelése egész számformátumúeredményez, a szám decimális ábrázolása lesz beszúrva a célszövegmezőbe.
  • Ha a célmező egy Egész szám formátumtípusú, és az Érték mező Bitmező formátumelemeinek nem tagolt listájából áll, a célmező értékét a bitenkénti ÉS operátorral kombinálja a bitenkénti VAGY az elemek összes maszkértékének inverzével, ezután a bitenkénti VAGY operátorral kombinálva az egyes egész számokat vagy bitmezőelemeket, ha a megfelelő maszkértékek maszkolva jelennek meg. Ez lényegében explicit módon beállítja a biteket a tulajdonságokból a megadott értékekre, de a cellában lévő összes többi bitet egyedül hagyja.
  • Ha az Érték mező egy kulcsformátum-típusra, és egy több elsődleges kulcsot használó táblában lévő kulcs, az elem nevét pontosvessző és egész szám követheti, amely az 1-alapú indexet jelzi az elsődleges kulcsot alkotó értékek halmazába. Ha nincs megadva egész szám, a rendszer az 1 értéket használja. A Control tábla például két elsődleges kulcsoszlopot tartalmaz, a Dialog_ és a Control oszlopot. A Control táblában kulcsként szolgáló "Item1" elem értéke "DialogName; ControlName", ahol a DialogName a Dialog_ tábla értéke, a ControlName pedig a Control oszlop értéke. Ha csak a ControlName karaktert szeretné helyettesíteni, a helyettesítési sztring [=Item1; 2] kell használni.

Megjegyzések

A ModuleSubstition táblát Konfigurálható egyesítési modulokhasználja. Mergemod.dll 2.0-s vagy újabb verzióra van szükség egy konfigurálható egyesítési modul létrehozásához.

A Mergemod.dll 2.0-s verziónál korábbi verzióival való kompatibilitás biztosítása érdekében a ModuleConfiguration tábla és ModuleSubstitution tábláit minden modul ModuleIgnoreTable táblában kell szerepeltetni.