遅延オーダ出荷時の警告 - ワークフローイベントハンドラ

モバイルユーザが特定の顧客に対して遅延オーダ出荷時の警告に登録していると、オーダの出荷が遅延した場合、このイベントハンドラが出荷通知をそのユーザに送信します。

イベントハンドラが有効になると、警告を E-mail で通知するためのスケジューリングを制御する、この警告用の新しいイベントトリガーが作成されます。オーダ出荷の警告通知は、デフォルトではハンドラが有効になった後、さらには、その後 24 時間ごとに送信されます( [イベントトリガ] フォームでは、フォーム上で条件、条件再テスト間隔、およびトリガー再設定間隔の値をリセットすることで、イベントのスケジュールに関連付けられたデフォルト値を変更することができます)。

イベントハンドラが有効になり、OrderShippingAlert イベントトリガが作成されると、通知を送信する必要のある出荷のリストが TrackRows テーブルを使用して(遅延オーダ出荷警告へのサブスクライバがあるかどうかに基づいて)維持され、遅延オーダが出荷されるたびにこのリストが更新されます。

イベントハンドラは、毎日指定した時間にストアドプロシージャ LateOrderShippingAlertsSp を実行します。次のタスクが実行されます。

  • これは、顧客番号に基づいて、遅延オーダ出荷警告がないか発行サブスクライバをチェックします。発行サブスクライバー は、 [発行サブスクライバ] フォームの中で、[発行名] = 'OrderShippingAlert' および [キー値] = 顧客番号を指定すると検索できます。
  • 発行サブスクライバーが存在する場合、ストアドプロシージャが [ユーザ] フォームで定義されたアドレスを使用してそのサブスクライバの E-mail アドレスを取得します。
  • ストアドプロシージャは、それぞれの発行サブスクライバに対して、前回そのストアドプロシージャが実行された後に作成された顧客向けに遅延オーダ出荷レコードがないかを検索します。E-mail のメッセージの本文になる変数にこのレコードが挿入されます。
  • ストアドプロシージャは次の値を出力します。
    • 変数に保存されているサブスクライバーのリスト。
    • 遅延オーダ出荷警告の E-mail のメッセージ本文。

    E-mail のメッセージ本文には、E-mail ごとにオーダとその明細/品目が 1 つだけ含まれる必要があります。メッセージ本文の容量は、約 4,000 文字(およそ 40 行)です。作成されたメッセージ本文が 4,000 文字を超えると、その E-mail に収まらなかった明細/品目の残りを含む E-mail が別に作成されます。

オーダ出荷の E-mail 通知が正常に送信されると、ストアドプロシージャ DeleteCoShipTrackRowsSp が TrackRows テーブルをクリアします。

関連イベントとストアドプロシージャ

イベント LateOrderShippingAlert には次の 3 つのアクションがあります。

  • 実行区分: データベース呼出メソッド - LateOrderShippingAlertsSp を呼び出し、2 つの変数(1 つはサブスクライバのリスト用、もう 1 つはメッセージ本文用)を返します。
  • 実行区分: E-mail 送信 - E-mail を作成し、LateOrderShippingAlertsSp から渡された変数を使用してサブスクライバのリストにそれを送信します。
  • 実行区分: データベース呼出メソッド - DeleteCoShipTrackRowsSp を呼び出します。このメソッドは、前のアクションで生成された E-mail が正常に送信された場合のみ呼び出されます。

イベントトリガ

  • 条件: TRUE
  • 条件再テスト間隔: 86400
  • トリガー再設定間隔: 86400
  • スケジュール: ハンドラが有効になると、最初に実行します。その後、24 時間ごとにトリガが実行されます。