はじめに
i-Reporterのマスター選択クラスターでは、Gateway連携を設定することでレコードの取得先をカスタムマスターではなく、外部データを基に入力を行うことができます。
また、入力には「単一選択モード」と「複数選択モード」の2種類があり、カスタムマスターを利用したGateway連携のみ活用したことがあったため、単一選択モードと複数選択モードはどのような場面で有効に使えるか利用シーンを想定して調べてみました。
マスター選択クラスターのGateway連携とは?
マスター選択クラスターでGatewayを活用する場合、レコードの取得先を「カスタムマスター」または「Gateway連携」のどちらかを選択することで、取得先のデータやレコードの選択方法が異なります。
また、「単一選択モード」と「複数選択モード」でもレコードの選択方法が異なるため、こちらについても整理してみます。
【レコードの取得先】
≪カスタムマスター≫
プログラムで条件に一致するレコードをカスタムマスターから取得し、自動で項目に入力する
※ユーザーはカスタムマスターからレコードを選択する操作をしない
≪Gateway連携≫
データベースから取得したデータをマスターとしてi-Reporterアプリの画面上に表示し、
表示された中からユーザーが入力するレコードを選択する
【Gateway連携】
≪単一選択モード≫
i-Reporterアプリに表示されたレコードの中から、レコードを1つ選択して入力する
≪複数選択モード≫
i-Reporterアプリに表示されたレコードの中から、入力したいレコードを複数選択して一括入力する
事前準備
【i-Reporter帳票】
「単一選択モード」と「複数選択モード」それぞれの入力が可能な帳票定義を用意します。

【マスターデータ】
今回はカスタムマスターで登録したデータをi-ReporterDBからマスターデータとして取得します。

jsonファイルの作成
マスター選択クラスターのGateway連携を行う場合はPythonを使用せず、jsonファイルとsqlファイルのみで実装します。
【jsonファイル】

①:対象データベースへの接続情報が記載されたjsonファイル名を記載
②:固定値「file」
③:マスターデータを取得するsqlファイルを記載
④:マスターデータの設定情報を記載
※③で取得するカラムの型、個数と一致させる必要がある
⑤:取得したマスターデータが0件の場合に表示する設定情報を記載
※「value」の値は設定しなくてもよい
sqlファイルの作成
sqlファイルには、マスターデータを取得するSQLを記載します。
【sqlファイル】

①:マスター選択クラスターで表示させたいカラムを記載
②:マスターデータを取得するテーブル名を記載
③:マスターデータを取得する条件を記載
マスター選択クラスター(親)の設定
jsonファイルやsqlファイルの作成が完了後、ConMasDesignerで帳票定義のマスター選択クラスター(親)の設定をします。
また、子クラスターの設定は通常のカスタムマスターの設定と同様に行います。

①:「Gateway連携」を選択
②:作成したjsonファイルのパスをファイル名まで記載
③:「入力フィールド設定」を押下し、マスターデータから自動入力する項目名を選択
④:「単一選択モード」の場合は「-1」、
「複数選択モード」の場合は複数入力を行うクラスターと同じグループIDを設定
単一選択モードの入力検証
【検証手順】
①i-Reporterアプリで単一選択モードの設定を行ったマスター選択クラスターをクリックする

②表示されるマスターから入力するレコードを選択し、OKボタンを押下する
※複数レコードをクリックしても選択できない

③選択したレコードが表示される

【検証結果】
カスタムマスターと類似した画面からレコードを選択できるため、これまでカスタムマスターを利用したことがある方であれば、特に迷うことなく操作できると思います。
ただし、カスタムマスターとは異なり各項目の上部に検索フィールドが存在しないため、条件に応じたレコードの抽出は、マスターデータを取得する段階で行う必要があります。
複数選択モードの入力検証
【検証手順】
①i-Reporterアプリで複数選択モードの設定を行ったマスター選択クラスターをクリックする

②表示されるマスターから入力するレコードを複数選択し、OKボタンを押下する

③選択したレコードが上から順に表示される

【検証結果】
複数レコードを一括で入力できるため、同じマスターデータを使用する項目に対しては、入力作業の効率化につなげることができます。
ただし、単一選択モードと同様に検索フィールドが存在しない点と、レコードをダブルクリックしても自動で入力されない点は、カスタムマスターと仕様が異なるため注意して利用する必要があります。
まとめ
マスター選択クラスターのGateway連携はデータベースをそのままマスターデータとして利用できるため、他システムのデータベースにアクセス可能な環境であれば、そのデータを活用でき、便利な機能であることがわかりました。
ただし、検索フィールドが存在しないため、データ取得時の条件設定が不十分である場合は画面に表示されるレコード数が多くなる懸念があります。
また、取得するマスターデータ量によってはパフォーマンスに影響が出る可能性もあるため、活用する機会を選ぶ必要があります。