拡張テーブルでの会社名の重複を有効にする

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:5分
  • 顧客アカウント [customer_account] テーブルなどの拡張テーブルに会社名が重複しているレコードを作成すると、 正規化データサービスで正規化の競合が発生することなく作成できます。

    ServiceNowインスタンスの会社 [core_company] テーブルに IT Service Management (ITSM) または IT Operations Management (ITOM) (ITOM) の会社レコードがあり、カスタマーサービス管理 (CSM) (CSM) を採用している場合、同じ会社の顧客アカウントレコードを作成するときにエラーが発生する可能性があります。

    正規化データサービス 会社 [core_company] テーブルとその拡張テーブル (顧客アカウント [customer_account] テーブルなど) 全体の会社名の正規化を管理します。デフォルトでは、 正規化データサービス すべての会社関連テーブルで一意の会社名が適用されます。これにより、会社テーブルのベンダーと顧客アカウントが同じ名前を共有している場合に競合が発生します。

    glide.cmdb.canonical.use_base_core_company_only プロパティでは、拡張テーブルに重複する会社名を作成するためのサポートが導入されています。このプロパティを有効にすると、 正規化データサービス 一意の会社名検証がベースである会社 [core_company] テーブルのみに制限されます。拡張テーブル内の各重複レコードは、引き続きベーステーブル内の正しい正規化されたレコードにリンクされます。

    Zurich 以前のリリースからアップグレードする場合は、このプロパティを有効にします。会社 [core_company] テーブルを拡張する次の 1 つ以上のアプリケーションで カスタマーサービス管理 (CSM) を使用する必要があります。
    • ITSM ソフトウェア資産管理
    • ハードウェア資産管理

    拡張テーブルに重複する会社名を作成するように 正規化データサービス を構成

    顧客アカウント [customer_account] テーブルなどのコア会社の拡張テーブル全体で会社名が重複するレコードを有効にするには、 正規化データサービス 機能を構成します。

    始める前に

    必要なロール:nds_admin

    このタスクについて

    注:
    この手順は、Zurich 以前のリリースからアップグレードする場合にのみ適用されます。オーストラリアのリリース以降を使用している場合、この機能はデフォルトで有効になっており、アクションは必要ありません。

    手順

    1. 移動先 すべて > システム定義 > スクリプトインクルード.
    2. ClearNonCoreCompanyExtensionsFix スクリプトを検索して開きます。
    3. [スクリプトの実行] を選択します。
      スクリプトはハッシュ値をクリアし、会社 [core_company] 拡張テーブル内のすべての重複する会社名レコードに対して正規化フラグを false に設定します。
    4. スクリプトが正常に実行されたことを確認します。
      1. 移動先 すべて > システムログ > すべて.
      2. ログ [syslog_list.do] テーブルで次のログエントリを検索します。
        • [ClearNonCoreCompanyExtensionsFix]クリアされたハッシュ
        • [ClearNonCoreCompanyExtensionsFix]canonical=false を設定
      ログエントリは、ハッシュ値がクリアされ、正規化されたフラグが false に設定されていることを確認します。
    5. glide.cmdb.canonical.use_base_core_company_onlyシステムプロパティを追加し、その値を True に設定します。
      詳細については、「システムプロパティを追加する」を参照してください。
    6. CMDB テーブルのデータを正規化します。
      1. 移動先 すべて > 正規化データサービス > ガイド付きセットアップ.
      2. [構成アイテム (CMDB) モデルの正規化] ステップで、[ 構成] を選択します。
      3. [ 更新を開始] を選択します。
      4. 更新が完了したら [閉じる] を選択します。
    7. 拡張テーブルに会社名が重複しているレコードを作成できるかどうかを確認します。
      1. 移動先 すべてをクリックし、フィルターに 「customer_account.list 」と入力して、[顧客アカウント] テーブルに移動します。
      2. [新規] を選択します。
      3. フォームのフィールドに入力します。
        フィールド値の説明については、「Account form」を参照してください。
      4. [送信] を選択します。
    8. オプション: ハードウェア資産管理 (HAM) を使用している場合は、次の 1 回限りのスクリプトを実行します。
      1. 移動先 すべて > システム定義 > スクリプトインクルード.
      2. [新規] を選択します。
      3. スクリプトインクルードの [名前 ] を入力します。
      4. [ スクリプト ] フィールドにスクリプトインクルードコードを入力します。
        var worker = new CanonicalUpdaterWorker(); 
                   var tables = { 
                   'sn_hamp_hw_manufacturer': ['company'],
                   'cmdb_hardware_product_model': ['normalized_company'], 
                   'cmdb_consumable_product_model': ['normalized_company'], 
            }; 
            for (var table in tables) {
                 if (tables.hasOwnProperty(table)) {
                 var fields = tables[table]; 
                 for (var i = 0; i < fields.length; i++) {
                     worker.addNormalization(table, fields[i]); 
                 } 
               } 
            } 
            worker.setProgressName(gs.getMessage("Normalization Data Service")); 
            worker.setBackground(true); 
            worker.start();
      5. [送信] を選択します。
      6. [スクリプトの実行] を選択します。