Tema anterior: Creación de módulos de lógica de negociosTema siguiente: Implementación de destinos dinámicos


Creación de parámetros

Los parámetros proporcionan a los usuarios de negocio una forma rápida e intuitiva de consultar y cambiar sus valores mediante la interfaz de usuario gráfica (GUI), sin tener que editar el script de la fórmula.

El uso de parámetros dentro de la lógica de negocios permite crear fórmulas generales que pueden tener un amplio uso en todo el sistema y optimiza el uso de los módulos.

Los parámetros se pueden definir en el nivel de contrato o de métrica. Los parámetros de nivel de métrica se muestran y se configuran en la ficha Declaración del objetivo de los detalles de la métrica. La lógica de negocios sólo tiene acceso a los parámetros de nivel de métrica; por lo tanto, para acceder a un parámetro de contrato desde dentro de una métrica, se crea un tipo de parámetro diferente localmente dentro de la métrica. Éste se denomina "parámetro dinámico" y toma su valor como referencia de los parámetros de nivel de contrato. Los valores de referencia permitidos en el parámetro dinámico son solamente los definidos en el contrato principal de la métrica.

Tipos de parámetros:

Para acceder a los valores de los parámetros desde el código de fórmula, es necesario de utilizar el objeto Parameters y hacer referencia al nombre del parámetro.

Ejemplo:

Parameters("Threshold")
(Tenga en cuenta que este es un método abreviado de invocar al valor. Normalmente esto se hace como Parameters.Item("Threshold"))

O, para un parámetro de tipo tabla:

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

(donde los valores de "Word" y "Price" corresponden a los nombres de fila y columna del parámetro en la tabla, respectivamente).

Los parámetros de tabla se deberán utilizar solamente confirmados una serie de puntos clave:

  1. Se ha definido una variable global (p. ej. dim miParamDeTabla)
  2. En la función OnLoad, se ha rellenado la variable del objeto Parameters (p. ej. "Set miParamDeTabla = Parameters("MiTablaDeParametros"))
  3. Así pues, utilice solamente el objeto creado, miParamDeTabla. El parámetro en sí no se deberá utilizar fuera de la función OnLoad, y sólo deberá hacer referencia al objeto de la variable global creada a partir de él.
    (p. ej. "dim miVal: miVal = miParamDeTabla ("miFila")("miColumna")).

Esto libera memoria que el parámetro toma y evita que el motor cree una asignación de parámetro en cada invocación de parámetro para cada "OnXXXEvent", que se puede invocar miles de veces por métrica.

El código siguiente ilustra el uso correcto de un parámetro de tabla:

Option Explicit

Dim sum
Dim miTablaDeParametros

Sub OnLoad(TIME)
   Set miTablaDeParametros = Parameters("MiParamDeTabla")
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

Resultado de la función
   Result = ( sum * miTablaDeParametros("secondRow")("thirdColumn")  )
End Function

Los siguientes son los métodos disponibles para cada objeto de parámetro creado dentro del código.

Parámetro

Descripción

IsExist

Si existe el parámetro. No funciona en parámetros de contrato.

IsNumeric

Si el tipo de parámetro es numérico.

IsText

Si el tipo de parámetro es texto.

IsDate

Si el tipo de parámetro es fecha.

IsTable

Si el tipo de parámetro es tabla.

IsEntryExist

Si existe una entrada en la tabla.

IsEntryNumeric

Si el tipo de entrada en la tabla es numérico.

IsEntryText

Si el tipo de entrada en la tabla es texto.

IsEntryDate

Si el tipo de entrada en la tabla es fecha.

Dump

Devuelve una lista con todos los parámetros.

Elemento

Hace referencia al valor del parámetro.