前のトピック: ビジネス ロジック モジュールへのリンク次のトピック: ビジネス ロジック関数


ビジネス ロジック手順

既知の VBScript 構文に加えて、ビジネス ロジック計算式は以下の特別なプロシージャを含むことができます。

OnLoad(Time)

計算の開始時に 1 回コールされます。 グローバル変数の初期化に使用できます。

OnPeriodEnd(Time, IsCompleteRecord)

期間が終了するごとにコールされまます。 IsCompleteRecord は、トラッキング期間の終了時には True、中間の計算を作成しているときは False です。

OnPeriodStart(Time)

新しい期間の開始ごとにコールされます。

OnRegistration(Dispatcher)

ユーザ定義のプロシージャをイベントに関連付けるための必須プロシージャです。 OnRegistration は、計算エンジンによって、メトリックの計算の開始時に 1 回コールされます。

イベントは以下のようなディスパッチャ オブジェクトのメソッドを使用して、プロシージャと関連付けられます。

例 1

Sub OnRegistration(dispatcher)
   Dim MyResource
   MyResource = Context.ClusterItem
   Dispatcher.RegisterByResource "OnEvent", "My Event Type", MyResource
End Sub

Sub New
   Dim ThisResourceMap
   Set GlobalResourceVector= CreateObject("SlalomVector.Vector")
   Dim resource
   Set ThisResourceMap = Context.ResourcesOfResourceGroup(Context.ClusterItem)
   For Each resource In ThisResourceMap
      GlobalResourceVector.Add resource
   Next
End Sub

例 2

Sub OnRegistration(dispatcher)
      Dispatcher.RegisterByResource “OnEvent”, ”my event type”, “my resource”
      Dim a
      For a = 1 to 1000000: next
End Sub

このコードは、計算のインフラストラクチャ処理段階で負の影響を及ぼします。

代わりに、以下を使用できます。

Sub OnRegistration(dispatcher)
      Dispatcher.RegisterByResource “OnEvent”, ”my event type”, “my resource”
      If (dispatcher.IsRuntimeMode) then
            Dim a
            For a = 1 to 1000000: next
      End If
End Sub

注: "ProcedureName"="MethodName" および "EventType=EventTypeName"

OnTimeSlotEnter(Time)

タイムスロットの開始時にコールされます。

OnTimeSlotExit(Time)

タイムスロットの終了時にコールされます。