Technical Capabilities Tech Blog

検証#実装方法#機能紹介:WorkWithPlus(トランザクション通知)

2024年05月17日

こんにちは、植田です。
今回はWorkWithPlusの「トランザクション通知」機能についてのご紹介と機能検証となります。

トランザクション通知とは

システムを利用していると
「あるデータが登録された際にはアラートが必要」
「在庫が切れる前に通知が欲しい」
等、データの更新のタイミングでリアルタイムに通知されると定期的にチェックする手間が省け効率よく運用ができる場面が多々あると思います。

トランザクション通知はこのような要件に対応するべく実装された機能となります。
(以前検証したNotificationの機能を自動生成化したものに近いイメージです。)

動作イメージ等は下記サイトで閲覧可能です。
WorkWithPlusヘルプ:トランザクション通知

事前準備

トランザクション通知機能を有効にする場合は、デザインシステムウィザードで「通知/サブスクリプションモジュールを含める」にチェックを入れる必要があります。
※注意点:GAMセキュリティの有効化が前提のようです。

Transactionオブジェクト(WorkWithPlusパターン)での定義

今回は以下の場面を想定し、注文伝票トランザクションを作成後に通知の機能の有効化をしていきます。

  • お客様からの注文情報を登録
  • 100以上の数量が入力された場合、通知を行う
  • 新商品が登録された場合も同様に通知を行う

通知のトリガーの定義をするために、以下のようなトランザクションを作成しておきます。

注文トランザクション

商品トランザクション

次に、WorkWithPlusパターンを開きます。今回はそのままリスト(規定)を選びました。

Transactionノードを右クリックし、「追加→Notification」を選択します。

Notificationのプロパティは以下の様に設定しました。

  • Type – Custom
  • Modes – (InsertとUpdateをTrueに指定)
  • ExtraCondition – OdrTtlQty >= 100
  • Icon – fas fa-circle-info NortificationFontIconSuccess
  • Title – (メールや通知のタイトルになる部分)
  • Short Description – Format(‘%1さんが100を超える数量を登録しました。’,WWP_GetUserFullName.udp(WWP_GetLoggedUserId.udp()))
  • Long Description – Format(‘%1さんが100を超える数量を登録しました。’,WWP_GetUserFullName.udp(WWP_GetLoggedUserId.udp()))
  • Link – <VIEW_DETAIL_LINK>

トランザクション通知機能の適用

トランザクション通知の適用は「WorkWithPlusメニュー → for Web → メタデータに反映」を実行します。ここではトランザクション通知として定義したパターン情報をDBに適用する処理が自動で実行されます。

動作確認

ビルドが成功したら注文一覧画面を開きます。
アクションボタンの右端にサブスクリプションアイコンが表示されるようになります。
こちらを展開すると先ほど定義した通知の情報が表示されますのでこれにチェックを入れます。(チェックした情報は記憶されます。)

次に、この画面を開いたまま別のユーザでログイン(今回は別ブラウザで開きました)し、数量が100を超える注文を登録します。

登録後、Chromeの場合以下の様に通知が届きます。

また、画面右上のベルアイコンを開くと通知の一覧を参照することができます。
既読にすることで未読の数字を減らすことができます。

別の画面で定義された通知もこのような形で閲覧できています。

まとめ

WorkWithPlusのトランザクション通知について簡単な動作確認をしてみました。
GAMセキュリティと連動しているため、このほかにもSMS通知が出来たりメール送信も自動生成だけでできてしまうのは脅威ですね。

実際に生成されたソース情報を見るとWebPanel上での動作(手動部分が多くなりますが)にも対応していそうですので次回はこの辺りも検証してみたいと思います。

最後までご覧いただきありがとうございました!

Tech Blog一覧