ServiceNow　ー　データをインポートすると参照フィールドが「Unknown」になる

# 概要
Easy ImportでImport Setを利用してデータをインポートすると文字列が切り捨てられる場合や参照フィールドが「Unknown」になる。下のスクリーンショットでは「モデルID」が正しく読み取られずに「Unknown」に設定されています。<br/>![import_set_data_trunc_22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/f6290344-6607-a2cb-b5d5-5fa12f7a3302.png)

# 問題の再現
今回の例ではEasy Importを利用してレコードをインポートします。2回目にインポートした場合にモデルID列が正しくインポートされないことが確認できます。
1. 本例では次のようなExcelデータを新規にIPスイッチテーブルにインポートします。<br/>![import_set_data_trunc_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/478d47b1-e0d8-8b2d-dd31-99ac85b9b871.png)
1. 新規にインポートする場合は次のように正しくインポートされます。<br/>![import_set_data_trunc_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/96a5e78c-5a4b-b860-0231-607a0d3973e3.png)
1. インポートするExcelシートを修正して、40文字以上のモデルIDを指定します。<br/>![import_set_data_trunc_20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/a66a1209-3fe9-78c2-f8c7-403078135fe7.png)
1. データを読込んだ後のデータプレビューを開くとモデルIDの値が切り捨てられていることが確認できます。<br/>![import_set_data_trunc_21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/d24a7fc2-1955-5a2d-4c06-7058018e7657.png)
1. 切り捨てられていることを無視してインポートを継続するとモデルIDが「Unknown」になります。<br/>![import_set_data_trunc_22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/f6290344-6607-a2cb-b5d5-5fa12f7a3302.png)

# 原因
Easy Importは自動的にインポートセットテーブルを作成します。その時にテーブルのフィールド長さを最小値以上かデータの最大文字列数に設定します。そのため、一回目にデータをインポートする場合は文字列は切り捨てられませんが、2回目は1回目で作成されたインポートセットテーブルが使われるため最初にインポートした文字列よりも長い文字列があると文字が切り捨てられます。

# 対策
2回目からも文字列が切り捨てられないようにするには1回目で作成されたインポートセットテーブルのフィールド長を大きくするか、インポートセットテーブルを毎回初期化する方法があります。

## インポートセットテーブルのフィールド長を大きくする
先ずはインポートセットテーブルのフィールド長を多くする手順を説明します。
1. アプリケーションナビゲータから「インポート」を検索して詳細下の「Import Sets」を選択します。<br/>![import_set_data_trunc_30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/94e9118c-aa4b-7715-e16f-015404403f6e.png)
1. インポートセットターブル名をメモします。<br/>今回のEasy Importで作成されたテーブル名は「u_imp_tmpl_cmdb_ci_ip_switch」です。<br/>![import_set_data_trunc_31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/8d7f3f11-87db-2b10-9612-056f7f58855a.png)
1. アプリケーションナビゲータからメモしたインポートセット名+「.LIST」を検索するとインポートセットテーブルが表示されます。<br/>![import_set_data_trunc_32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/f2edc815-fbdd-d788-4035-cd56845b54d9.png)
1. ヘッダを右クリックして「構成」ー「辞書」を選択します。<br/>![import_set_data_trunc_33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/8bd5060b-2494-1cb0-b1fa-4ba1514ca804.png)
1. 文字列が切り捨てられたフィールドを選択します。<br/>例では「u_モデル_id」です。<br/>![import_set_data_trunc_34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/a32d10ca-1a3f-549e-cc7b-1365b52f61f6.png)
1. 文字列の最大長が「40」に設定されています。そのためモデルIDが40文字以上の場合は切り捨てられます。<br/>![import_set_data_trunc_35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/6d3a20ad-cf93-787f-561f-81cb9592b707.png)
1. 最大長を「100」に増やし、「更新」ボタンを押下します。<br/>![import_set_data_trunc_36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/e4cad26a-d2b4-a2da-5f08-fa831c99e5dc.png)
1. Excelで再びモデルIDが40文字以上のレコードを作成します。<br/>![import_set_data_trunc_40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/966b4c57-9f75-c570-e1a8-286af3c03b79.png)
1. プレビューでモデルIDが切り捨てられていないことを確認します。<br/>![import_set_data_trunc_41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/213f123e-0ecc-5ccd-d4a2-d32c6f358f7a.png)
1. 再びExcelデータをインポートすると切り捨てられなくインポートされることを確認します。<br/>![import_set_data_trunc_42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/819a35f1-89e6-9fe7-0540-d7ce376ab159.png)

## インポートセットテーブルの削除する
インポートセットテーブルを修正する代わりにデータをインポートする毎にインポートセットテーブルを削除すると、インポートする毎に新規にテーブルが作成されます。新規に作成される場合なフィールド長はインポートするデータフィールドの最大値になるので問題を回避することができます。
次ぎの手順でインポートセットテーブルを削除します。
1. アプリケーションナビゲータから「インポート」を検索して、インポートセットテーブル下の「クリーンアップ」を選択します。<br/>![import_set_data_trunc_50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/e561fbd5-cb6c-1e41-ee85-1dfbb81b957c.png)
2. 「削除できる利用可能なテーブル」からインポートセットテーブルを選択して「＞」アイコンを押下して右の「これらのテーブルを削除」に移します。<br/>![import_set_data_trunc_51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/0fb303d1-e67a-78f6-f8c6-f06b29ce58cc.png)
3. 「関連する変換マップの削除」をチェックして、「Delete data only」のチェックを外した後に「クリーンアップ」ボタンを押下します。<br/>![import_set_data_trunc_52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698027/3b82c75c-d673-85da-377b-ddf550d4b1b9.png)
4. インポートセットテーブルを削除した後にデータをインポートすると文字データが切り捨てられなくなります。

以上