Variables definidas por el usuario

Las variables definidas por el usuario son variables que se definen cuando se escribe una política.

Las palabras reservadas de JavaScript o los objetos de JavaScript y nombres de clase predefinidos no se deben utilizar como nombres de variable en una política de JavaScript.

Puede utilizar cualquier combinación de letras y números como nombres de variable, pero el primer carácter debe comenzar con una letra:

No es necesario que inicialice las variables utilizadas para almacenar valores individuales como, por ejemplo, series o enteros. Para las variables de contexto, se llama a la función NewObject, que devuelve un contexto nuevo. Para las variables de contenedor de sucesos, se llama a NewEvent. No es necesario que inicialice las variables de miembro en contextos y en contenedores de sucesos.

El ejemplo siguiente muestra cómo se crea y se hace referencia a las variables definidas por el usuario:

MyInteger = 1;
MyFloat = 123.4;
MyBoolean = True;
MyString = "Hello, World!";
					
MyContext = NewObject();
MyContext.Member = "1";
					
MyEvent = NewEvent("OMNIbusEventReader");
MyEvent.Summary = "Event Summary";
					
Log(MyInteger + ", " + MyEvent.Summary);
					

En el ejemplo de esta sección creará un conjunto de variables y les asignará valores. Luego utilizará la función Log de dos formas diferentes para escribir el valor de las variables en el registro de políticas.

La primera forma de utilizar Log es escribir cada valor como llamada separada a la función. La segunda forma es escribir todas las variables del contexto de política al mismo tiempo, mediante la función CurrentContext. La función CurrentContext devuelve una serie de caracteres que contiene los nombres y valores de todas las variables definidas actualmente en la política.

VarOne = "One";
VarTwo = 2;
VarThree = 3.0;
VarFour = VarOne + ", " + VarTwo + ", " + VarThree;
					
Log(VarOne);
Log(VarTwo);
Log(VarThree);
Log(VarFour);
					
Log(CurrentContext());

Cuando se ejecuta esta política, escribe el mensaje siguiente en el registro de políticas:

One
2
3.0
One, 2, 3.0
"Preparado con parámetros proporcionados por el usuario: "=(
ActionType=1 (Byte),
VarTwo=2 (Long),
ReportsPolicyName=TestVar (String),
EventContainer=(EventReaderName=DefaultEventReader) (EventContainer),
VarFour=One, 2, 3.0 (String),
PolicyName=TestVar (String),
ActionNodeName=TestVar (String),
VarOne=One (String),
VarThree=3.0 (Double))

En este ejemplo, TestVar es el nombre de la política. No es necesario declarar variables antes de asignar sus valores tal como se hace en lenguajes como C/C++ y Java. Las matrices y variables escalares tales como enteros o series de caracteres se crean automáticamente la primera vez que les asigna un valor. En cambio, los contextos y contenedores de sucesos se deben crear explícitamente utilizando las funciones NewObject y NewEvent, tal como se describe más adelante en esta guía.

Variables vacías

Se considera un buen procedimiento el comprobar que una variable tiene un valor en lugar de asumir que tiene establecido un valor válido. Hay varios momentos durante la ejecución de las políticas cuando una variable puede no estar definida o tener asignado un valor nulo. Para ver si una variable está vacía en las políticas de IPL, añada una comprobación NULL para las variables. En JavaScript, compruebe la condición null y undefined.

A continuación se muestran ejemplos de una buena programación preventiva:

//javascript
if (typeof myVar === 'undefined' || myVar === null) {
  myVar = "";
}

//IPL
if (myVar == NULL) {
 myVar = "";
}