intra-mart Accel Platform 互換ガイド 第11版 2023-10-31

12. 共通マスタ拡張同期インポートⅡ型

12.1. 概要

共通マスタ拡張同期インポートⅡ型(以下 拡張インポートと称します)は、IM-共通マスタからアプリケーション共通マスタへの同期を行うジョブです。
アプリケーション共通マスタの履歴を削除することにより、同期の処理を簡略化し、それによりパフォーマンスの改善を図った同期処理です。
簡略化したことにより、使用するにあたっていくつかの制限事項があります。
拡張インポートの最も大きな制限は、アプリケーション共通マスタのユーザ、会社組織の期間を一期間化することです。
アプリケーション共通マスタのユーザ、会社組織の履歴情報を必要としない運用であれば適用できます。
詳しい制限については「制限事項」を参照してください。
本ドキュメントでは、拡張インポートの導入方法と使用方法について説明します。
また、使用する際の制限事項についても記述しています。
これらの制限を踏まえて拡張インポートを使用してください。

12.2. 拡張インポートについて

拡張インポートは、IM-共通マスタのユーザと会社組織の情報をアプリケーション共通マスタへ同期させるジョブであり、標準の同期の代わりに使用します。
拡張インポートを使うことにより、IM-共通マスタへのインポート時間を短縮できます。
IM-共通マスタのインポートに時間がかかるなどの場合、この拡張インポートでの運用を検討してください。

12.2.1. 拡張インポートの位置づけ

IM-共通マスタからアプリ共通マスタへの同期を行うと長期間運用することにより期間データが増加した際、同期処理に時間がかかるようになっていきます。
このような場合の対応として、標準の同期処理の代わりに拡張インポートを利用することが候補になります。
この拡張インポートでは履歴を削除した状態で同期することにより、同期処理時間の短縮をしています。
アプリケーション共通マスタの履歴を削除するので、履歴を必要としているシステムではこの拡張インポートを適用できません。
アプリケーション共通マスタの履歴を削除した状態で運用してもシステムとして問題が無いのであれば、この拡張インポートを利用できます。

12.2.2. 標準インポートでの同期との対比

標準インポートでは、IM-共通マスタのインポートジョブを実行すると、IM-共通マスタにデータをインポートしながらアプリケーション共通マスタへ同期します。
これに対して、拡張インポートを使う場合は、IM-共通マスタの標準インポートジョブでアプリケーション共通マスタへ同期をしないように設定して、IM-共通マスタへインポートします。
その後、拡張インポートジョブを使って、履歴を削除した状態のアプリケーション共通マスタへ同期処理を実行します。
../../_images/import02_1.png
以下は、標準インポートと拡張インポートの機能比較した表です。
拡張インポートのメリットは、標準の同期と比べて処理速度が速いことです。
デメリットはアプリケーション共通マスタを一期間にして履歴を持つことができない制限があることです。
項目 標準インポート 拡張インポート 備考
IM-共通マスタインポート中に同期を行う × 標準の同期では、IM-共通マスタインポート中に同期処理を行っていましたが、拡張インポートでは、IM-共通マスタインポート後にの別のジョブで同期を実行させます。
アプリケーション共通マスタの期間化 ×
拡張インポートジョブでは、IM-共通マスタの指定した日付のスナップショットの状態を同期します。
アプリケーション共通マスタは一期間のみ保持します。
設定ファイル × 拡張インポートジョブ用の設定ファイルを使用します。
処理時間 普通 速い 拡張インポートのアプリケーション共通マスタは、期間を一つしか持たないので、同期処理にかかる時間が短くなっています。

12.2.3. 一期間化対象のエンティティ

この拡張インポートでは、アプリケーション共通マスタのユーザと会社組織を一期間化します。
一期間化するエンティティとテーブルは以下の通りです。
太字のテーブルが一期間化によりデータが変更、削除されるテーブルです。
エンティティ テーブル
ユーザ
b_m_user_b
b_m_user_t
b_m_user_t_i
組織
b_m_department_b
b_m_department_t
b_m_department_t_i
会社構成バージョン
b_m_company_version_b
組織内包
b_m_department_inclusion_b
役職
b_m_company_post_b
b_m_company_post_t
b_m_company_post_t_i
組織所属
b_m_department_attach_b
b_m_department_attach_t
主所属
b_m_department_main_b
b_m_department_main_t
組織分類所属
b_m_company_category_b
b_m_company_category_t

