Declaraciones

Las declaraciones le permiten introducir nuevas variables, objetos o funciones en su script. Las palabras clave para estas declaraciones son:

  • ASSIGN: Utilice esta declaración cuando necesite crear una variable o un arreglo de cadenas.
  • DYNAMIC: Utilice esta declaración cuando necesite crear un objeto dinámico de datos.
  • FUNCTION: Utilice esta declaración para crear una nueva función en su script.

El análisis de cada tipo de declaración incluye un resumen de sintaxis. Estos resúmenes utilizan ciertas convenciones que indican las partes de la declaración y si es obligatoria u opcional cada parte.

ASSIGN Declaraciones

Descripción: las declaraciones ASSIGN crean una variable con el nombre y valor que usted especifique.

Sintaxis: ASSIGN <variable> = "<value>" | <value>

Studio Acción: Assign

Detalles: las declaraciones ASSIGN crean un <variable> y le asignan un <value>. No es necesario declarar un tipo de datos cuando cree una variable, a menos que sea un tipo de fecha/hora. Las variables en Studio se escriben implícitamente, lo que significa que puede crear y asignar un valor en un solo paso. Por ejemplo:

ASSIGN oneName = "Odin"

Si es numérico el valor que está asignando a una variable, no es necesario ponerlo entre comillas dobles. Si el valor es una cadena, debe estar entre comillas dobles.

Puede utilizar declaraciones ASSIGN para crear un arreglo de cadenas:

ASSIGN manyNames = "Odin|Freya|Thor"

Puede asignar una variable como el valor de otra variable:


ASSIGN x =  1
ASSIGN y = x 
ASSIGN var1 = z

No es necesario encerrar entre llaves y comillas dobles la variable del lado derecho del signo igual si ya está declarada la variable. El script evalúa el término del lado derecho del signo igual. Si no está entre llaves y comillas dobles y no es numérica, el script asume que es una variable. Si ya existe, el script asigna su valor a la segunda variable. Si no se declara, el script la crea con un valor nulo.

Puede asignar un valor a un miembro de objeto dinámico usando ASSIGN. Después de declarar el objeto con DYNAMIC, use ASSIGN para asignar valores a los miembros del objeto. Si aún no existe el miembro, se crea cuando le asigna un valor. Utilice esta sintaxis: ASSIGN <name>.<key> = <value>

No es necesario usar la palabra clave ASSIGN al declarar una variable o . Sin embargo, es útil usarla. Incluir ASSIGN facilita la localización con la Búsqueda Avanzada del lugar de su script donde introdujo la variable o matriz. Sin ASSIGN, debe buscar el nombre de la variable o matriz. Los resultados de la búsqueda mostrarán cada referencia a la variable o serie que exista en su script. Cuando incluye ASSIGN en su término de búsqueda, la búsqueda devuelve únicamente los resultados donde está asignada explícitamente la variable. Para declarar una variable sin ASSIGN, utilice esta sintaxis: <name> = "<value>"

Lineamientos para la nomenclatura: Siga estos lineamientos al nombrar variables:

  • Utilice caracteres alfanuméricos (a-z, A-Z, 0-9).

  • El primer carácter del nombre debe ser una letra.
  • Utilice el carácter de guión bajo ( _ ) y el signo de dólar ( $ ) en cualquier parte del nombre.
  • Si el último carácter en el nombre de una variable es un signo de dólar, elel valor se trata como texto.
  • No utilice los nombres de variables predefinidas o palabras reservadas.

Más información: Hay más información sobre variables en la página de ayuda Variables.

DYNAMIC Declaraciones

Descripción: las declaraciones DYNAMIC crean una variable de objeto dinámico de datos con el nombre especificado.

Sintaxis: DYNAMIC <name>

Detalles: Un objeto dinámico de datos es una variable que puede contener múltiples valores. Son similares a los arreglos, pero tienen algunas diferencias clave.

Los valores que contienen los objetos dinámicos de datos se denominan parámetros. Se definen como pares clave-valor, donde cada parámetro tiene una clave (nombre) y un valor. Después de declarar el objeto con la palabra clave DYNAMIC, usted puede definir los miembros del objeto.

Por ejemplo:

DYNAMIC beowulfCharacteristics
beowulfCharacteristics.name = "Beowulf"
beowulfCharacteristics.occupation= "Hero" 
beowulfCharacteristics.foe = "Grendel" 

El caso importa cuando se hace referencia a objetos dinámicos de datos y sus parámetros. BeowulfCharacteristics no es lo mismo que beowulfCharacteristics.

Si es numérico el valor que está asignando a un objeto, no es necesario ponerlo entre comillas dobles. Si el valor es una cadena, debe estar entre comillas dobles.

