Instruções de declaração

Instruções de declaração permitem que você introduza novas variáveis, objetos ou funções ao seu script. As palavras-chave para essas instruções são:

  • ASSIGN: Use esta instrução quando precisar criar uma variável ou uma matriz de string.
  • DYNAMIC: Use esta instrução quando precisar criar um objeto de dados dinâmicos.
  • FUNCTION: Use esta instrução quando precisar criar uma nova função no seu script.

A discussão de cada tipo de instrução inclui um resumo de sintaxe. Esses resumos usam certas convenções para indicar as partes da instrução e se cada parte é obrigatória ou opcional.

Instruções ASSIGN

Descrição: instruções ASSIGN criam uma variável com o nome e o valor que você especifica.

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

Ação do Studio: Assign

Detalhes: instruções ASSIGN criam uma <variable> e atribuem um <value> a ela. Não é preciso declarar um tipo de dado quando você cria uma variável, a não ser que seja um tipo de data/hora. Variáveis no Studio são tipificadas implicitamente, o que significa que você pode criar e atribuir um valor em uma só etapa. Por exemplo:

ASSIGN oneName = "Odin"

Caso o valor que esteja atribuindo a uma variável seja numérico, não será preciso colocá-lo entre aspas duplas. Se o valor for uma string, será preciso colocá-lo entre aspas duplas.

Você pode usar instruções ASSIGN para criar uma matriz de string:

ASSIGN manyNames = "Odin|Freya|Thor"

É possível atribuir uma variável como o valor para outra variável:


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

A variável no lado direito do sinal de igual não precisa ser colocada entre chaves e aspas duplas se a variável já tiver sido declarada. O script avalia o termo no lado direito do sinal de igual. Se ele não estiver dentro de chaves e aspas duplas e não for numérico, o script assume que se trata de uma variável. Se a variável já existir, o script atribui o seu valor à segunda variável. Se ela ainda não tiver sido declarada, o script a cria com um valor nulo.

É possível atribuir um valor a um objeto dinâmico membro usando ASSIGN. Após declarar o objeto com DYNAMIC, use ASSIGN para atribuir valores aos membros do objeto. Se o membro ainda não existir, ele será criado quando você atribuir um valor a ele. Use esta sintaxe: ASSIGN <name>.<key> = <value>

Não é necessário usar a palavra-chave ASSIGN ao declarar uma variável ou . No entanto, usá-la pode ser útil. Incluir ASSIGN torna o local no script onde você inseriu a variável ou matriz fácil de localizar usando a Pesquisa avançada. Sem ASSIGN, você precisará pesquisar pelo nome da variável ou matriz. Os resultados da pesquisa mostrarão todas as referências à variável ou à matriz no seu script. Ao incluir ASSIGN no seu termo de busca, a pesquisa retorna apenas os resultados onde a variável foi explicitamente atribuída. Para declarar uma variável sem ASSIGN, use esta sintaxe: <name> = "<value>"

Diretrizes de nomeação: siga estas orientações ao nomear variáveis:

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

  • O primeiro caractere do nome deve ser uma letra.
  • Use o caractere de sublinhado ( _ ) e o sinal de cifrão ( $ ) em qualquer lugar do nome.
  • Se o último caractere em um nome de variável for um cifrão o valor será tratado como texto.
  • Não use os nomes de variáveis pré-definidas ou palavras reservadas.

Saiba mais: mais informações sobre variáveis estão disponíveis na página de ajuda Variáveis.

Instruções DYNAMIC

Descrição: instruções DYNAMIC criam uma variável de objeto de dados dinâmicos com o nome especificado.

Sintaxe: DYNAMIC <name>

Detalhes: um objeto de dados dinâmicos é uma variável que pode conter várias valores. Elas são parecidas com as matrizes, mas há algumas diferenças importantes.

Os valores contidos em objetos de dados dinâmicos são chamados parâmetros. Eles são definidos como pares de valores-chave, onde cada parâmetro tem uma chave (nome) e um valor. Após declarar o objeto com a palavra-chave DYNAMIC, é possível definir membros do objeto.