12.2.4. チェックリスト

IM-共通マスタ、アプリケーション共通マスタの運用についてのチェックリストです。
以下の項目が全て「YES」の場合、この拡張インポートを適用できます。
  • アプリケーション共通マスタの履歴情報を必要としない。

  • IM-共通マスタ上で無効状態(論理削除状態)のデータを有効化するインポートは行わない。
    有効化への変更については、「関連するエンティティの復帰処理を行いません」を参照してください。

12.3. 準備

12.3.1. バックアップ

「 intra-mart Accel Platform セットアップガイド」の「バックアップ 」を参考に、バックアップを行ってください。

12.3.2. 初期状態生成

アプリケーション共通マスタのユーザと会社組織を一期間化するために、「一期間ユーザの初期状態生成 Ⅱ型」および「一期間会社組織の初期状態生成 Ⅱ型」ジョブを実行します。
デフォルトでは、現在日付を含む期間だけ残して他は削除します。
設定ファイルに対象日付を記述することにより残す期間を指定できます。
一期間化すると、期間は開始日が1900/01/01、終了日が3000/01/01 になります。

12.3.2.1. 設定ファイル

設定ファイルに対象日付を記述することにより、一期間化する期間を決定することができます。
設定ファイルの配置場所とファイル名は、
%PUBLIC_STORAGE%/im_master/config/altsync/oneterm_initializer.properties
です。
対象日付は
target_date=2000/01/01
のように、yyyy/MM/dd 形式で記述してください。
target_date が無い場合は、現在日付で一期間化します。

12.3.2.2. 初期状態生成の実行

  1. テナント管理者でログインします。

  2. 「サイトマップ」-「テナント管理」-「ジョブネット設定」をクリックします。

  3. ジョブネット一覧より「一期間ユーザの初期状態生成 Ⅱ型」および「一期間会社組織の初期状態生成 Ⅱ型」を選択して、ジョブを実行します。
    「一期間ユーザの初期状態生成 Ⅱ型」を先に実行してください。

12.4. 実行

IM-共通マスタからアプリケーション共通マスタへの同期を実行する前に、アプリケーション共通マスタの期間は一期間化された状態にいる必要があります。
この拡張インポートを初めて実行する場合は、同期を実行する前に初期状態生成ジョブを実行し、一期間化します。
初期状態生成については、「初期状態生成」を参照してください。
バックアップを取ってから、拡張インポートを実行してください。

12.4.1. バックアップ

「 intra-mart Accel Platform セットアップガイド」の「バックアップ 」を参考に、バックアップを行ってください。

12.4.2. 設定ファイル

設定ファイルにより、IM-共通マスタのどの日にちの情報を同期するか、同期するデータの種類(組織、役職、所属など)を選択することができます。
デフォルトの設定では、同期する日にちは現在日付、同期するデータの種類は全て(ユーザ、組織、内包、役職、所属、組織分類所属)になっています。
拡張インポートジョブでは、内部でIM-共通マスタのデータをエクスポートし、アプリ共通マスタへインポートしています。
この時の設定ファイル(csv エクスポートとcsv インポート)の内容は、IM-共通マスタの標準インポートの設定ファイルと同じです。
設定ファイルの配置場所とファイル名は以下の通りです。
設定ファイルの配置場所 %PUBLIC_STORAGE%/im_master/config/altsync
エクスポート設定ファイル oneterm_export_config.xml
インポート設定ファイル oneterm_import_config.xml

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

