130‐01 値の監視| 基本編
スケジュールタスクの活用方法としてデータベースの特定の値を一定間隔で監視し、監視した値が条件に一致する場合のみ処理を実行させることができます。
ここでは、商品の在庫数を監視して在庫数が特定の値を下回った時に実行する処理を作成します。
本プロジェクトには、スケジュールタスクによって在庫数を一定間隔で削減する処理が実装されています。
プロジェクトファイル | B130_monitoring-values_b.fgcp B130_monitoring-values_a.fgcp(実装済みプロジェクトファイル) |
監視処理の作成
ナビゲーションウィンドウのサーバーサイドコマンドから「01_データ監視」を開き編集します。

トリガータブを開き、毎時0.02時間おきに実行されるトリガーを作成します。

コマンドタブを開き、データベースのテーブルを参照する次の2つのパラメーターを作成します。
変数名 | 値 | クエリー条件 | 説明 |
在庫数 | 在庫テーブルの[在庫数]フィールド | [商品]フィールドが「商品A」 | 在庫数の値を格納するパラメーター |
通知フラグ | 在庫テーブルの[通知フラグ]フィールド | [商品]フィールドが「商品A」 | 処理を実行(通知)したことを示すフラグ ※ 条件に一致した1回目ののみ処理を実行するためのフラグ |


「在庫数が100以下」かつ「通知フラグが0」を条件として、この条件を満たす時にのみ処理を実行するようにするため、条件分岐コマンドを追加し次の条件を設定します。
パラメーター | 条件 | 値 |
在庫数 | <(より小さい) | 100 |
通知フラグ | =(等しい) | 0 |

条件に一致した場合の処理を追加します。ここでは条件に一致した場合に通知が行われたと仮定し通知フラグの書き換えのみを行います。
テーブルデータの更新コマンドを追加し通知フラグを1に更新します。

結果確認用ページの確認
「01_データ監視」ページを開きます。
ページには「在庫」テーブルをデータ連結したリストビューが配置してあります。また、スケジュール実行による結果を確認するためページをリロードするボタンも配置してあります。

結果を確認
プロジェクトをデバッグ実行し動作を確認します。
スケジュールタスクは0.02時間(約1.2分)間隔で実行されます。
ページを更新し在庫数が100より小さい値に変更されたときに通知フラグが1に変わることを確認できます。