Declaratieverklaringen

De informatie op deze helppagina is zowel van toepassing op CXone Studio als op Desktop Studio.

Met declaratieverklaringen kunt u nieuwe variabelen, objecten of functies in uw script invoeren. De trefwoorden voor deze verklaringen zijn:

  • ASSIGN: gebruik deze verklaring wanneer u een variabele of stringmatrix moet maken.
  • DYNAMIC: gebruik deze verklaring wanneer u een dynamisch gegevensobject moet maken.
  • FUNCTION: Gebruik deze verklaring om een nieuwe functie in uw script te maken.

De discussie van elk type verklaring bevat een syntaxoverzicht. Deze overzichten gebruiken bepaalde conventies om de delen van de verklaring aan te geven en te bepalen of elk deel vereist of optioneel is.

ASSIGN Verklaringen

Beschrijving:: ASSIGN met verklaringen wordt een variabele gemaakt met de naam en waarde die u opgeeft.

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

Studio Actie: Assign (helppagina in CXone StudioAssign)

Details: ASSIGN -verklaringen maken een <variable> en wijzen een <value> eraan toe. U hoeft geen gegevenstype te declareren wanneer u een variabele maakt, tenzij het om een datum/tijd-type gaat. Variabelen in Studio zijn impliciet getypt, wat betekent dat u in één stap een waarde kunt maken en toewijzen. Bijvoorbeeld:

ASSIGN oneName = "Odin"

Als de waarde die u toewijst aan variabele numeriek is, hoeft u deze niet tussen dubbele aanhalingstekens te plaatsen. Als de waarde een string is, moet deze tussen dubbele aanhalingstekens staan.

U kunt ASSIGN-verklaringen gebruiken om een stringmatrix te maken:

ASSIGN manyNames = "Odin|Freya|Thor"

U kunt één variabele toewijzen als de waarde voor een andere variabele:


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

De variabele rechts van het gelijkheidsteken, moet niet tussen accolades en dubbele aanhalingstekens staan als de variabele al is gedeclareerd. Het script evalueert de term rechts van het gelijkheidsteken. Als het niet tussen accolades en dubbele aanhalingstekens staat en niet numeriek is, veronderstelt het script dat het een variabele is. Als het al bestaat, wijst het script de waarde ervan toe aan de tweede variabele. Als het niet is gedeclareerd, maakt het script het met een nulwaarde.

U kunt een waarde toewijzen aan een dynamisch objectlid met ASSIGN. Nadat u het object hebt gedeclareerd met DYNAMIC, gebruikt uASSIGN om waarden toe te wijzen aan de leden van het object. Als het lid nog niet bestaat, wordt het aangemaakt wanneer u er een waarde aan toewijst. Gebruik deze syntax: ASSIGN <name>.<key> = <value>

Het gebruik van het trefwoord ASSIGN is niet nodig wanneer u een -variabele of declareert. Het is echter wel handig om te gebruiken. Door ASSIGN op te nemen in het script kan de plaats waar u de -variabele of -matrix introduceert, eenvoudig worden gelokaliseerd met Uitgebreid zoeken. Zonder ASSIGN moet u de naam van de -variabele of -matrix opzoeken. De zoekresultaten bevatten iedere referentie naar de -variabele of matrix in uw script. Wanneer u ASSIGN opneemt in uw zoekterm, retourneert de zoekactie alleen de resultaten waar de variabele expliciet is toegewezen. Als u een variabele declareert zonder ASSIGN, gebruikt u deze syntax: <name> = "<value>"

Naamgevingsrichtlijnen : volg deze richtlijnen wanneer u variabelen een naam geeft:

Meer informatie Meer informatie over variabelen is beschikbaar op de helppagina Variabelen.

DYNAMIC Verklaringen

Beschrijving: DYNAMIC verklaringen maken een variabele van een dynamische gegevensobject met de opgegeven naam.

Syntax: DYNAMIC <name>

Details: een dynamische gegevensobject is een variabele die meerdere waarden kan bevatten. Ze lijken op arrays, maar hebben een aantal belangrijke verschillen.

De waarden die dynamisch gegevensobjecten bevatten, worden parameters genoemd. Ze zijn gedefinieerd als sleutelwaardeparen waar elke parameter een sleutel (naam) en een waarde heeft. Nadat u het object hebt gedeclareerd het DYNAMIC-trefwoord, kunt u objectleden definiëren.

Bijvoorbeeld:

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

