グローバル機能を使用した変更オーダー入力および終了基準の定義
アプリケーション・コンポーザの式ビルダーを使用してGroovyスクリプトを記述する場合は、グローバル関数を使用できます。
グローバル機能を使用して、変更オーダーの入力基準と終了基準を定義できます。 次に、次のようなベスト・プラクティス、推奨事項および例を示します:
- グローバル関数の属性を操作するためのベスト・プラクティス。
- 入力基準と終了基準を使用して承認者を移入する方法。
- 品目ルールでグローバル関数を使用する方法を示す例。
グローバル関数の属性の使用に関するベスト・プラクティス
グローバル関数の属性を使用する際のベスト・プラクティスは、次のものに適用されます:
- 属性の検証中
- 変更タブおよび変更対象品目タブにコンテンツがあるかどうかの検証(コンテンツあり)
ノート: 入力条件は承認ステータスおよびオープン・ステータスにのみ適用できますが、入力条件および終了条件は暫定承認ステータスに適用されます。 したがって、ユースケースを検証する際に、オープン承認ステータスまたは暫定承認ステータスを使用します。
属性の検証に適用されるベスト・プラクティスを次に示します:
- 検証が成功し、タイムアウトしないようにします。 一度に10個の属性の増分で検証をテストします。 検証に10秒以上かかる場合、タイムアウトします。
-
「制限」パラメータを使用して、RESTコールに対してフェッチされるフィールドの数を制限します。
構文:
?limit=<number>
このパラメータに値を指定しない場合、制限パラメータの値は25に設定されます。 制限値を手動で指定すると、その数のレコードがフェッチされます。 少数のレコードしかない場合は、「制限」パラメータに基づいてメモリーが割り当てられるため、「制限」パラメータに上限値を指定しないでください。
- 拡張可能フレックスフィールドの変更、品目工程属性および品目拡張可能フレックスフィールドの属性値を確認します。
- 値の検証中に属性の数を10に制限します。
- 構成済オブジェクトを使用して、事前に検証を実行します。 構成されたオブジェクトには結果が格納され、グローバル関数を使用して結果にアクセスします。 このグローバル関数は、エントリおよび終了基準の一部として呼び出されます。
- すべての添付を反復するのではなく、問合せパラメータを使用してデータをフィルタ処理します。 たとえば、影響を受ける品目に特定の添付カテゴリ「添付カテゴリ=保護添付」があるかどうかを確認しようとする場合、問合せURLを次のように作成できます:
/productChangeOrdersV2/<changeId>/child/changeOrderAffectedObject/<itemUniqId>/child/changeOrderAffectedItemAttachment?q=CategoryCode="Secured Attachment".
- 変更のタブとその影響を受ける品目にコンテンツがあるかどうかの検証(コンテンツあり)。
- 「コンテンツがある」ユースケースで作業する場合は、配列サイズを確認します。 配列サイズがゼロより大きい場合は、結果セットを反復しないでください。 たとえば、AMLがある影響を受ける品目の配列サイズを確認できます。
入力基準および終了基準を使用した承認者の追加
Groovyスクリプトで入力基準および終了基準を定義して、ワークフローに承認者を追加できます。 たとえば、特定の変更ヘッダー属性に基づいて承認者を追加するとします。 拡張可能フレックスフィールド属性「チーム」を「パッケージング」に設定し、Packaging_Role属性を承認者として暫定承認または承認ステータスに追加します。
承認者を追加するための入力基準と終了基準を定義する方法を次に示します:
- 変更オーダー拡張可能フレックスフィールド属性としてチームを評価し、承認者として追加するロールを返す構成済オブジェクトを作成します。
- スケジュール済プロセス(スケジュール済カスタムGroovyオブジェクト関数)でスクリプトを実行して、結果を構成済属性に移入します。
- グローバル機能を起動して承認者に移入する、暫定承認1から暫定承認2または暫定承認から承認までの入力または終了基準を構成します。