オブジェクト・ワークフローとGroovyスクリプトの連携方法
オブジェクト・ワークフローを使用してGroovyスクリプトをトリガーできます。 オブジェクト・ワークフローを構成する場合は、トリガー時にワークフローが実行する必要があるアクションも指定します。
構成する処理の1つは、Groovyスクリプト処理です。 Groovyスクリプト・アクションを含むオブジェクト・ワークフローを使用して、長時間実行またはパフォーマンス集中型のGroovyスクリプトを実行します。
開始する前に、オブジェクト・ワークフローを読むことができます: オブジェクト・ワークフローとは何か、トリガー条件の設定方法、およびオブジェクト・ワークフローでサポートされるイベント処理を理解するための説明とその関連トピック。
概要
オブジェクト・ワークフローのGroovyスクリプト・アクションを使用すると、以前に定義した外部Groovyオブジェクト関数をコールできます。 たとえば、Groovyアクションをトリガーして、オブジェクト間更新を実行したり、大規模なオブジェクト階層の後処理を実行したり、Webサービスを非同期的にコールできます。
簡単な例として、商談をクローズするときに、その商談に関連するすべてのアクティビティもクローズするとします。
商談に関連アクティビティが多数含まれている場合は、トリガーを使用すると遅延が発生する可能性があるため、かわりに、商談のステータスが失注に更新されたときにトリガーするオブジェクト・ワークフローを定義します。 オブジェクト・ワークフローは、商談に関連するアクティビティを問い合せ、そのステータスを「取消済」に設定するGroovyオブジェクト関数をコールします。
通常、Groovyスクリプト・アクションで使用される実際の処理ロジックは、ここで説明する単純な例よりもはるかに複雑です。
オブジェクト・ワークフローでGroovyスクリプト・アクションを構成するには、オブジェクト関数を定義し、実行時に起動するとオブジェクト関数を実行するオブジェクト・ワークフローを作成します。 オブジェクト・ワークフローで様々なイベント処理を構成する方法の例は、オブジェクト・ワークフローの構成および営業リードを作成するための承認リクエストをトリガーするためのオブジェクト・ワークフローの構成を参照してください。
オブジェクト・ワークフローでのGroovyスクリプト・アクションの構成
Groovyスクリプト・アクションを構成するには:
-
「アプリケーション・コンポーザ」にナビゲートします。
-
概要ページで、「オブジェクト・ワークフロー」をクリックします。
-
「処理」メニューから「作成」をクリックします。
「オブジェクトの作成ワークフロー」ページが開きます。
-
ワークフローの名前を指定します。
-
「イベント・ポイントおよび条件」リージョンでトリガー条件を指定します。
-
「処理」リージョンで、Groovyスクリプトの「作成」をクリックします。
作成アクション: 「Groovyスクリプト」ページが開きます。 このページを使用して、コールするGroovyオブジェクト関数を指定します。
この図は作成処理を示しています: Groovyスクリプトpage.
-
Groovyスクリプト・アクションにわかりやすい名前を指定します。
-
「実行スケジュール」を指定します。
-
ドロップダウン・リストから「メソッド名」を選択します。 このリストには、アクションに表示されるすべてのGroovyオブジェクト関数が表示されます。 「メソッド名」フィールドの横にあるプラス記号をクリックして、「オブジェクト関数」の作成ページを表示し、新しい関数を定義することもできます。 オブジェクト・ワークフローで使用するためのオブジェクト関数の定義を参照してください。
スクリプトは、「スクリプト」フィールドに読取り専用形式で表示されます。
ノート:Groovyスクリプト・アクションによって、ESS/PLSQLを介して実装された長時間実行プロセスがトリガーされた場合、ターゲット・オブジェクトですでに作成されたGroovyトリガーはコールされません。 これは、ESS/PLSQLがADFおよびモデル・レイヤーをバイパスして、データベース・レベルで直接動作するためです。
-
「保存」をクリックします。
オブジェクト・ワークフローで使用するオブジェクト関数の定義
オブジェクト・ワークフローの作成時に「アクションの作成 - Groovyスクリプト」ページの「メソッド」リストから選択するオブジェクト関数を以前に定義していない場合は、そのページから直接定義できます。 Groovyスクリプト・アクションで使用するオブジェクト関数を定義するには:
-
「アクションの作成 - Groovyスクリプト」ページで、「メソッド名」フィールドの横にあるプラス記号をクリックします。
「Create Object関数」ページが表示されます。
-
ファンクションの名前を入力します。
-
「結果」フィールドでvoidを選択します。
-
「表示」フィールドで「外部システムによるコール可能」を選択します。
-
入力パラメータを指定しないでください。
-
「スクリプトの編集」フィールドにスクリプトを入力します。
-
「検証」ボタンをクリックしてスクリプトを検証し、エラーを修正します。
-
「保存してクローズ」をクリックします。
オブジェクト・ワークフローでGroovyスクリプト・アクションによってオブジェクト関数を呼び出す準備ができました。 オブジェクト・ワークフローのGroovyスクリプト・アクションを構成するときに、「メソッド」リストからこれを選択できます。