intra-mart Accel Platform IM-共通マスタ インポート・エクスポート仕様書 第11版 2020-08-01

7.2. 設定ファイル

設定ファイルのフォーマットは、インポート用とエクスポート用の2種類あります。
テナント環境セットアップで登録されるジョブでは、すべてのデータ領域で共通の設定ファイルを使用しています。
インポート設定ファイル: <パブリックストレージ>/im_master/config/import_config.xml
エクスポート設定ファイル: <パブリックストレージ>/im_master/config/export_config.xml
※パブリックストレージのデフォルトは <ストレージルート>/public/storage
この設定ファイルはインポート/エクスポートジョブで定義されています。
標準のジョブでは、設定ファイルの場所は変更できません。
設定ファイルの場所を変更したい場合はジョブプログラムを作成するか、APIから直接インポート/エクスポートを実行する必要があります。

7.2.1. インポート設定ファイル

インポートを実行するための設定ファイルです。
インポートの設定項目はインポート機能共通ですが、実行するマネージャ単位で記述する必要があります。

インポート設定ファイルの例(会社グループ)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<app-master-import>
   <company-group-import>
       <name>sample_import</name>
       <format>XML</format>
       <file>im_master/import/data.xml</file>
       <directory>im_master/import/data.</directory>
       <start-date>2000-01-01</start-date>
       <end-date>2010-01-01</end-date>
       <encoding>UTF-8</encoding>
       <extension-param name="replace-pattern">true</extension-param>
       <extension-param name="sub-dirs">false</extension-param>
   </company-group-import>
</ app-master-import >

7.2.1.1. データ領域の指定

インポート設定ファイルのルートは<app-master-import>です。
その直下にデータ領域識別要素があり、その中に設定情報を記述します。
指定できるデータ領域を以下の表に示します。
【表:インポートターゲット識別要素】
ジョブ名 データ領域識別要素名
会社グループ company-group-import
会社組織 company-import
パブリックグループ public-group-import
パブリックグループ分類 public-group-category-import
プライベートグループ private-group-import
ユーザ user-import
ユーザ分類 user-category-import
法人グループ corporation-group-import
法人 corporation-import
取引先 customer-import
品目カテゴリ item-category-import
品目 item-import
通貨 currency-import

7.2.1.2. 処理名

インポートの処理名を設定します。

3     <name>sample_import</name>
  • 処理名で設定した名前は、実行するインポートの固有名です。
    同名の処理名を持つインポートは同時に実行できません。
  • 任意の文字列を指定可能ですが、ファイル名として使用できない文字を使用することはできません。

  • 使用できない文字列は、Storage を管理しているOSに依存します。
    環境に依存しない英数字、記号の使用を推奨します。

7.2.1.3. インポートファイルのフォーマット

ファイルフォーマットを設定します。

4     <format>XML</format>
  • CSVまたはXMLを指定します。
  • 省略できません。

7.2.1.4. インポートターゲットファイル/ディレクトリ

インポート対象のデータファイルを指定します。

5     <file>im_master/import/data.xml</file>

インポート対象のデータファイルがあるディレクトリを指定します。

6     <directory>im_master/import/data.</directory>
  • ディレクトリ内のすべてのファイルが対象です。インポートできない形式のファイルがある場合はエラーが出力されます。

  • ファイルまたはディレクトリは複数指定できます。

  • ファイルまたはディレクトリのいずれかを必ず指定します。両方省略することはできません。

  • ファイル要素でディレクトリは指定できず、ディレクトリ要素でファイルを指定することもできません。

  • 複数指定した場合、インポートする順番は不定です。

  • CSVでインポートする場合、そのデータファイルのエンティティを指定する必要があります。
    指定方法は「CSVでのデータファイル指定方法 」を参照してください。

7.2.1.5. インポート開始日/インポート終了日

データをインポートする期間を指定します。

7     <start-date>2000-01-01</start-date>
8     <end-date>2010-01-01</end-date>
  • 日付は、『yyyy-MM-dd』形式で指定します。

  • 終了日の指定は、+1日を指定します。
    『データ取得時の基準日<エンティティの終了日』であるため、実際に登録するデータはエンティティの終了日+1日である必要があります。
  • 開始日を省略した場合は、インポート開始時点での日付が設定されます。

  • 終了日を省略した場合は、システム終了日が設定されます。

  • 開始日と終了日、両方省略した場合、インポートデータファイルのフォーマットによって動作が変わります。

  • XMLの場合、システム開始日からシステム終了日までの全期間インポートが実行されます。
  • CSVの場合、前述したデフォルト日付でスナップショットインポートが実行されます。