Utilice DYNAMIC para declarar cualquier objeto que se transfiera a su secuencia de comandos desde otras secuencias de comandos o integraciones. Deben declararse los objetos en cada script o se causará un error de validación en el script al guardarlo.

Directrices para la Nomenclatura: Al nombrar objetos dinámicos de datos, siga estas directrices:

  • Utilice caracteres alfanuméricos (a-z, A-Z, 0-9).

  • El primer carácter del nombre debe ser una letra.
  • Utilice el carácter de guión bajo ( _ ) y el signo de dólar ( $ ) en cualquier parte del nombre.
  • No utilice los nombres de variables predefinidas o palabras reservadas.

Más información: Hay más información sobre objetos dinámicos de datos en las páginas de ayuda de Objetos y Estructuras de datos.

DYNAMIC tiene otro uso importante, que es crear declaraciones para objetos que se transfieren al script desde otras fuentes. Si no declara estos objetos, se produce un error cuando se guarda el script. .

FUNCTION Declaraciones

Descripción: Crea una función personalizada.

Sintaxis para declarar: FUNCTION <name><([parameter], [...])> <{ ... [RETURN [data]]}>

Sintaxis para llamar: <functionName><([parameter], [parameter], [...])><{<varName>.<functionName><([parameter], [parameter], [...])>}>

Detalles: Declare una función dándole un <name> con un conjunto de paréntesis abiertos y cerrados al final. Por ejemplo, FUNCTION functionName(). Agregue el [parameters] opcional entre paréntesis. Los parámetros le permiten pasar datos, argumentos llamados, dentro y fuera de la función.

Entre las llaves { RETURN <data>} después del encabezado de declaración, incluya el código que desee que ejecute el script cuando se llame a la función. Finalice el código con la palabra clave RETURN seguida de la variable <data> que desee que contenga la salida de la función. Solo es necesario incluir una variable después de RETURN si necesita devolver datos al script que hace la llamada.

Los nombres de las funciones siempre deben incluir paréntesis, incluso si la función no tiene parámetros. Por ejemplo:

FUNCTION noParams()

FUNCTION twoParams(name, accountNum)

Puede llamar a una función en su script cuando necesite usar el código que ésta contiene. La sintaxis que utilice para llamar a la función depende de si la función devuelve un valor.

Si la definición de función tiene <parameters>, el script debe pasar la información adecuada a la función. Debe incluir los parámetros en la llamada a la función. Incluya todos los parámetros en el mismo orden en que aparecen en la definición de la función. Por ejemplo, callVar.twoParams('Beowulf', 349839)

Si desea que se asigne a una variable el resultado de la función, puede llamar a la función como parte de una declaración ASSIGN. Por ejemplo, ASSIGN var = otherVar.function(). Sin embargo, hay un caso en el que esto no funciona, y es llamar a una función miembro de la GetRESTproxy() función.

Agregue un comentario después del nombre de la función en la definición de ésta para ofrecer ayuda en línea para la función. La ayuda en línea ofrece sugerencias en los menús emergentes a medida que escribe en la ventana Snippet editor.

Directrices para la Nomenclatura: Al nombrar funciones, siga estas directrices:

  • Utilice caracteres alfanuméricos (a-z, A-Z, 0-9).

  • El primer carácter del nombre debe ser una letra.
  • Utilice el carácter de guión bajo ( _ ) y el signo de dólar ( $ ) en cualquier parte del nombre.
  • No utilice palabras reservadas ni nombres de funciones integradas.

Más información: Hay más información sobre funciones en la página de ayuda Funciones.

Ejemplo

FUNCTION TimerRound(Timer)
{
  IF Timer = "-1"
  {
    ASSIGN Timer = Timer
  }
  ELSE
  {
    ASSIGN PeriodLocation = Timer.indexof('.')
	IF PeriodLocation = 0
	{
	  ASSIGN Timer = Timer
	}
	ELSE
	{
	    ASSIGN DataLength = Timer.length
	    IF DataLength - PeriodLocation <= 2
	        {
	          ASSIGN Timer = Timer
            }   
	    ELSE
	     {
            ASSIGN DigitCheck = Timer.substr(PeriodLocation + 3, PeriodLocation + 3)
            IF DigitCheck >=5 && DigitCheck <= 9
               {
                  ASSIGN Timer = Timer + .01
               }
            ELSE
              {
                 ASSIGN Timer = Timer
              }
		
            ASSIGN Timer = Timer.substr(1, PeriodLocation + 2)
         }
      }
   }
  
   TRACE "{Timer}"
   RETURN Timer
}

IF TEST = 1
   {
      ASSIGN DC1 = "1.931876668494874"
   }   

   ASSIGN DC1 = TimerRound(DC1)