スクリプトによる自動化の作成
Groovyスクリプトは、アプリケーション・コンポーザの式ビルダーを使用して記述します。
サーバー・スクリプト
サーバー・スクリプト・ノードでは、Groovyスクリプトおよびwebサービス・コールを使用して、ビジネス・プロセスに適合するアクションを自動化できます。 このノード内で、検証、トリガーまたはオブジェクト関数を作成できます。
検証
- 検証を使用して条件を定義します。 条件が満たされない場合は、ユーザーを正しい処理に導くエラー・メッセージを作成してください。
- 検証は、オブジェクト・ルールまたはフィールド・ルールのいずれかです。
- オブジェクト・ルールは、ユーザーが「保存」をクリックすると起動されます。 次に、条件をチェックして、エラー・メッセージが表示されるかどうかを確認します。
- フィールド・ルールは、選択したフィールドの値が変更されたときに起動されます。 次に、条件をチェックして、エラー・メッセージが表示されるかどうかを確認します。
トリガー
トリガーは、標準オブジェクトまたは構成済オブジェクトのデフォルト処理ロジックを補完するために記述できるスクリプトです。 アプリケーション・コンポーザのサーバー・スクリプト・ノードからトリガーを作成します。
定義済の条件に基づいて変更オーダーをトリガーします。
トリガーには、次の2つのタイプがあります:
- オブジェクト・トリガー
- フィールド・トリガー
オブジェクト・トリガー
オブジェクト・トリガーは、「保存」または「保存してクローズ」をクリックすると起動されます。 変更オーダーでサポートされているオブジェクト・トリガーは、「変更がデータベースに転記された後」のみです。
このイメージはオブジェクト・トリガーを示しています
フィールド・トリガー
フィールド・トリガーは、選択したフィールドの値が変更されたときに起動されます。
例
事由コードがエラーに設定されている場合に、変更オーダーの優先度を緊急に自動的に設定するとします。 次のGroovyスクリプトを実行するトリガーを作成します:
Copyif (ReasonCode == "ERROR"){ setAttribute("PriorityCode", 'URGENT') }
ノート: 理由コードと優先度コードの内部名がコードで使用されます。 ReasonCodeおよびPriorityCodeに関連付けられた値は、各値の参照コードです。 これらの値は、設定およびメンテナンス・タスクの変更事由の管理および変更優先度の管理設定タスクにあります。
ノート:
- トリガーおよびグローバル関数によってヘッダー属性を変更するためのパラレル更新は避けてください。 たとえば、オブジェクト・レベルまたはフィールド・レベルのトリガーが、webサービス・コール(エントリの終了基準の一部としてグローバル関数を介して起動)がこれらの属性を更新しようとしたときに、ヘッダー属性の更新を試行した場合、Webサービス・コールによってオブジェクト・バージョンがバンプされてしまうため、トリガーによる変更は保存されない場合があります。
- トリガーに関するこのトピックの内容は、これらのオブジェクトにも適用されます: 品質問題、行動、アイデア、コンセプト、要件、提案。
オブジェクト関数
オブジェクト関数は、アクションとリンクの項で説明したように、アクションで使用されます。
ノート: これらの項で説明する変更オーダー・アクションおよびアプリケーション・コンポーザ・トリガーのみがサポートされています。