7.2.1.6. 文字コード

ファイルの文字コードを指定します。

9     <encoding>UTF-8</encoding>
  • CSV形式でインポートする場合、必須です。
  • XML形式でインポートする場合は、XMLファイルのヘッダで判断します。このパラメータは無視します。
  • インポートするデータファイルの文字コードです。Storage Serviceの文字コードである必要はありません。
  • UTF-8エンコーディングでファイルをインポートする場合、BOM(Byte Order Mark)が付加されない形式をご利用ください。BOMの付加された形式を利用した場合、正常なインポートが行われません。

7.2.1.7. 拡張パラメータ

いくつかのパラメータを拡張パラメータとして設定可能です。

10     <extension-param name="replace-pattern">true</extension-param>
11     <extension-param name="sub-dirs">false</extension-param>
【表:スタンダードインポートで使用可能な拡張パラメータ】
拡張パラメータ名 概要 設定可能な値とデフォルト値
replace-pattern インポートターゲットのパターン文字列置換を有効にするか
true or false
デフォルト true
sub-dirs directoryで指定したフォルダのサブフォルダもインポート対象とするか
true or false
デフォルト false
with-header インポートファイルがCSV形式の時、1行目をヘッダとして無視するか
true or false
デフォルト false
  • 使用できるパターン文字列
  • %date%
    yyyy-MM-dd形式のインポート実行開始時点での日付
サブディレクトリを対象とする場合、指定したディレクトリより下位にあるファイルを取得し、インポートを実行します。
前述のとおり、対象ディレクトリにインポート用ではないファイルが存在した場合エラーが出力されるため、注意してください。

7.2.2. エクスポート設定ファイル

エクスポートを実行するための設定ファイルです。
エクスポートの設定項目はエクスポート機能共通ですが、実行するマネージャ単位で記述する必要があります。

エクスポート設定ファイル例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<app-master-export>
    <company-group-export>
        <name>sample_export</name>
        <format>XML</format>
        <file>im_master/export/data.xml</file>
        <date>2099-12-31</date>
        <encoding>UTF-8</encoding>
        <filter name="company-group">company_group_cd_01</filter>
        <extension-param name="replace-pattern">true</extension-param>
        <extension-param name="format-xml">true</extension-param>
    </company-group-export>
</ app-master-export >

7.2.2.1. データ領域の指定

エクスポート設定ファイルのルートは<app-master-export>です。
その直下にデータ領域識別要素があり、その中に設定情報を記述します。
前節のエクスポート設定ファイルの例は、会社グループの設定例です。
指定できるデータ領域を以下の表に示します。
【表:エクスポートターゲット識別要素】
ジョブ名 データ領域識別要素名
会社グループ company-group-export
会社組織 company-export
パブリックグループ public-group-export
パブリックグループ分類 public-group-category-export
プライベートグループ private-group-export
ユーザ user-export
ユーザ分類 user-category-export
法人グループ corporation-group-export
法人 corporation-export
取引先 customer-export
品目カテゴリ item-category-export
品目 item-export
通貨 currency-export

7.2.2.2. 処理名

エクスポートの処理名を設定します。

3     <name>sample_export</name>
  • 同名の処理名を持つエクスポートは同時に実行できません。
  • 任意の文字列を指定可能ですが、ファイル名として使用できない文字を使用することはできません。
  • 使用できない文字列は、Storageが稼働しているOSに依存します。
    環境に依存しない英数字、記号の使用を推奨します。

7.2.2.3. エクスポートファイルのフォーマット

ファイルフォーマットを設定します。

4     <format>XML</format>
  • CSVまたはXMLを指定します。
  • 省略できません。

7.2.2.4. エクスポートターゲットファイル

出力先ファイルを指定します。

5     <file>im_master/export/data.xml</file>
  • 拡張子を含めて指定してください。

  • ディレクトリは指定できません。

  • 省略できません。

  • 複数指定することもできますが、内容はすべて同じものを出力します。

  • CSVでエクスポートする場合、そのデータファイルのエンティティを指定する必要があります。
    指定方法は「CSVでのデータファイル指定方法 」を参照してください。

7.2.2.5. エクスポート基準日

基準日のスナップショットをエクスポートします。

