Argomento precedente: Creazione dei moduli di business logicArgomento successivo: Implementazioni delle destinazioni dinamiche


Creazione dei parametri

I parametri offrono agli utenti di business un modo rapido e intuitivo con cui visualizzare e modificare i propri valori tramite l'interfaccia utente grafica (GUI) senza dover modificare lo script della formula.

L'utilizzo di parametri all'interno della business logic consente la creazione di formule generali che possono avere un ampio uso nel sistema e permette di ottimizzare l'utilizzo dei moduli.

I parametri possono essere definiti a livello di contratto o a livello di metrica. I parametri della metrica vengono visualizzati e configurati nella scheda Dichiarazione dell'obiettivo della pagina Dettagli metrica. La business logic dispone ha accesso solo ai parametri della metrica; pertanto, per accedere a un parametro contrattuale dall'interno di una metrica, viene creato un altro tipo di parametro localmente all'interno della metrica. Viene chiamato parametro dinamico e ottiene il valore come riferimento dai parametri contrattuali. I valori di riferimento consentiti nel parametro dinamico sono solo quelli definiti nel contratto padre della metrica.

Tipi di parametri:

Per accedere ai valori del parametro dal codice della formula, è necessario utilizzare l'oggetto Parameters e fare riferimento al nome di parametro.

Esempio:

Parameters("Threshold")
(Nota: è un metodo rapido per invocare un valore; normalmente, questa operazione viene eseguita come Parameters.Item("Threshold")).

Oppure, per un parametro di tipo tabella:

Parameters("Table")("Word")("Price")

(in cui "Word" e "Price" valori sono rispettivamente i nomi di riga e di colonna del parametro di tabella).

I parametri di tabella devono essere utilizzati solo in casi particolari:

  1. Definire una variabile globale (ad esempio, dim myTableParam)
  2. Nella funzione OnLoad, compilare la variabile dall'oggetto parametri (ad esempio, "Set myTableParam = Parameters("myParametersTable")).
  3. In seguito utilizzare solo l'oggetto creato, myTableParam. Il parametro se stesso non deve essere utilizzato al di fuori della funzione OnLoad e deve fare riferimento solo all'oggetto di variabile globale creato da esso.
    (ad esempio, "dim myVal: myVal = myTableParam ("myRow")("myColumn")).

Questa operazione consente di liberare la memoria che il parametro richiede e impedisce al motore di creare la mappa del parametro all'invocazione di ogni parametro e per ogni OnXXXEvent, che può essere invocato migliaia di volte per metrica.

Il codice riportato di seguito illustra l'utilizzo corretto di un parametro di tabella:

Option Explicit

Dim sum
Dim myParamTable

Sub OnLoad(TIME)
   Set myParamTable = Parameters("MyTableParam")
End Sub

Sub OnRegistration(dispatcher)
  dispatcher.RegisterByResource" OnEvent", "EventType", "ResourceType"
End Sub

Sub OnPeriodStart(TIME)
   sum = 0
End Sub

Sub OnEvent(eventDetails)
   If Context.IsWithinTimeslot Then
      sum = sum + 1 * myParTimeSlotamTable("firstRow")("secondColumn")
   End If
End Sub

Function Result
   Result = ( sum * myParamTable("secondRow")("thirdColumn")  )
End Function

I seguenti metodi sono disponibili per ogni oggetto di parametro creato nel codice.

Parameter

Description

IsExist

È un parametro esistente. Produce un errore per i parametri del contratto.

IsNumeric

È un parametro di tipo numerico.

IsText

È un parametro di tipo testo.

IsDate

È un parametro di tipo data.

IsTable

È un parametro di tipo tabella.

IsEntryExist

È una voce esistente nella tabella.

IsEntryNumeric

È una voce nella tabella di tipo numerico.

IsEntryText

È una voce nella tabella di tipo testo.

IsEntryDate

È una voce nella tabella di tipo data.

Dump

Restituisce un elenco di tutti i parametri.

Item

Fa riferimento al valore del parametro.