Hoofdletters en kleine letters zijn van belang bij het verwijzen naar dynamische gegevensobjecten en hun parameters. BeowulfCharacteristics is niet hetzelfde als beowulfCharacteristics.

Als de waarde die u toewijst aan een object numeriek is, hoeft u deze niet tussen dubbele aanhalingstekens te plaatsen. Als de waarde een string is, moet deze tussen dubbele aanhalingstekens staan.

Gebruik DYNAMIC om objecten te declareren die in uw script zijn doorgegeven van andere scripts of integraties. Objecten moeten in elk script worden gedeclareerd of dit veroorzaakt een scriptvalidatiefout wanneer u opslaat.

Naamgevingsrichtlijnen: als u dynamische gegevensobjecten een naam geeft, volgt u deze richtlijnen:

  • Gebruik alfanumerieke tekens (a-z, A-Z, 0-9).

  • Het eerste teken in de naam moet een letter zijn.
  • Gebruik het onderstrepingsteken (_) en het dollarteken ($) overal in de naam.
  • Gebruik geen namen van vooraf gedefinieerde variabelen of gereserveerde woorden.

Meer informatie: meer informatie over dynamische gegevensobjecten zijn beschikbaar op de helppagina's Objecten en Gegevensstructuren.

DYNAMIC heeft een ander belangrijk gebruik dat bedoeld is voor het maken van declaratieverklaringen voor objecten die in het script zijn doorgegeven van andere bronnen. Als u deze objecten niet declareert, veroorzaakt dit een fout wanneer het script is opgeslagen. .

FUNCTION Verklaringen

Beschrijving: maakt een aangepaste functie.

Syntax te declareren: FUNCTION <name><([parameter], [...])> <{ ... [RETURN [data]]}>

Aan te roepen syntaxis: <functionName><([parameter], [parameter], [...])><{<varName>.<functionName><([parameter], [parameter], [...])>}>

Details: declareer een functie door deze een <name> te geven met een set van open en gesloten haakjes aan het einde. Bijvoorbeeld, FUNCTION functionName(). Voeg optioneel [parameters] toe tussen de haakjes. Via Parameters kunt u gegevens, aangeroepen argumenten doorgeven in en uit de functie.

Neem tussen de accolades { RETURN <data>} na de declaratiekoptekst, de code op die u wilt laten uitvoeren door het script wanneer de functie wordt aangeroepen. Voer de code in met het RETURN-trefwoord, gevolgd door de variabele <data> die de uitvoer van de functie moet behouden. Het opnemen van een variabele na RETURN alleen is vereist wanneer u de gegevens moet doorgeven naar het aanroepscript.

Functienamen moeten altijd de haakjes bevatten, zelfs als de functie geen parameters heeft. Bijvoorbeeld:

FUNCTION noParams()

FUNCTION twoParams(name, accountNum)

U kunt een functie oproepen in uw script waar u de code die deze bevat, moet gebruiken. De syntax die u gebruikt voor het aanroepen van de functie is afhankelijk van het feit of de functie een waarde retourneert.

Als de functiedefinitie <parameters> heeft, moet het script de geschikte informatie doorgeven in de functie. U moet de parameters opnemen in de functieaanroep. Neem alle parameters op in dezelfde volgorde waarin ze verschijnen in de functiedefinitie. Bijvoorbeeld: callVar.twoParams('Beowulf', 349839)

Als u wilt dat het resultaat van de functie wordt toegewezen aan een variabele, kunt u de functie oproepen als onderdeel van een ASSIGN-verklaring. Bijvoorbeeld, ASSIGN var = otherVar.function(). Er is echter één geval waar dit niet werkt en dat is bij het aanroepen van een ledenfunctie van de GetRESTproxy() -functie.

Voeg een opmerking toe na de functienaam in de functiedefinitie om online help te bieden voor de functie. Inline help biedt suggesties in pop-upmenu's terwijl u typt in het Snippet editor-venster.

Naamgevingsrichtlijnen: als u functies een naam geeft, volgt u deze richtlijnen:

  • Gebruik alfanumerieke tekens (a-z, A-Z, 0-9).

  • Het eerste teken in de naam moet een letter zijn.
  • Gebruik het onderstrepingsteken (_) en het dollarteken ($) overal in de naam.
  • Gebruik geen gereserveerde woorden of de namen van ingebouwde functies.

Meer informatie: meer informatie over functies is beschikbaar op de helppagina Functies.

Voorbeeld

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)