エクスポート設定ファイル(oneterm_export_config.xml)は、ターゲットファイル、基準日と文字コードを必要に応じて設定します。
各項目は以下のように設定してください。
項目名 タグ名 説明
処理名 name 任意の値を設定してください。
フォーマット format 「csv」を指定してください。
ターゲットファイル file
type にはuser、department、inclusion、post、attach-user、attach-item を指定してください。
また、インポート設定ファイルのターゲットファイルとあわせてください。
詳細は「IM-共通マスタインポート・エクスポート仕様書」の「6.2.3 CSV でのデータファイル指定方法」を参照してください。
基準日 date
どの期間のデータを同期するかを決定するための基準日を指定します。
省略した場合、現在日で同期します。
文字コード encoding インポート設定ファイルの文字コードとあわせてください。
通常の運用では、基準日を変更する程度になります。
デフォルトの設定は以下です。
<?xml version="1.0" encoding="UTF-8"?>
<app-master-export>
  <user-export>
    <format>csv</format>
    <encoding>UTF-8</encoding>
    <name>name</name>
    <file type="user">im_master/temp/altsync/user.csv</file>
  </user-export>

  <company-export>
    <format>csv</format>
    <encoding>UTF-8</encoding>
    <name>name</name>
    <file type="department">im_master/temp/altsync/department.csv</file>
    <file type="inclusion">im_master/temp/altsync/inclusion.csv</file>
    <file type="post">im_master/temp/altsync/post.csv</file>
    <file type="attach-user">im_master/temp/altsync/attach-user.csv</file>
    <file type="attach-item">im_master/temp/altsync/attach-item.csv</file>
  </company-export>
</app-master-export>

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

インポート設定ファイル(oneterm_import_config.xml)は、ターゲットファイル、文字コードを必要に応じて設定します。
各項目は以下のように設定してください。
項目名 タグ名 説明
処理名 name 任意の値を設定してください。
フォーマット format 「csv」を指定してください。
ターゲットファイル file
type にはuser、department、inclusion、post、attach-user、attach-item を指定してください。
また、エクスポート設定ファイルのターゲットファイルとあわせてください。
詳細は「IM-共通マスタインポート・エクスポート仕様書」の「6.2.3 CSV でのデータファイル指定方法」を参照してください。
開始日 start-date 使用しません。
終了日 end-date 使用しません。
文字コード encoding エクスポート設定ファイルの文字コードとあわせてください。
通常の運用では、このままで使用できます。
デフォルトの設定は以下です。
<?xml version="1.0" encoding="UTF-8"?>
<app-master-import>
  <user-import>
    <format>csv</format>
    <encoding>UTF-8</encoding>
    <name>name</name>
    <file type="user">im_master/temp/altsync/user.csv</file>
  </user-import>

  <company-import>
    <format>csv</format>
    <encoding>UTF-8</encoding>
    <name>name</name>
    <file type="department">im_master/temp/altsync/department.csv</file>
    <file type="inclusion">im_master/temp/altsync/inclusion.csv</file>
    <file type="post">im_master/temp/altsync/post.csv</file>
    <file type="attach-user">im_master/temp/altsync/attach-user.csv</file>
    <file type="attach-item">im_master/temp/altsync/attach-item.csv</file>
  </company-import>
</app-master-import>

12.4.5. 一部のエンティティのみ同期する例

ここでは、IM-共通マスタで所属のみを変更した場合に、全て同期するのではなく所属のみ同期しようとする場合を例にあげて説明します。
特定のエンティティのみを同期するには、エクスポート設定ファイル、インポート設定ファイルのfile の項目にそのエンティティのみを指定します。
ここでは所属のみを出力するので、user-export, user-import は記述せず、company-export, company-import のfileにはattach-user のみを指定します。

以下は所属のみを同期する場合の設定ファイルの例です。

エクスポート設定ファイル(oneterm_export_config.xml)
<?xml version="1.0" encoding="UTF-8"?>
<app-master-export>
  <company-export>
    <format>csv</format>
    <encoding>UTF-8</encoding>
    <name>name</name>
    <file type="attach-user">im_master/temp/altsync/attach-user.csv</file>
  </company-export>
</app-master-export>
インポート設定ファイル(oneterm_import_config.xml)
<?xml version="1.0" encoding="UTF-8"?>
<app-master-import>
  <company-import>
    <format>csv</format>
    <encoding>UTF-8</encoding>
    <name>name</name>
    <file type="attach-user">im_master/temp/altsync/attach-user.csv</file>
  </company-import>
</app-master-import>

12.4.6. インポートの実行

  1. テナント管理者でログインします。

  2. 「サイトマップ」-「テナント管理」-「ジョブネット設定」をクリックします。

  3. ジョブネット一覧より「ユーザ拡張同期インポート Ⅱ型」および「会社・組織拡張同期インポート Ⅱ型」を選択して、ジョブを実行します。
    ユーザと会社組織の両方を同期させる場合には,「ユーザ拡張同期インポート Ⅱ型」、「会社・組織拡張同期インポート Ⅱ型」の順に実行してください。

