EXPORT_APPLICATION_TEMPLATE
アプリケーションテンプレート配布機能
(fusion_place extreme 限定) (fusion_place >= 11.0)
概要
アプリケーションテンプレート配布機能は、あるアプリケーションの設計オブジェクトを、それとは別のアプリケーションに配布・反映する機能です。
配布対象は設計オブジェクトのみであり、管理オブジェクトは配布されません。このため、配布先アプリケーションでは、各々独自の管理オブジェクトを登録/設定できます。
当機能の典型的な用途のひとつは、グループ各社に展開する標準管理会計システムの構築です。
本社でグループ共通のひな形アプリケーション(これを 配布元アプリケーション と呼びます)を作成し、それをグループ各社に配布します。
グループ各社は、配布されたアプリケーション(これを 配布先アプリケーション と呼びます)に、自社独自の勘定科目や部門を登録して使用します。
当機能を用いると、配布元アプリケーションで設計オブジェクトが追加・変更あるいは削除されたとき、その内容を各配布先アプリケーションに配布することができます。
例えば、配布元アプリケーションの部門ディメンションにおいて、「合計」メンバを「テンプレートメンバ」(設計オブジェクト)として登録しておきます。配布先アプリケーションでは、当メンバの配下に、各社が独自に部門を登録できます。各社が登録する部門は、「ユーザ定義メンバ」(管理オブジェクト)とします。
ここで、配布元アプリケーションにディメンションや元帳が増えたり、フォームを修正/追加するなど、設計オブジェクトに変更があった場合、配布元アプリケーションのテンプレート(設計オブジェクトの全体)をエクスポートし、配布先アプリケーションにインポートすることで変更内容を配布することが出来ます。 このとき、配布先アプリケーションに登録済の部門などユーザ定義メンバや、入力済のデータは、原則としてそのまま維持されます。
テンプレートのエクスポート・インポート
配布元アプリケーションからテンプレートすなわち設計オブジェクトの全体をエクスポートするには、[Web-API](またはリクエスタ)を用います。エクスポートのためのリクエストタイプは、以下の通りです。
テンプレートデータは 16 進形式で、フォーマットは非公開です。 テンプレートデータを配布先アプリケーションにインポートする際にも、[Web-API](またはリクエスタ)を用います。リクエストタイプは、以下の通りです。
IMPORT_APPLICATION_TEMPLATE
なお、ディメンション更新のような他の処理との競合のためにインポート処理が失敗することがありえます。この場合、配布先アプリケーションは更新されていません。レスポンスボディ中の「処理結果コード」あるいはリクエスタの終了コードでエラーの有無を判定し、リトライして下さい(処理が失敗した場合。処理結果コードは「 FAILED 」に、リクエスタの終了コードは 8 になります)。
留意事項
-
メンバラベルの衝突回避
ディメンションのテンプレートメンバに関しては、配布元アプリケーションで登録された内容が、配布先アプリケーションに配布されます。一方で、ユーザ定義メンバは配布先アプリケーション側で登録され、配布元アプリケーションから配布されません。このため、両者のラベルが衝突しないよう、運用上留意する必要があります。
こうした運用を支援するために、バージョン 11.0 以降では、ディメンションごとに「テンプレートメンバラベル制約」を登録することが可能です。
「テンプレートメンバラベル制約」では、テンプレートメンバのラベルのパターンを、ワイルドカード(一文字を表す ? と任意の文字列を表す * )を用いて指定できます。 例えば「 T* 」と指定すれば先頭 1 文字が T であるようなメンバラベルはテンプレートメンバにしか使えないことになります。こうしたパターンは複数指定でき、いずれかに合致する文字列はテンプレートメンバのラベルとして予約されます。
テンプレートメンバラベル制約は アプリケーションテンプレート配布機能は、あるアプリケーションの 設計オブジェクト なので、配布元アプリケーションから配布先アプリケーションに配布されます。 -
データが削除される場合
テンプレートデータを配布先アプリケーションにインポートした結果、配布先アプリケーション内で、設計オブジェクト以外のデータが削除されることがあります。
例として、配布先アプリケーションに存在する元帳定義が配布元アプリケーション側には無かった場合、設計オブジェクトであるその元帳定義が削除されることは当然ですが、それに伴い、その元帳定義で指定される元帳の内容データも削除されます。
こうしたケースについては付表をご覧ください。 -
バックアップの取得
アプリケーションテンプレートのインポート処理を実行すると、配布先アプリケーション内の設計オブジェクトは変更/削除され、元に戻せません。インポート処理の実行前に配布先アプリケーションのバックアップを取得して置くことをお勧めします。
これは、バックアップ処理とインポート処理を一連の処理として、リクエスタあるいは [Web-API] で実行することが可能です。 -
配布先アプリケーションでの管理者権限の利用
配布先アプリケーションで設計オブジェクトを修正してしまう危険を避けるため、管理オブジェクトのみを追加・変更・削除する権限を持つ、管理者権限の利用をお勧めします。
付表.テンプレートデータの取り込みにより、配布先アプリケーション側で登録されたデータが削除/変更される場合
原因となる設計オブジェクト | 配布先アプリケーション側で登録されたデータが削除/変更される場合 |
---|---|
1. アプリケーション |
配布元と先で、アプリケーションタイプが異なる場合、配布先のアプリケーションタイプは変更され、変更後のアプリケーションで保持できない管理オブジェクトや運用データが削除されます。 |
2. 期間表 |
配布元と先で、期間表の構造が異なる場合、すべての元帳データが削除され、すべてのシナリオの全年度・期間がクローズされます。またすべての業務プロセスが削除されます。 期間表の構造とは、相対期間のラベルと階層構造、表示形式の種類とラベル、相対期間の階層との対応関係です。相対期間や表示形式の名称は含まれません。 |
3. シナリオ |
配布先にあるシナリオが配布元に無い場合、また、最小期間単位が変更される場合、そのシナリオのすべての元帳データが削除されます。 |
4. ディメンション |
配布先にあるディメンションが配布元に無い場合、配布先のディメンションは削除されます。それに含まれるユーザ定義メンバも削除されます。 同じラベルのディメンションが存在する場合でも、ディメンションタイプあるいは借用するディメンションが異なっている場合、配布先で、そのディメンションは削除され、新たなディメンションが同じラベルで作成されます。 【ディメンションが削除される場合】 そのディメンションを「値リスト定義ディメンション」としている勘定科目あるいは注記項目ディメンションのメンバがある場合、そのデータタイプは「列挙型」から「なし」に変更され、「値リスト定義ディメンション」の指定はクリアされます。 【ディメンションが更新される場合】 配布元ディメンションに存在しないテンプレートメンバが配布先ディメンションに存在する場合、そのメンバの「使用区分」は「使用せず」となります。 |
5.元帳定義 |
配布先にある元帳定義が配布元に無い場合、 また、存在してもディメンション構成が異なる場合、 注記元帳を非注記元帳に(またはその逆に)変更した場合。配布先にあるビュー元帳でない元帳と同じラベルをもつビュー元帳が配布元にある場合、 その元帳のすべてのデータが削除されます。 |
6. アクセス許可タイプ |
配布先にあるアクセス許可タイプが配布元に無い場合、そのアクセス許可タイプを適用している業務責任単位のアクセス許可タイプは「アクセス権なし (システム定義)/ #NO_ACCESS 」となります。 |
7. 変換テーブル |
配布先にある変換テーブルが配布元に無い場合、その変換テーブルが削除されますが、それとともに、そのテーブルに登録された変換ルールも失われます。 |
8. 提出ルート定義 |
配布先にある提出ルート定義が配布元に無い場合、その提出ルート定義が削除されますが、それとともに、その提出ルート定義に登録されたルート詳細も失われます。 |