{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":40223,"path":"platform-administration/user-administration/enhanced-nds-for-duplicate-records.md","title":"Enabling duplicate company names in extension tables","bundle":null,"doc_type":null,"release":"australia","body":"\n# Enabling duplicate company names in extension tables\n\nYou can create records with duplicate company names in extension tables, such as Customer Account \\[customer\\_account\\] table, without causing normalization conflicts in Normalization Data Services.\n\nIf your ServiceNow instance has company records in the Company \\[core\\_company\\] table from IT Service Management \\(ITSM\\) or IT Operations Management \\(ITOM\\), and you are adopting Customer Service Management \\(CSM\\), you may encounter errors when creating Customer Account records for the same companies.\n\nNormalization Data Services manages company name normalization across the Company \\[core\\_company\\] table and its extension tables, such as Customer Account \\[customer\\_account\\] table. By default, Normalization Data Services enforces unique company name across all company-related tables. This causes conflicts when a vendor in the Company table and a customer account share the same name.\n\nThe **glide.cmdb.canonical.use\\_base\\_core\\_company\\_only** property introduces support for creating duplicate company names in extension tables. When you enable this property, Normalization Data Services restricts unique company name validation to the base, Company \\[core\\_company\\] table only. Each duplicate record in an extension table still links to the correct normalized record in the base table.\n\nEnable this property if you are upgrading from Zurich or an earlier release. You must use Customer Service Management with one or more of the following applications that extend the Company \\[core\\_company\\] table:\n\n-   ITSM Software Asset Management\n-   Hardware Asset Management\n\n**Parent Topic:**[Normalization data services](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/user-administration/c_NormalizationOverview.md)\n\n## Configure Normalization Data Services to create duplicate company name in extension table\n\nConfigure the Normalization Data Services feature to enable records with duplicate company names across core company's extension tables, such as Customer Account \\[customer\\_account\\] table.\n\n### Before you begin\n\nRole required: nds\\_admin\n\n### About this task\n\n**Note:** This procedure applies only if you are upgrading from Zurich or an earlier release. If you are on the Australia release or later, this feature is enabled by default and no action is required.\n\n### Procedure\n\n1.  Navigate to **All** &gt; **System Definitions** &gt; **Script includes**.\n\n2.  Search for and open the **ClearNonCoreCompanyExtensionsFix** script.\n\n3.  Select **Run Script**.\n\n    The script clears the hash values and sets the Normalized flag to false for all duplicate company name records in the Company \\[core\\_company\\] extension tables.\n\n4.  Verify that the script ran successfully.\n\n    1.  Navigate to **All** &gt; **System Log** &gt; **All**.\n\n    2.  Search for the following log entries in the Log \\[syslog\\_list.do\\] table.\n\n        -   \\[ClearNonCoreCompanyExtensionsFix\\] Cleared hash\n        -   \\[ClearNonCoreCompanyExtensionsFix\\] Set canonical=false\n    The log entries confirm that the hash values are cleared and the normalized flag is set to false.\n\n5.  Add the **glide.cmdb.canonical.use\\_base\\_core\\_company\\_only** system property and set its value to **True**.\n\n    For more information, see [Add a system property](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/platform-administration/t_AddAPropertyUsingSysPropsList.md).\n\n6.  Normalize data in the CMDB table.\n\n    1.  Navigate to **All** &gt; **Normalization Data Services** &gt; **Guided Setup**.\n\n    2.  In the Normalize Configuration Items \\(CMDB\\) Model step, select **Configure**.\n\n    3.  Select **Start Update**.\n\n    4.  Select **Close** after the update completes.\n\n7.  Verify if you can create records with duplicate company names in extension tables.\n\n    1.  Navigate to **All**, and then enter `customer_account.list` in the filter to go to the Customer Account table.\n\n    2.  Select **New**.\n\n    3.  On the form, fill in the fields.\n\n        For a description of the field values, see [Account form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/customer-service-management/customer-service-account-form.md).\n\n    4.  Select **Submit**.\n\n8.  If you’re using Hardware Asset Management \\(HAM\\), run the following one-time script.\n\n    1.  Navigate to **All** &gt; **System Definitions** &gt; **Script includes**.\n\n    2.  Select **New**.\n\n    3.  Enter a **Name** for the script include.\n\n    4.  Enter the script include code in the **Script** field.\n\n        ```\n        var worker = new CanonicalUpdaterWorker(); \n                   var tables = { \n                   'sn_hamp_hw_manufacturer': ['company'],\n                   'cmdb_hardware_product_model': ['normalized_company'], \n                   'cmdb_consumable_product_model': ['normalized_company'], \n            }; \n            for (var table in tables) {\n                 if (tables.hasOwnProperty(table)) {\n                 var fields = tables[table]; \n                 for (var i = 0; i < fields.length; i++) {\n                     worker.addNormalization(table, fields[i]); \n                 } \n               } \n            } \n            worker.setProgressName(gs.getMessage(\"Normalization Data Service\")); \n            worker.setBackground(true); \n            worker.start();\n        ```\n\n    5.  Select **Submit**.\n\n    6.  Select **Run Script**.\n\n\n"}}