200-02 基幹システム連携| 活用編
このサーバーサイド処理はサーバーサイド処理の活用シナリオにある「外部システムのマスタに差分をリアルタイムでアップデート」の具体的な作成方法を解説したものです。
「発注先マスタ」テーブルに発注先のデータ登録を行う際に、外部システムのデータベース内にある「顧客マスタ」テーブルにもデータの登録を行います。
また、「顧客マスタ」テーブルのデータ登録時、外部システム側で採番された顧客IDの値を「発注先マスタ」テーブルにも登録を行います。
これにより、二つのテーブルのデータの紐づけが出来るようにします。
プロジェクトファイル | S200-02_data-synchronization_b.fgcp S200-02_data-synchronization_a.fgcp(実装済みプロジェクトファイル) |
本演習のサンプルでは、基幹システムを想定した「顧客マスタ」を外部データベースではなくForguncyの内部データベースで実装しています。
サーバーサイドコマンドの作成
リボンの「作成」メニューから「サーバーサイドコマンド」を選択し、「サーバーサイドコマンドマネージャー」を開きます。
「全般」タブの名前欄に「顧客マスタ新規登録」と入力します。

パラメーターの設定
パラメータータブを開き、2つのパラメーターを作成します。
「新しいパラメーター」ボタンを押下し、下記のように設定します。
- パラメーターの名前に「発注先ID」と入力
種類を「基本型」に設定 - パラメーターの名前に「顧客名」と入力
種類を「基本型」に設定

処理コマンドの設定
コマンドタブを開き、「トランザクション」コマンドを追加します。
そのトランザクションの子コマンドに「テーブルデータの更新」コマンドを追加します。
発注先マスタにデータを登録するため、以下のように設定します。
- 「処理の種類」を「追加」に設定
- 「対象テーブル」を「発注マスタ」に設定
- 対象フィールドに「発注先ID」を選択
値にコマンドパラメーターの「発注先ID」を設定 - 対象フィールドに「顧客名」を選択
値にコマンドパラメーターの「顧客名」を設定

同様に、トランザクションの子コマンドに「テーブルデータの更新」コマンドを追加します。
外部DB_顧客マスタにデータを登録するため、以下のように設定します。
- 「処理の種類」を「追加」に設定
- 「対象テーブル」を「外部DB_顧客マスタ」に設定
- 対象フィールドに「顧客名」を選択
値にコマンドパラメーターの「顧客名」を設定

顧客マスタのデータ登録時に採番される顧客IDを保持する変数を作成します。
この変数は、発注先マスタの顧客IDの値を顧客マスタの値と同じ値にするために使用します。
「変数の設定」コマンドを追加し、以下の通りに設定します。
- 「変数名」を「顧客ID」に設定
- 「変数値」で「値、または数式」を選択
「=NewRow.顧客ID」と入力

変数とは
変数には、テーブルの更新を行った際に新規に追加または更新されたレコードが格納されます。デフォルトの名称は「NewRow」で、この名称は任意で変更が可能です。 「= NewRow.(フィールド名)」のような式を用いることで、その変数に格納されているレコードからフィールドを指定し、値を参照することが出来ます。 上図の例では、変数値の入力の欄で「=NewRow.顧客ID」と指定をしており、変数に格納されているレコードにおける顧客IDの値が参照可能になります。
発注先マスタの顧客IDの値を変数「顧客ID」の値で更新する処理を追加します。
「テーブルデータの更新」コマンドを追加し、以下の通りに設定します。
- 「処理の種類」を「更新」に設定
- 「対象テーブル」を「発注先マスタ」に設定
- 「フィールド」に「顧客ID」を選択
値に変数の設定で作成した「顧客ID」を設定 - 「対象条件」の「新しい条件」をクリックして追加
「フィールド」に「発注先ID」、条件に「=(等しい)」、「値」にコマンドパラメーターの「発注先ID」を設定

サーバーサイドコマンドの呼び出し処理の作成
作成したサーバーサイドコマンドを実装するため、「発注マスタ登録」ページを開きます。
ページには新規登録ボタンが配置してあります。
新規登録ボタンの「コマンド」を開き、「ポップアップウィンドウの終了」の上に新しいコマンドを作成します。
コマンドの「サーバーサイドコマンドの呼び出し」を追加し、以下のように設定します。
- 「サーバーサイドコマンド」に「顧客マスタ新規登録」を設定
- パラメーター名「発注先ID」の値に「=F4」を設定
- パラメーター名「顧客名」の値に「=F6」を設定

結果確認用のページの確認
「発注マスタ照会」ページを開きます。
ページ上部には新規登録画面を開くための「発注先登録」ボタンが配置してあります。
その横には「ページの再読み込み」のハイパーリンクが配置してあります。
データ更新の結果を確認する際にはこのハイパーリンクを押下します。
その下には「発注先マスタ」テーブルと「外部DB_顧客マスタ」テーブルがデータ連結されている2つのリストビューが配置されています。

結果を確認
プロジェクトをデバッグ実行し動作を確認します。
「発注先登録」ボタンを押下しポップアップ画面からデータの新規登録を行います。
「ページの再読み込み」を押下し、画面上の二つのリストビューを確認します。
登録したデータが発注先マスタ、顧客マスタ両方のリストビューに追加されています。
また、双方のテーブルで追加されたレコードの顧客IDの値が一致していることも確認できます。

