NetSuiteを運用する際に、CSVインポート機能によりデータを一括更新するケースがあると思います。本記事ではCSVインポートを実行後、チェックボックスのフィールドが更新されてしまうケースを説明していきます。
前提として既存の顧客レコードが存在しています。
システム・ノートには、単純に顧客作成時のログが記録されています。
その後、何らかよう改修要件が発生し、その要件のためにチェックボックス形のカスタムフィールドを追加します。例えば、顧客に以下「チェックボックスフィールド」というカスタム・エンティティ・フィールドを追加します。
・種類:チェックボックス
・チェック済をデフォルトに設定:いいえ
CSVインポート機能で、上記の顧客を更新します。
更新する対象フィールドは「コメント」のみにします。
つまり、上記「チェックボックスフィールド」は更新対象外フィールドです。
CSVインポート処理が完了したら、「チェックボックスフィールド」が「NULL」から「F(いいえ)」に更新され、更新ログも記録されます。
・変更前:NULL
・変更後:F(いいえ)
影響としては、以下2つのパターンがあります。
【サンプルデータ】
顧客A:チェックボックスフィールド=NULL
顧客B:チェックボックスフィールド=F(いいえ)
【パターン①】
保存検索やN/seachモジュールにて「チェックボックスフィールド=いいえ」の条件で顧客を検索する場合、顧客Aと顧客Bともに、検索結果として表示される。
【パターン②】
N/queryモジュールにて、SQLで顧客を検索する場合
・where [チェックボックスフィールド] = 'F' の条件で検索する場合、顧客Bのみ検索結果に表示。
・where [チェックボックスフィールド] IS NULL の条件で検索する場合、顧客Aのみ検索結果に表示。
それらにならないような有効な対策としては、以下があげられます。
①チェックボックス形のフィールドを追加した後、何らかの方法(例えば、CSVインポート)でそのフィールドを一括にF(いいえ)へ更新します。
②データを取得する際に、上記影響①と②(他に影響があるかもしれません)を意識する必要があります。
以上のことを注意しつつ対策してカスタムフィールドを追加した後のCSVインポートを実行していきましょう。
URL:https://www.maruweb.co.jp/
Magento詳細ページ:https://www.maruweb.co.jp/ja/solution/magento/
Oracle NetSuite詳細ページ:https://www.maruweb.co.jp/ja/solution/oracle-netsuite/
中国Webマーケティングソリューション詳細ページ:https://www.maruweb.co.jp/ja/solution/china-webmarketing/