Por exemplo:

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

Letras maiúsculas e minúsculas são importantes ao fazer referência a objetos de dados dinâmicos e suas propriedades. BeowulfCharacteristics não é o mesmo que beowulfCharacteristics.

Caso o valor que esteja atribuindo a um objeto seja numérico, não será preciso colocá-lo entre aspas duplas. Se o valor for uma string, será preciso colocá-lo entre aspas duplas.

Use DYNAMIC para declarar qualquer objeto que é passado ao seu script vindo de outros scripts ou integrações. Os objetos devem ser declarados em todos os scripts, ou isso resultará em um erro de validação de script ao se salvá-lo.

Diretrizes de nomeação: ao nomear objetos de dados dinâmicos, siga estas orientações:

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

  • O primeiro caractere do nome deve ser uma letra.
  • Use o caractere de sublinhado ( _ ) e o sinal de cifrão ( $ ) em qualquer lugar do nome.
  • Não use os nomes de variáveis pré-definidas ou palavras reservadas.

Saiba mais: mais informações sobre objetos de dados dinâmicos estão disponíveis nas páginas de ajuda Objetos e Estruturas de dados.

DYNAMIC tem outro uso importante, que é criar instruções de declaração para objetos que são passados a um script vindos de outras fontes. Se não declarar estes objetos, ocorrerá um erro ao se salvar o script. .

Instruções FUNCTION 

Descrição: cria uma função personalizada.

Sintaxe a ser declarada: FUNCTION <name><([parameter], [...])> <{ ... [RETURN [data]]}>

Sintaxe a ser chamada: <functionName><([parameter], [parameter], [...])><{<varName>.<functionName><([parameter], [parameter], [...])>}>

Detalhes: ceclara uma função ao dar a ela um <name> com um conjunto de parênteses abertos e fechados ao fim. Por exemplo, FUNCTION functionName(). Adicione [parameters] opcionais entre os parênteses. Parâmetros permitem que você passe dados, chamados de argumentos, para dentro e fora da função.

Entre as chaves { RETURN <data>} após o cabeçalho da declaração, inclua o código que quer que o script execute quando a função é chamada. Encerre o código com a palavra-chave RETURN seguida pela variável <data> na qual quer armazenar a saída da função. Incluir uma variável após RETURN é necessário apenas se precisar passar dados de volta ao script chamador.

Nomes de funções devem sempre incluir os parênteses, mesmo se a função não tiver parâmetros. Por exemplo:

FUNCTION noParams()

FUNCTION twoParams(name, accountNum)

Você pode chamar uma função no seu script onde precisa usar o código que ela contém. A sintaxe que você usa para chamar a função depende se a função retorna ou não um valor.

Se a definição da função tem <parameters>, o script deve passar as informações adequadas à função. Você deve incluir os parâmetros na chamada da função. Inclua os parâmetros na mesma ordem em que aparecem na definição da função. Por exemplo, callVar.twoParams('Beowulf', 349839)

Caso queira que o resultado da função seja atribuído a uma variável, é possível chamar a função como parte de uma instrução ASSIGN. Por exemplo, ASSIGN var = otherVar.function(). No entanto, há um caso onde isso não funciona, que é quando se chama uma função membro da função GetRESTproxy().

Adicione um comentário após o nome da função na definição da função para fornecer ajuda em linha à função. A ajuda em linha oferece sugestões em menus popup à medida que você digita na janela Snippet editor.

Diretrizes de nomeação: Ao nomear funções, siga essas diretrizes:

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

  • O primeiro caractere do nome deve ser uma letra.
  • Use o caractere de sublinhado ( _ ) e o sinal de cifrão ( $ ) em qualquer lugar do nome.
  • Não use palavras reservadas ou os nomes de funções internas.

Saiba mais: mais informações sobre funções estão disponíveis na página da ajuda Funções.

Exemplo

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)