intra-mart Accel Platform ロール インポート・エクスポート仕様書 第4版 2014-08-01

インポート

ロールのインポートはXML形式で行うことが可能です。
マスタ情報の新規登録、更新を行うことができます。
この章では、インポートがどのように行われるかを説明します。
また 更新モード による更新方法の違いについて説明します。

XML

ロールのインポートは <role-data> タグの内容を以下の2つに分割してインポートします。
これはロールの親子関係を更新する際に、親となるロールまたは子となるロールがインポートファイルの後方に記述されている場合に、存在しない(インポートが完了していない)ロールを親子関係に追加するとエラーとなる現象を回避するためです。
ファイル内すべての ロール情報ロール表示名情報 をインポート後に ロール親子関係 のインポートを行います。
このため、インポート結果の件数はインポートファイルに記述されているロール数の2倍です。

以下は3つのロールをインポートする場合の処理フローです。
../../_images/import_flow.png
ファイルのフォーマットについては「XMLファイルフォーマット」を参照してください。
また、インポート時の動作をオプションとして指定が可能です。
インポート時に利用可能なオプションについては、「インポートオプション」を参照してください。

注意

ロール親子関係 のインポートでは親ロール情報と子ロール情報の両方が記述されている場合や
親ロール情報と子ロール情報の両方が記述されていない場合も、インポート結果の件数の内の1件として扱います。

更新モード

更新モードを利用することで、インポートファイルのデータがデータベース上に存在する場合(更新を行う場合)の
データの更新方法を変更できます。
更新モードには mergereplace が提供されています。
<role-data> タグに update-mode 属性を指定することでモードを設定します。
特に指定していない場合は、merge モードで動作します。

merge

インポートファイルのデータとデータベース上のデータをマージして更新します。
インポートファイルに存在しない項目は既存のデータをそのまま設定されます。
../../_images/merge.png

replace

インポートファイルのデータに存在しない情報は未設定の値(デフォルト値)で更新します。
インポートファイルに存在しない項目は未設定です。
../../_images/replace.png

インポートの依存関係

ロールをインポートする際にあらかじめ登録が必要なデータは、以下の通りです。
  • サブロールに対する親となるロール

コラム

親ロールが他のインポートファイルに記述されている場合は、親ロールを先にインポートしてください。

注意事項

親子関係の整合性

親ロール情報と子ロール情報が循環するようなデータのインポートを行うとエラーが発生します。
親子関係の整合性がとれたデータをインポートしてください。

ロール名の重複

ロール名はロール毎にユニークな値となる必要があります。
インポートを行うロールに指定されているロール名が既に存在する場合、エラーが発生します。
(ただし、更新を行おうとしているロールのロール名を以前と同じ値で更新する場合は、この限りではありません。)
エラーが発生する例
  ロールID ロール名
登録済みのロール sample_role_id_1 sample_role_name
インポートするロール sample_role_id_2 sample_role_name