12.5. 制限事項

このインポートを実行するには、以下の制限があります。
インポートを実行する前に、以下の制限に違反していないことを確認してください。

12.5.1. アプリケーション共通マスタが一期間の状態になっていること

アプリケーション共通マスタが一期間の状態でインポートを行ってください。
一期間の状態にするためには、初期化状態生成ジョブを実行してください。初期化状態生成ジョブについては、「初期状態生成」を参照してください。

12.5.2. 関連するエンティティの復帰処理を行いません

拡張インポートでは関連するエンティティの復帰処理を行わないので、拡張インポートのエクスポート、インポート設定ファイルにはユーザ、組織、内包、役職、所属、分類所属を設定してください。
組織のみを設定するなど、一部のエンティティのみを同期させる場合は、該当エンティティが無効化から有効化の状態になることが無いことを確認してください。
無効化から有効化の状態にしているエンティティがある場合は、全てのエンティティ(組織、内包、役職、所属、分類所属)を設定してください。
デフォルトではユーザ、組織、内包、役職、所属、分類所属が設定されています。

12.5.2.1. 関連するエンティティの復帰処理について

標準インポートでは、IM-共通マスタ上で、無効(論理削除状態)だったエンティティをインポートで有効化するとき、それに関連するエンティティも有効化しています。
以下の表では、対象となるエンティティを復帰させた場合、関連するエンティティを復帰させる処理を行うかどうかを、標準インポートでの同期処理と拡張インポートの同期のそれぞれに対して表しています。
エンティティ 関連するエンティティ 標準同期処理 拡張インポートの同期処理
ユーザ 所属 復帰あり 復帰なし
組織(会社)
組織
内包
役職
復帰あり
復帰あり
復帰あり
復帰なし
復帰なし
復帰なし
組織
内包
所属
復帰あり
復帰あり
復帰なし
復帰なし
内包 なし
役職 所属(所属役職) 復帰あり 復帰あり
所属 所属役職 復帰あり 復帰あり
(例) 標準のインポートと同期処理における復帰
組織インポートで組織を有効化した場合、それに関連した所属も有効化して同期します。
標準のインポートの同期処理では、「インポート前の状態」に組織を有効化するインポートを行うと、「インポート前の後」の状態になります。
組織が有効になったことにより、所属が有効として扱われ、組織の同期と共に、所属も有効にして登録しています。
../../_images/import02_2.png

インポート前の状態

../../_images/import02_3.png

インポート後の状態

12.5.2.2. 復帰処理への対応方法

拡張インポートでは、表5-1で「復帰なし」となっているエンティティを無効から有効にする場合、それに関連するエンティティは復帰しません(有効になりません)。
復帰処理の代替として、関連するエンティティのcsv データを用意してインポートする必要があります。

(例) 組織を有効にする場合
組織を有効にする場合、その組織に関連する内包と所属、組織分類所属のデータをcsv ファイルに追加して、同時にインポートします。
ここでは、「インポート前の状態」に組織を有効化のインポートを行い、「インポート後の状態」にするために用意するcsv データについて説明します。
../../_images/import02_4.png

インポート前の状態

../../_images/import02_5.png

インポート後の状態

組織を有効化すると、IM-共通マスタでは内包、所属と組織分類所属も有効化された状態になるので、アプリ共通マスタでも同じ状態にするために、対応する内包、所属と組織分類所属も同期の対象にさせます。
この場合は、組織だけを同期させるのではなく、内包、所属、組織分類所属も同期させてください。
エクスポート、インポート設定ファイルのターゲットファイルの部分には、組織だけでなく、内包、所属、組織分類所属も記述します。

(例) エクスポート、インポート設定ファイルのターゲットファイルに組織のみを記述している場合
組織だけの記述は以下のようになります。
<file type="department">im_master/temp/altsync/department.csv</file>
上記の記述から、組織だけでなく内包、所属、組織分類所属の記述に変更する場合は、以下のように記述します。
<file type="department">im_master/temp/altsync/department.csv</file>
<file type="inclusion">im_master/temp/altsync/inclusion.csv</file>
<file type="attach-user">im_master/temp/altsync/attach-user.csv</file>
<file type="attach-item">im_master/temp/altsync/attach-item.csv</file>