ASTERIA MDM One MI Online Help
トップページ製品サイトインフォテリア

## 一括更新の概要

### 一括更新とは

マスターデータの登録、予約、修正、終了日設定を行う場合、通常は画面からそれぞれのフォームを開いて申請を行うため、終了日設定を除いて1件ずつしか実行できません。 一括更新ではCSVファイルと専用のフォームを使用することで複数件の処理を一括で行うことができます。

申請に使用するフォームはCSVフォームを使用します。これは全ての処理で共通です。

申請の手順についても基本的には共通ですが、開始日の指定の有無、ファイルで指定したキーと同じキーを持つマスターデータの有無によって処理内容が変わります。
これをまとめたものが以下の表になります。

| 同一キーのマスターデータあり | 同一キーのマスターデータなし
--- | --- | ---
開始日あり＆終了日あり | 予約 ※1 | 登録
開始日あり＆終了日なし | 予約 | 登録
開始日なし＆終了日なし | 修正 | 登録 ※2
開始日なし＆終了日あり | 終了日設定 | 登録 ※2

※1 終了日は使用されません。
※2 承認完了日が開始日として使用されます。

ファイルで指定したキーと同じキーを持つマスターデータが存在する場合は予約、修正、または終了日設定となります。 この場合、開始日が指定されている場合は予約、開始日と終了日が指定されていない場合は修正、終了日だけが指定されている場合は終了日設定となります。

ファイルで指定したキーと同じキーを持つマスターデータが存在しない場合は登録になります。 このとき、開始日が指定されていない場合は自動的に承認完了日が開始日として処理が行われます。

CSVフォームで列番号を空にしたカラムについては予約、修正時に元のマスターデータの値を引き継ぎます。
サブカラムのカラムについては動作が異なるので、「サブカラムがある場合の予約、修正時の動作」を参照してください。

### サブカラムがある場合の予約、修正時の動作

サブカラムがある場合はサブカラムに対して列番号の指定およびファイルの指定ができますが、
予約、修正時の動作は以下のようになります。

ファイルを指定しなかった場合
  元のマスターデータの値を引き継ぎます。
ファイルを指定したが、一致するキーがなかった場合
  サブカラムは空になります。
CSVフォームで列番号を空にしたカラムに関して
  このカラムは空で更新されます。

### 開始日と終了日について

開始日と終了日の指定については一括更新の申請時に画面から指定する方法と、CSVファイルの行ごとに記述して指定する方法があります。
画面から指定した場合は全ての行に対して指定した日付が有効になりますが、行でも指定されている場合は指定した行に関してはそちらが優先されます。
日付を行に記述して指定する場合は「yyyy/MM/dd」形式で記述してください。
また、開始日と終了日を指定した場合のマスターデータの有効期間は以下のようになります。

開始日
  指定した日付から有効
  開始日が2014/01/01の場合、2014/01/01 00:00:00から有効
終了日
  指定した終了日まで有効
  終了日が2015/12/31の場合、2015/12/31 23:59:59まで有効

### エラーが発生した場合の動作

一括更新では複数件のデータをひとつのリクエストで処理しますが、特定のデータでエラーが発生する場合があります。
エラーが発生した場合の動作はエラーが発生したタイミングによって異なります。

リクエスト申請時にエラーが発生した場合
  1件も処理が実行されません。
リクエスト承認完了後のデータ登録処理中にエラーが発生した場合
  開始日と終了日に関するエラーが発生した場合
    エラーが発生したデータついてはエラーログが出力されますが、処理は継続します。
  上記以外のエラーが発生した場合
    処理が中断し、それまで行われた全ての処理が無効になります。

### 制限事項

通常のフォームではフォームアイテムの値を制限するために制約プロパティで制約を設定することができますが、一括更新で使用するCSVフォームではこの制約を設定することができません。 使用する際は十分注意してください。