(上級編)モデル間の連携

最終更新日: 2022年4月14日

モデル間連携とは

注意

このページは「必須項目以外の設定方法」です。
インポートの基本的な手順についてはインポートの基本操作で詳しく解説していますので、まずはそちらからご覧ください。

サンプルファイルを例に説明します。こちらからファイルをダウンロードしてください。 ダウンロード

Excelのシートを分けることで一度に複数のモデルをインポートできますが、
同じモデル項目名が複数シートに存在する場合、それらは同じ情報として紐づけされます。

sample3.xlsxでは1枚目のシート「顧客」モデルの「会社名称」は2枚目のシート「会社」にも存在し、
また、「業種」も3枚目の シート「業種」モデルに存在しています。

このように同じモデル項目の名前が複数シートにわたり存在する場合、その項目同士は参照関係にあるとみなされます。
例えば、「顧客」モデルの「会社名称」には、「会社」モデルの「会社名称」項目に登録されたデータしか登録できません。
このような項目同士の関係を”参照関係”と呼びます。

sample3.xlsxの参照関係

連携は次のルールで行われます。

  • 複数シート間で「項目名(日本語)が同じ列」が連携します。
  • 同じ項目名が存在するとき、左のシートから数えて最初の項目が2番目の項目を参照します。

ファイルのインポート

注意

このページは「モデル定義とデータの一括登録(詳細編)」です。
インポートの基本的な手順についてはモデル定義とデータの一括登録(入門編)で詳しく解説していますので、まずはそちらからご覧ください。

  1. インポートの前に、ユーザ定義のモデルがある場合はそれらをすべて消去します。
    ユーザの定義モデルを初期化しておく
  2. 「ファイル選択」ボタンを押して、sample3.xlsxを選択します。データの取り込み時にわかりやすいよう、
    「パラメータ」欄に「datafolder=customer」を入力します。
    ファイルを指定する
  3. インポートが完了すると、モデル一覧表示画面に移ります。Excelに定義した3つのモデルが追加されています。
    インポート結果
  4. モデルの内容を確認します。
    顧客モデルを確認すると、「会社名称」と「業種」の型設定が「他モデルの項目参照」となっているのがわかります。
    顧客モデル
  5. 「他モデルの項目参照」の右にあるボタンを押して「会社名称」項目の詳細を確認します。
    詳細ボタン
    参照先モデルは「会社」となっています。
    データ登録時は「会社」モデルのデータから選択するので、入力タイプは「リストボックス」になります。
    モデル項目の詳細確認
    同様に、「業種」項目も確認すると参照先モデルが「業種」となっており、入力タイプが「リストボックス」になっています。

ビルドと実行

  1. フルビルドを行い、アプリケーションを起動します。
    システム管理者でログオンします。
    ログオン画面
  2. 元のExcelファイルの「データ」を移行します。「管理処理」タブの「インポートとエクスポート」を実行します。
  3. インポートフォルダ名に data_customer を選択します。3つのモデルのデータをインポートします。
    data_customerをインポートする
  4. メニューから「サービス」タブを選択します。取り込まれたモデルの検索画面へ遷移するためのメニューボタンが用意されています。
    顧客、会社、業種モデルの検索画面へ遷移するメニュー
  5. 会社モデルの内容を確認した画面を図11に示します。
    会社モデル
  6. 業種モデルの内容を確認した画面を図12に示します。
    業種モデル
  7. 顧客モデルの内容を確認した画面を図13に示します。

    顧客モデル
  8. 顧客モデルの検索項目「会社名称」「業種」はそれぞれ選択肢になっています。

    顧客検索画面(1)
    顧客検索画面(2)
  9. 顧客モデルの詳細画面を開いた例を示します。
    「会社名称」「業種」はモデル参照のため、参照元のトレースを示すリンクが用意されています。[参照元トレースリンクとは...]

    参照元トレースリンク
  10. 顧客モデルの更新画面を開いた例を示します。「会社名称」「業種」はモデル参照のため、選択肢になっています。

    顧客更新画面

指定できるパラメータ

パラメータ欄に次のオプションを指定することができます。

パラメータ説明利用できるバージョン
field 入力テキストフィールドの長さ。固定になる。このパラメータが指定されたとき、min_fieldは無視される。 field=10 R9.1.0
min_field 入力テキストフィールドの最低の長さ。セル内に含まれている文字数がこの最低長よりも長い場合は、セル内に含まれている文字数が利用される。未指定時は30(文字)となっている。fieldパラメータが指定されたときは、この値は無視される。 min_field=10 R9.1.0
relation このページに記載した、モデル間の連携を行う機能を無効にする。その場合は文字列型になる。 relation=false R9.2.1
R9.0.x までは入力フィールド長は常に(同一列中にある)セル内に含まれている最大文字長になる。例えば列に値 AA,BBBB,CC がそれぞれ設定されていたとき、入力フィールド長は 4 になる。また最大でも40文字となっている。