オブジェクト関数を使用した再使用可能動作の定義
オブジェクト関数は、特定のオブジェクト固有のビジネス・ロジックをカプセル化するコードに役立ちます。 同じオブジェクトに関連する他のスクリプト・コードから、オブジェクト関数を名前で呼び出すことができます。
また、ユーザー・インタフェースでボタンまたはリンクを使用して起動できます。 サポートされている戻り型およびオプションのパラメータ型は、グローバル関数(前述)と同じです。
たとえば、Contact
カスタム・オブジェクトに対して次のupdateOpenTroubleTicketCount()
オブジェクト関数を定義できます。 まず、前述のlogStart()
グローバル関数をコールして、診断メッセージを標準形式でログに記録し、カスタムGroovyスクリプトのブロックの開始を通知します。 これは、newView()
組込み関数(「ビジネス・オブジェクトへのプログラム・アクセスのためのビュー・オブジェクトへのアクセス」を参照)をコールして、トラブル・チケットのプログラマ・ティック・アクセスのためにビュー・オブジェクトにアクセスし、現在のコンタクトのIDに関連するトラブル・チケットを検索し、現在のステータスとして作業中または待機中のいずれかを持つビュー基準を追加します。 最後に、getEstimatedRowCount()
をコールして、フィルタ基準に適格な問題チケットの数を取得します。 最後に、新しい数がOpenTroubleTickets_cフィールドの既存の値と異なる場合は、このフィールド値が新しい計算数になるように更新されます。
-
関数名:
updateOpenTroubleTicketCount
-
戻りタイプ:
void
-
パラメータ: なし
関数定義
adf.util.logStart('updateOpenTroubleTicketCount')
// Access the view object for TroubleTicket programmatic access
def tickets = newView('TroubleTicket_c')
tickets.appendViewCriteria("""
Contact_Id_c = ${Id} and Status_c in ('Working','Waiting')
"""
// Update OpenTroubleTickets field value
def newCount = tickets.getEstimatedRowCount()
if (OpenTroubleTickets_c != newCount) {
OpenTroubleTickets_c = newCount
}