バックグラウンド ワークフローのステージとステップを構成する
ワークフローを設計する際には、実行するロジックをステージやステップに含めるオプションがあります。
ステージは、ワークフローのロジックが読みやすくなり、説明を加えることができます。 ただし、ワークフローのロジックや動作が影響を受けることはありません。 プロセスにステージが存在する場合、プロセス内のすべてのステップをステージに含める必要があります。
ステップは、ワークフロー内のビジネス ロジックの単位です。 ステップには、条件、アクション、他のステップ、またはこれらの要素の組み合わせを含めることができます。
バックグラウンド ワークフロー プロセスで実行できるアクション
バックグラウンドのワークフロー プロセスでは次の表で示すアクションを実行できます。
操作 | 内容 |
---|---|
行の作成 | テーブルの新しい行を作成し、列に対して選択した値を割り当てます。 |
行を更新します | バックグラウンド ワークフローが関わっている行、N:1 の関連付けでその行にリンクされているいずれかの行、またはこれまでの手順によって作成された任意の行を更新できます。 |
行の割り当て | バックグラウンド ワークフローが関わっている行、N:1 の関連付けでその行にリンクされているいずれかの行、またはこれまでの手順によって作成された任意の行を割り当てできます。 |
メールを送信する | メールを送信します。 新しいメール メッセージを作成するか、バックグラウンド ワークフローが実行されている行のテーブル、そのテーブルとN:1の関係にあるテーブル、または以前のステップで作成された行のテーブルに対して構成されたメール テンプレートを使用するかを選択できます。 |
子ワークフローの開始 | 子ワークフローとして構成されているバックグラウンド ワークフロー プロセスを開始します。 |
状態の変更 | プロセスが実行されている行、N:1 の関連付けの行にリンクされている行、または前のステップで作成された任意の行のステータスを変更できます。 |
ワークフローの停止 | 現在のワークフローを停止します。 成功または取り消し済みのいずれかの状態を設定し、ステータス メッセージを指定できます。 |
カスタム ステップ | 開発者はアクションを定義するバックグラウンド カスタム ワークフロー ステップを作成できます。 既定では、使用できるカスタム ステップはありません。 |
行の値を設定する
行を作成すると、行に値を設定することができます。 行を更新する際は、値を設定、追加、増加、減少、乗算、クリアすることができます。
プロパティの設定を選択すると、行の既定のフォームを示すダイアログ ボックスが開きます。
ダイアログ ボックスの下部には、フォームに表示されない追加の列の一覧が表示されます。
どの列についても、静的な値を設定することができ、それはワークフローによって設定されます。
ダイアログ ボックスの右側のフォーム アシスタントでは、現在の行のコンテキストから動的な値を設定または追加できます。 これには、テーブルに対する N:1 (多対一) の関連付けからアクセスできる関連する行の値が含まれます。
フォーム アシスタントで使用できるオプションは、フォームで選択した列によって決まります。 動的値を設定すると、"置換フィールド" と呼ばれる黄色いプレースホルダーが表示され、動的データが含まれる場所が示されます。 この値を削除する場合は、印刷専用を選択して削除します。 テキスト列に対しては、静的データと動的データを組み合わせて使用できます。
動的な値では、列や関連するテーブルが設定したい値を持っているかどうかを確実に把握することができません。 実際にいくつかの列に値を設定して、緑の矢印を使って順番に並べ替えることができます。 最初の列にデータが含まれていない場合は、2番目の列が試されます。 列にデータがない場合は、使用する既定値を指定できます。
バックグラウンド ワークフロー アクションの設定条件
適用するアクションは条件によって異なります。 バックグラウンド ワークフロー プロセスは条件を設定ためにいくつかの方法を使用し、必要な結果を取得するための分岐ロジックを作成します。 バックグラウンド ワークフロー プロセスが実行されている行の値、その行に N:1 の関係でリンクされている行の値、またはプロセス自体の値をチェックできます。
条件タイプ | Description |
---|---|
条件の確認 | 論理的な "if <condition> then" ステートメント。 バックグラウンド ワークフローが実行されている行、その行に N:1 の関係でリンクされている行、または以前のステップで作成された行の現在の値を確認することができます。 これらの値に基づいて、条件が "True" の場合に追加のステップを定義できます。 "if <condition> then" ステートメントでは、次の演算子を使用できます: 次の値と等しい、次の値と等しくない、次のデータを含む、次のデータ含まない、に属する、に属さない。 注:に属するとに属さないは、階層演算子です。 階層関係が定義されているテーブルでのみ使用できます。 階層関係が定義されていないテーブルに対して、これらの演算子を使用した場合、次のエラー メッセージが表示されます : 「階層関係が定義されていないテーブルで階層演算子を使用しています。 テーブルを階層化する (関連付けを階層化する) か、別の演算子を使用してください」 階層の関係の詳細については、階層に関連するデータの定義とクエリを参照してください。 表の後に続くスクリーンショットは、に属するとに属さないの階層演算子を使用するバックグラウンド ワークフロー プロセスの定義の例です。 |
条件分岐 | 理論的な "else-if-then" 構文。 エディターはテキスト “Otherwise, if <condition> then:” を使用します 以前に定義したチェック条件を選択し、チェック条件が false を返すときに追加のステップを定義する条件分岐を追加できます。 |
既定の操作 | 論理的な "else" ステートメント。 エディターはテキスト “Otherwise:” を使用します。 以前定義した条件、条件分岐、待機状態、または並列待機分岐を選択します。条件要素や分岐要素で定義した基準に適合しないすべてのケースに対して、既定のアクションを使用してステップを定義できます。 |
待機状態 | 条件によって定義された基準が満たされるまでバックグラウンド ワークフローが一時停止するようにします。 バックグラウンド ワークフローは、待機条件で定義されている基準が満たされると自動的に再開します。 |
並列待機分岐 | 初期基準が満たされた場合にのみ実行される、対応する一連の追加ステップを使用して、バックグラウンド ワークフローの代替待機条件を定義します。 並列待機分岐を使用して、バックグラウンド ワークフロー ロジックに時間制限を作成できます。 待機条件で定義されている基準が満たされるまでバックグラウンド ワークフローが無期限に待機することを防ぐのに役立ちます。 |
カスタム ステップ | 開発者は条件を定義するバックグラウンド カスタム ワークフロー ステップを作成できます。 既定では、使用できるカスタム ステップはありません。 |
次のスクリーンショットには、に属するとに属さないの演算子を使用するバックグラウンド ワークフロー プロセスの定義の例が含まれています。 この例では、2 つの異なる値引きを 2 つのグループの取引先企業に適用します。 ステップの追加では、条件の確認を選択して、に属するまたはに属さないの演算子を含む if-then 条件を指定しました。 最初の if-then 条件がアルペン スキー ハウスの取引先企業に属するすべての取引先企業に適用されます。 これらの取引先企業は、購入した商品やサービスで 10 % の値引きを受けられます。 2 番目の if-then の条件がアルペン スキー ハウスの取引先企業に属さないすべての取引先企業に適用され、5% の値引きを受けることができます。 その後、行の更新を選択して、条件に基づいて実行されるアクションを定義します。
次の手順
プロセスを通じてカスタム ビジネス ロジックを作成する
ワークフロー プロセスの概要
バックグラウンド ワークフロー プロセスの監視と管理
バックグラウンド ワークフロー プロセスのベスト プラクティス