6     <date>2099-12-31</date>
  • 省略した場合、エクスポートデータファイルのフォーマットによって動作が変わります。
  • CSVの場合、エクスポート開始時点での日付でスナップショットエクスポートが実行されます。
  • XMLの場合、全期間エクスポートが実行されます。

7.2.2.6. 文字コード

出力する文字コードです。

7       <encoding >UTF-8</encoding>
  • 省略できません。

  • 任意の文字コードを指定できます。
    サーバの文字コードである必要はありません。
  • XMLフォーマットで出力時、XMLヘッダにもこの文字コード指定を出力します。

7.2.2.7. 出力フィルタ

エクスポートするデータをフィルタリングできます。

8      <filter name="company-group">company_group_cd_01</filter>

下表のフィルタ対象となるデータを1つ選びます。選んだデータに関連するデータのみが出力対象です。

【表:フィルタリング対象】
データ領域 フィルタ対象 name属性
会社グループ 会社グループセット company-group-set
会社組織 会社 company
パブリックグループ パブリックグループセット public-group-set
プライベートグループ オーナーユーザ user
ユーザ ユーザ user
法人グループ 会社 company
法人 会社 company
取引先 会社 company
品目カテゴリ 会社 company
品目 会社 company
通貨 会社 company

7.2.2.8. 拡張パラメータ

いくつかのパラメータを拡張パラメータとして設定可能です。

 9     <extension-param name="replace-pattern">true</extension-param>
10     <extension-param name="format-xml">true</extension-param>
【表:スタンダードエクスポートで使用できる拡張パラメータ】
拡張パラメータ名 概要 設定可能な値とデフォルト値
replace-pattern エクスポートターゲットのパターン文字列置換を有効にするか?
true or false
デフォルト true
format-xml XML出力時に整形をするか?
true or false
デフォルト true
with-header CSVでエクスポートするとき、1行目にヘッダを出力するか?
true or false
デフォルト false
export-term-cd XML出力時、期間コードを出力するか?
true or false
デフォルト false
  • 使用できるパターン文字列
    • %date%
      yyyy-MM-dd形式の、インポート実行開始時点での日付
  • 期間コードを出力可能ですが、インポートでは使用しません。
    参照専用の項目です。

7.2.3. CSVでのデータファイル指定方法

インポート/エクスポートは、データ領域単位で実行しますが、CSVファイルにいくつかのエンティティを一括して入出力できません。
インポート/エクスポートのデータファイルが、どのエンティティのものなのか指定する必要があります。
この節では、CSVがどのエンティティの規則に従って作成されているのかを指定する方法を解説します。
設定ファイル内のファイル要素、またはディレクトリ要素の属性にtypeを設定できます。
各エンティティに固有のtypeが割り当てられています。
指定しなかった場合、または定義されていない文字列を指定した場合は無視されます。
ディレクトリ要素でデータファイルを指定した場合は、そのディレクトリ内のファイルすべてがそのエンティティのデータファイルであるとしてインポートを実行します。
同一ディレクトリ内に別エンティティのデータファイルを置くことはできません。
5     <file type="department">im_master/import/data.csv</file>
【表:typeに指定できるもの】
データ領域 エンティティ 指定する文字列
会社グループ 会社グループ company-group
会社グループ内包 inclusion
会社グループ所属 attach-company
会社・組織 組織 department
組織内包 inclusion
役職 post
組織所属/組織所属役職 attach-user
組織分類 category
組織分類項目 item
組織分類所属 attach-item
パブリックグループ パブリックグループ public-group
パブリックグループ内包 inclusion
役割 role
パブリックグループ所属/所属役割 attach-user
パブリックグループ分類所属 attach-item
パブリックグループ分類 パブリックグループ分類 category
パブリックグループ分類項目 item
プライベートグループ プライベートグループ private-group
プライベートグループ所属 attach-user
ユーザ ユーザ user
ユーザ分類所属 attach-item
ユーザ分類 ユーザ分類 category
ユーザ分類項目 item
法人グループ 法人グループ corporation-group
法人グループ内包 inclusion
法人グループ所属 attach-corporation
法人 法人 corporation
法人所属 attach-customer
取引先 取引先 customer
品目 品目 item
品目カテゴリ 品目カテゴリ item-category
品目カテゴリ内包 inclusion
品目カテゴリ所属 attach-item
通貨 通貨 currency
通貨精度 currency-precision
通貨換算コード currency-conversion
通貨レート currency-rate