次の方法で共有


ModuleSubstitution テーブル

ModuleSubstitution テーブルは、モジュール データベースの構成可能なフィールドを指定し、各フィールドの構成用のテンプレートを提供します。 ユーザーまたはマージ ツールは、このテーブルに対してクエリを実行して、実行する構成操作を決定できます。 このテーブルはターゲット データベースにマージされません。

次の表には、構成可能なフィールドを含めることはできません。また、この表にリストすることはできません。

ModuleSubstitution テーブル

ModuleConfiguration テーブル

ModuleExclusion テーブル

ModuleSignature テーブルの

ModuleSubstitution テーブルには、次の列があります。

コラム 種類 許容
テーブル 識別子の Y N
漕ぐ テキスト Y N
コラム 識別子の Y N
価値 テキスト N Y

 

テーブル

この列は、モジュール データベースで変更されるテーブルの名前を指定します。

このフィールドは、テーブル列に名前が付けられたテーブル内のターゲット行の主キーを指定します。 複数の主キーはセミコロンで区切られます。 ターゲット テーブルに変更を加える前に、ターゲット行が変更対象として選択されます。 ModuleSubstitution テーブルの 1 つのレコードがターゲット行の主キー フィールドを変更した場合、ModuleSubstitution テーブル内の他のレコードは、主キーの置換の結果ではなく、元の主キー データに基づいて適用されます。 行置換の順序は未定義です。

この列の値は、常に CMSM 特殊形式 されます。 文字の前に円記号を付けることで、リテラルセミコロン(';')または等号 ('=') を追加できます。 '\'. キーの null 値は、null 値が唯一、先頭、中間、または最後のキー列の値かどうかに応じて、null、先頭のセミコロン、2 つの連続するセミコロン、または末尾のセミコロンで表されます。

このフィールドは、行列に名前が付けられた行のターゲット列を指定します。 ModuleSubstitution テーブル内の複数の行が同じターゲット行の異なる列を変更した場合、変更された行がデータベースに挿入される前にすべての列の置換が実行されます。 列置換の順序は未定義です。

この列には、テーブル、行、および列で指定されたターゲット フィールドに置き換えられるデータの書式設定テンプレートを提供する文字列が含まれています。 [=ItemA] という形式の置換文字列が検出されると、角かっこ文字を含む文字列は、構成可能な "ItemA" の値に置き換えられます。構成可能な項目 "ItemA" は、ModuleConfiguration テーブル の [名前] 列に指定され、その値はマージ ツールによって提供されます。 差し込み印刷ツールが置換文字列内の項目の値を指定することを拒否した場合、ModuleConfiguration Table の DefaultValue 列に指定された既定値が置き換えられます。 文字列が ModuleConfiguration テーブルにない項目を参照している場合、マージは失敗します。

  • この列では、CMSM 特殊形式のを使用します。 文字の前に円記号を付けることで、リテラルセミコロン(';')または等号 ('=') をテーブルに追加できます。 '\'.
  • [値] フィールドには、複数の置換文字列を含めることがあります。 たとえば、文字列 "[=Food1] の項目 "Food1" と "Food2" の構成は良好ですが、[=Food2] は栄養価が高いため、[=Food2] の方が適切です。
  • 置換文字列を入れ子にすることはできません。 テンプレート "[=AB[=CDE]] が無効です。
  • Value フィールドが null と評価され、ターゲット フィールドが null 許容でない場合、マージは失敗し、msmErrorBadNullSubstitution 型のエラー オブジェクトが作成され、エラー 一覧に追加されます。 詳細については、「get_Type 関数の」で説明されているエラーの種類を参照してください。
  • Value フィールドが null GUID に評価された場合: {00000000-0000-0000-0000-000000000000}、行がモジュールにマージされる前に、null GUID が機能の名前に置き換えられます。 詳細については、「マージ モジュール でのフィーチャの参照」を参照してください。
  • [値] フィールドのテンプレートは、ターゲット フィールドに挿入される前に評価されます。 行への置換は、フィーチャを置き換える前に行われます。
  • Value 列が整数文字のみの文字列 (省略可能な + または -) に評価される場合、文字列は整数に変換されてから、Integer Format Typeのターゲット フィールドに置き換えられます。 テンプレートが整数文字 (および省略可能な + または -) のみで構成されていない文字列に評価される場合、結果を整数のターゲット フィールドに置き換えることはできません。 整数以外のフィールドを整数フィールドに挿入しようとすると、マージが失敗し、msmErrorBadSubstitutionType エラー オブジェクトがエラー リストに追加されます。
  • [テーブル] フィールドと [列] フィールドで指定されたターゲット列が テキスト書式の種類ので、[値] フィールドの評価結果が 整数形式の型の場合、数値の 10 進表現がターゲット テキスト フィールドに挿入されます。
  • ターゲット フィールドが 整数形式の型で、[値] フィールドが ビットフィールド形式の項目の区切り記号のないリストで構成されている場合、ターゲット フィールドの値は、ビットごとの AND 演算子を使用して結合され、項目のすべてのマスク値のビットごとの または の逆演算子を使用します。 次に、ビットごとの OR 演算子を使用して、対応するマスク値によってマスクされた場合に、各整数またはビットフィールド項目と組み合わせます。 基本的に、これはプロパティのビットを指定された値に明示的に設定しますが、セル内の他のすべてのビットは単独で残します。
  • [値] フィールドが キー形式の種類のに評価され、複数の主キーを使用するテーブルのキーである場合、項目名の後にセミコロンと 1 から始まるインデックスを示す整数値が続き、一緒に主キーを作成する値のセットになります。 整数を指定しない場合は、値 1 が使用されます。 たとえば、Control テーブル には、Dialog_ と Control という 2 つの主キー列があります。 コントロール テーブルのキーであるアイテム "Item1" の値は、"DialogName; という形式になります。ControlName"。DialogName は Dialog_ テーブルの値、ControlName は Control 列の値です。 ControlName だけを置き換えるために、置換文字列 [=Item1;2] を使用する必要があります。

備考

ModuleSubstition テーブルは、構成可能なマージ モジュール 使用されます。 構成可能なマージ モジュールを作成するには、バージョン 2.0 以降 Mergemod.dll 必要です。

バージョン 2.0 より前のバージョンの Mergemod.dll との互換性を確保するには、ModuleConfiguration テーブル テーブルと ModuleSubstitution テーブルを、すべてのモジュールの ModuleIgnoreTable テーブル に含める必要があります。