12.1 見積照会フロー作成(トリガーモード)
【仕様】
- クライアントから発行されたリクエストに対し、見積データを照会するフローを作成します。
- DBから取得した情報をHTMLテンプレートに埋め込みクライアントに返します。
- レコードが存在しなかった場合は、あらかじめ用意したHTMLファイルをクライアントに返します。
【HTTPサービスの登録】
- メニュー > プロジェクト > 設定をクリックします。
- 左ペインで「サービス」が選択されている状態で「追加」ボタンを押し、サービスを追加します。
サービスタイプ | HTTP |
サービス名 | HTTPTrigger |
【HTTPサービスの登録】
- 右ペインでサービスの詳細を設定します。
- 「エンドポイント」ボタンを押し、エンドポイントの設定を行います。
Webサーバ | %MachineName% |
別名(エイリアス)Alias | %Alias% |
【エンドポイント設定】
- エンドポイントを追加し、引数(クライアントから受け取るパラメータ)を設定します。
【ビジネスプロセスとフローの追加】
- ビジネスプロセスを追加し、名前を「HTTP」とします。
- 追加されたフロー名を「HTTPトリガーモード」に変更します。
【フロー変数】
- 下記の通り、「HTTPトリガーモード」フローのフロー変数を追加します。
【HTTPトリガーの設定】
- 「HTTPトリガーモード」フローをダブルクリックし、フローエディタを開きます。
- ツールボックスからHTTPコンポーネントをトリガーエリアに貼り付けます。
【HTTPトリガーの設定】
- 貼り付けたHTTPコンポーネントをダブルクリックし、以下のように設定します。
【レコード件数の取得】
- データマッパーを用いて見積データの件数を取得します。
- データマッパーをフローエリアにDrag&Dropし、名前を「レコード件数取得」とします。
【送り元の設定】
- データマッパーをダブルクリックし、送り元にDataBaseをDrag&Dropします。
- 送り元のプロパティ「SQL文」に以下のSQLを設定し、レコード件数を取得します。
SELECT Count(*) as Count FROM MitsumoriHeader WHERE MitsumoriNo = <?F.見積番号?> |
【送り先の設定】
- 送り先にVariableをDrag&Dropし、「F.レコード件数」を選択します。
【マッピング】
- マッパ画面で以下のようにマッピングします。
【HTMLの作成】
- データマッパーで、見積ヘッダ、見積明細からデータを抽出します。
- 抽出した値をテンプレートにマップし、クライアントに返すHTMLを作成します。
【テンプレート】
|
- データマッパーをフローエリアにDrag&Dropし、名前を「HTML作成」に変更します。
【送り元の設定】
- データマッパーをダブルクリックし、マッパ画面を表示します。
- ツールボックスからデータベースを2つ、送り元にDrag&Dropし、それぞれ見積ヘッダテーブル、見積明細テーブルを検索します。
【送り先の設定】
- ツールボックスからTemplateを送り先にDrag&Dropします。
- 下記のようにプロパティを設定します。
テンプレートファイル | Templates\RequestStatus.tpl |
送り先タイプ | Variable |
変数 | F.HTML結果 |
【マッピング】
- マッパ画面で以下のようにマッピングします。
【該当データがなかった場合の処理】
- ファイル管理コンポーネントをDragし「レコード件数取得」ステップに重ねるようにDropし、ステップ名を「該当データなし」とします。
【ファイルの読み込み】
- ファイル管理コンポーネントをダブルクリックします。
- Read Fileメソッドで、あらかじめ用意しておいた「RequestNotFound.htm」を読み込み、データが存在しなかった旨、ブラウザに返します。
ファイル名From | EnvVal (‘currentprojectdir’)&’Templates\RequestNotFound.htm’ |
データ | F.HTML結果 |
【条件の設定】
- 各ステップのプロパティ > 条件にて分岐の条件を設定します。
【プロジェクトの実行】
- ビルドを行い、Magicモニタでプロジェクトを開始します。
- サンプルHTMLからリクエストを送信し、見積データが照会できることを確認します。
- 存在しない見積番号を送信した場合は、データなしHTMLが表示されることを確認します。
- 確認が終わったら、Magicモニタでプロジェクトを停止します。
サンプルHTML:プロジェクトフォルダ\Service\HTTPTrigger\Mitsumori.html |