ウィンドウのアイコンから行えるインポートの処理は、住所も合わせて登録できるように特別な処理が実装されています。これは取引先マスタをインポートする際に、取引先の住所も一緒にインポートして登録できると便利なので、それを実現するために特別な処理として実装されています。
特別な処理と言う事もあり、住所情報は必ずインサートされるよな処理になっています。
この仕様は新規の取引先などの場合は住所も新規登録になるので概ね問題ないかなと思います。しかしながら、住所の変更や既存の住所を割り当てたい場合には、そのようなことはできないことを意味しています。
便利なようで、返って不便になってしまう場合もあるように思います。
そこで、住所登録の特別な処理を行うかどうかシステムコンフィグ設定で制御できるようにしました。
テナントレベルの設定で、名称に「JP_IMPORT_LOCATION_SPECIAL_COLUMN」を入力し、検索キーの値に"Y"もしくは"N"のどちらかを入力して下さい。
- Y … 住所登録の特別処理を行う(iDempiereの標準の挙動)
- N … 住所登録の特別処理は行わない
JPiereのデフォルトの挙動としては"N"にしています。
システムコンフィグ設定で「JP_IMPORT_LOCATION_SPECIAL_COLUMN」を"N"にすると、取引先や倉庫など住所情報を一緒に登録する必要があるマスタをインポートするような場合には、先に住所だけをインポートし、その後でマスタをインポートするという2回に分けてインポートすると登録できるはずです。
2回インポートするのは面倒のように感じるかもしれませんが、イレギュラーな特別処理を行わずに通常通りのインポート処理になるので、シンプルな使い方ができるというメリットがあると考えています。イレギュラーの特別処理の細かな仕様を把握して運用するのはそれなりに大変で、技術的負債にもなると考えています。
インポートファイルローダー(CSVインポート)は汎用的な機能を提供することに尽力して、特別なインポート処理を行いたい場合にはインポートプロセスを開発して対応するという切り分けが良いのではないかと考えています。











