ワークフローイベント固有の関数
特にワークフローイベントに関連するいくつかの機能があります。
| 関数 | 説明 | 目的 | 使用方法 | スレッド | ソース |
|---|---|---|---|---|---|
| registerForEvent(eventName) | 文字列として表されたイベントをwf_executing.registered_eventsフィールドに書き込むワークフロー環境の関数です。 |
ワークフローイベントは単なる文字列です。イベントに登録されたアクティビティが実行されると、ワークフロー実行アクティビティ[wf_executing] レコードにコンマ区切りのイベント・セットが保管されます。ワークフローコンテキストでイベントがトリガされると、wf_executingテーブルは、wf_executing.registered_eventsフィールドにイベントを表す文字列を含む実行中のすべてのレコードを検索します |
すべてのワークフロー アクティビティ[wf_activity] レコードで使用できるグローバル変数ワークフローがコールのソースです。例えば、内部からスクリプトを実行するデザイナーは次のように書くことができます: workflow.registerForEvent( 'myEventName'); |
現在のスレッド、現在のミューテックス | グローバル変数ワークフロー |
| unRegisterForEvent(eventName) | wf_executing.registered_eventsフィールドに書き込まれたイベントを表す文字列値を削除するワークフロー環境の関数です。 |
ワークフローイベントは、 wf_executing.registered_events フィールドに書かれている関数です。アクティビティがイベントの登録を解除すると、Workflow Executing Activity [wf_executing] レコードに格納されているコンマで区切られた一連のイベントが検索され、見つかった場合は削除されます。 |
すべてのワークフロー アクティビティ[wf_activity] レコードで使用できるグローバル変数ワークフローがコールのソースです。例えば、内部からスクリプトを実行するデザイナーは次のように書くことができます: workflow.unRegisterForEvent( 'myEventName'); |
現在のスレッド、現在のミューテックス | グローバル変数ワークフロー |
| fireEvent(eventName) | wf_executing.registered_eventsフィールドの内容を検査し、その内容を渡されたeventNameと比較するワークフロー環境の機能です。 |
ワークフローイベントは、 wf_executing.registered_events フィールドに書かれている関数です。fireEvent(eventName)がワークフロー アクティビティによって呼び出されると、ワークフローエンジンは登録されたフィールドに文字列を含む実行中のレコードをすべてキューに入れます。 |
すべてのワークフロー アクティビティ[wf_activity] レコードで使用できるグローバル変数ワークフローがコールのソースです。例えば、内部からスクリプトを実行するデザイナーは次のように書くことができます: workflow.fireEvent( 'myEventName'); |
現在のスレッド、現在のミューテックス | グローバル変数ワークフロー |
| fireEvent(eventRecord、eventName) | 特定のワークフロー実行アクティビティ[wf_executing] レコードにイベントを送信するワークフロー環境の機能です。eventRecordはwf_executing型のGlideRecordです。 |
このイベント・コールでは、イベント・レコード(Workflow Executing Activity [wf_executing] 表)で表されるアクティビティのonMyEventイベント・ハンドラが必要です。いつ fireEvent(eventRecord、eventName) ワークフロー・アクティビティによってコールされると、ワークフロー・エンジンは特定の実行レコードをそのイベントとともにキューに入れ、そのイベントをon <eventName>ハンドラのアクティビティ定義に渡して管理します。このイベントは独自のミューテックスでキューイングされるため、このイベントが処理される前に現在のキューが完了します。 | ワークフロースクリプトインクルードには、この呼び出しが含まれています。たとえば、Run Scriptアクティビティの内部から、デザイナは次のように記述できます。var w = new Workflow(); w.fireEvent(実行中、イベント名、JSONObject); |
現在のスレッド、現在のミューテックス | ワークフロースクリプトのインクルード |
| fireEvent(eventRecordSysId、eventName) | 特定のワークフロー実行アクティビティ[wf_executing] レコードにイベントを送信するワークフロー環境の機能です。 eventRecordSysId wf_executing型のGlideRecordのsys_idです。 |
これは、 fireEvent IDを受け取り、Workflow Executing Activity [wf_executing] レコードを返す点を除いて、上記のとおりです。 | ワークフロースクリプトインクルードには、この呼び出しが含まれています。たとえば、Run Scriptアクティビティの内部から、デザイナは次のように記述できます。var w = new Workflow(); w.fireEvent(実行中、イベント名、JSONObject); |
現在のスレッド、現在のミューテックス | ワークフロースクリプトのインクルード |
| fireEvent(eventRecordSysId、eventName、optionalJSONObject) | 特定のワークフロー実行アクティビティ[wf_executing] レコードにイベントを送信するワークフロー環境の機能です。 eventRecordSysId wf_executing型のGlideRecordのsys_idです。 |
上記のfireEventと同じですが、JSONオブジェクトを3番目のパラメータとして受け入れる点が異なります。このオブジェクトは、JSONとして表現可能なデータを指定できます。また、ワークフロー アクティビティを作成するときに追加の機能を指定することもできます。 | ワークフロースクリプトインクルードには、この呼び出しが含まれています。たとえば、Run Scriptアクティビティの内部から、デザイナは次のように記述できます。var w = new Workflow(); w.fireEvent(実行中、イベント名、JSONObject); |
現在のスレッド、現在のミューテックス | ワークフロースクリプトのインクルード |
| broadcastEvent(contextId、eventName) | 状態にかかわらず、現在実行中のすべてのWorkflow Executing Activity [wf_executing] レコードに指定されたコンテキストでイベントを送信するワークフロー環境の機能です。 | これは、 fireEvent IDを受け取り、Workflow Executing Activity [wf_executing] レコードを返す点を除いて、上記のとおりです。 | ワークフロースクリプトインクルードには、この呼び出しが含まれています。例えば、内部からスクリプトを実行するデザイナーは次のように書くことができます: var w =新しいワークフロー(); w.broadcastEvent(contextId、eventName); |
現在のスレッド、現在のミューテックス | ワークフロースクリプトのインクルード |
| broadcastEvent(eventName) | 状態に関係なく、現在実行中のすべてのWorkflow Executing Activity [wf_executing] レコードに現在のコンテキストでイベントを送信するワークフロー環境の機能です。 | これは上記のbroadcastEventと混同しないでください。このイベントは、現在のWorkflow Executing Activity [wf_executing] レコードでのみ使用できます。 | これは、現在のコンテキストのグローバルワークフロー変数を介してのみ使用できます。以下は、アクティビティ定義のスクリプト内からの使用例です: workflow.broadcastEvent(eventName) |
現在のスレッド、現在のミューテックス | グローバル変数ワークフロー |