Deklarierungsanweisungen

Die Informationen auf dieser Hilfeseite gelten für CXone Studio und Desktop Studio.

Mithilfe von Deklarierungsanweisungen können Sie neue Variablen, Objekte oder Funktionen in Ihr Skript einführen. Für diese Anweisungen werden die folgenden Schlüsselwörter verwendet:

  • ASSIGN: Verwenden Sie diese Anweisung, um eine Variable oder ein String-Array zu erstellen.
  • DYNAMIC: Verwenden Sie diese Anweisung, um ein dynamisches Datenobjekt zu erstellen.
  • FUNCTION: Verwenden Sie diese Anweisung, um eine neue Funktion in Ihrem Skript zu erstellen.

Die Beschreibung der einzelnen Anweisungsarten umfasst eine Zusammenfassung der Syntax. Bei diesen Zusammenfassungen werden bestimmte Konventionen verwendet, um die einzelnen Teile der Anweisung zu kennzeichnen und um anzugeben, ob die jeweiligen Teile erforderlich oder optional sind.

ASSIGN Anweisungen

Beschreibung: ASSIGN-Anweisungen erstellen eine Variable mit dem Namen und dem Wert, die Sie angeben.

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

Studio-Aktion: Assign (Hilfeseite in CXone StudioAssign)

Details: ASSIGN-Anweisungen erstellen eine <variable> und weisen ihr einen <value> zu. Sie müssen beim Erstellen einer Variablen keinen Datentyp deklarieren, es sei denn, es handelt sich um den Typ "Datum/Uhrzeit". Variablen in Studio erhalten ihren Typ implizit. Dies bedeutet, dass Sie einen Wert in einem Schritt erstellen und zuweisen können. Beispielsweise:

ASSIGN oneName = "Odin"

Wenn der Wert, den Sie einer Variablen zuweisen, numerisch ist, muss er nicht in doppelte Anführungszeichen eingeschlossen werden. Wenn es sich beim Wert um einen String handelt, muss er in doppelte Anführungszeichen eingeschlossen werden.

Sie können ASSIGN-Anweisungen verwenden, um ein String-Array zu erstellen:

ASSIGN manyNames = "Odin|Freya|Thor"

Sie können eine Variable als Wert einer anderen Variablen zuweisen:


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

Die Variable rechts vom Gleichheitszeichen muss nicht in geschweifte Klammern und doppelte Anführungszeichen eingeschlossen werden, wenn sie bereits deklariert ist. Das Skript wertet den Begriff rechts vom Gleichheitszeichen aus. Wenn er nicht in geschweiften Klammern und doppelten Anführungszeichen eingeschlossen ist und nicht numerisch ist, geht das Skript davon aus, dass es sich um eine Variable handelt. Wenn die Variable bereits vorhanden ist, weist das Skript ihren Wert der zweiten Variablen zu. Wenn sie nicht deklariert ist, erstellt das Skript die Variable mit einem Nullwert.

Mithilfe von ASSIGN können Sie dem Mitglied eines dynamischen Objekts einen Wert zuweisen. Nachdem Sie das Objekt mit DYNAMIC deklariert haben, verwenden Sie ASSIGN, um den Mitgliedern des Objekts Werte zuzuweisen. Wenn das Mitglied noch nicht existiert, wird es erstellt, wenn Sie ihm einen Wert zuweisen. Verwenden Sie diese Syntax: ASSIGN <name>.<key> = <value>

Das Schlüsselwort ASSIGN muss beim Deklarieren einer Variablen oder nicht zwingend verwendet werden. Die Verwendung ist jedoch hilfreich. Wenn Sie ASSIGN angeben, kann die Stelle in Ihrem Skript, an der Sie die Variable oder das Array eingefügt haben, mithilfe der erweiterten Suche einfach gefunden werden. Wenn ASSIGN nicht vorhanden ist, müssen Sie nach dem Namen der Variablen oder des Arrays suchen. Die Suchergebnisse enthalten jeden Verweis auf die Variable oder das Array in Ihrem Skript. Wenn Sie ASSIGN in Ihren Suchbegriff einschließen, gibt die Suche nur die Ergebnisse zurück, bei denen die Variable explizit zugewiesen ist. Um eine Variable ohne ASSIGN zu deklarieren, verwenden Sie diese Syntax: <name> = "<value>"

Namenskonventionen: Beachten Sie beim Benennen von Variablen diese Richtlinien:

  • Verwenden Sie alphanumerische Zeichen (a-z, A-Z, 0-9).

  • Das erste Zeichen des Namens muss ein Buchstabe sein.
  • Verwenden Sie den Unterstrich ( _ ) und das Dollarzeichen ( $ ) an einer beliebigen Stelle im Namen.
  • Wenn das letzte Zeichen in einem Variablennamen ein Dollarzeichen ist, wird der Wert als Text behandelt.
  • Verwenden Sie weder die Namen von vordefinierten Variablen noch reservierte Wörter.

Erfahren Sie mehr: Weitere Informationen über Variablen finden Sie auf der Hilfeseite Variablen.

DYNAMIC-Anweisungen

Beschreibung: DYNAMIC-Anweisungen erstellen eine Variable in Form eines dynamischen Datenobjekts mit dem angegebenen Namen.

Syntax: DYNAMIC <name>

Details: Ein dynamisches Datenobjekt ist eine Variable, die mehrere Werte enthalten kann. Es ähnelt einem Array, aber es gibt einige wichtige Unterschiede.

Die Werte, die in einem dynamischen Datenobjekt enthalten sind, werden als Parameter bezeichnet. Sie werden als Schlüssel-Wert-Paare definiert, wobei jeder Parameter einen Schlüssel (Name) und einen Wert hat. Nachdem Sie das Objekt mit dem Schlüsselwort DYNAMIC deklariert haben, können Sie die Mitglieder des Objekts definieren.

Beispielsweise:

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

Bei Verweisen auf dynamische Datenobjekte und ihre Parameter ist die Groß- und Kleinschreibung zu beachten. BeowulfCharacteristics ist nicht dasselbe wie beowulfCharacteristics.

Wenn der Wert, den Sie einem Objekt zuweisen, numerisch ist, muss er nicht in doppelte Anführungszeichen eingeschlossen werden. Wenn es sich beim Wert um einen String handelt, muss er in doppelte Anführungszeichen eingeschlossen werden.

Verwenden Sie DYNAMIC zum Deklarieren von Objekten, die aus anderen Skripten oder Integrationen an Ihr Skript übergeben werden. Objekte müssen in jedem Skript deklariert werden. Andernfalls tritt beim Speichern ein Skriptvalidierungsfehler auf.

Namenskonventionen: Beachten Sie beim Benennen von dynamischen Datenobjekten die folgenden Richtlinien:

  • Verwenden Sie alphanumerische Zeichen (a-z, A-Z, 0-9).

  • Das erste Zeichen des Namens muss ein Buchstabe sein.
  • Verwenden Sie den Unterstrich ( _ ) und das Dollarzeichen ( $ ) an einer beliebigen Stelle im Namen.
  • Verwenden Sie weder die Namen von vordefinierten Variablen noch reservierte Wörter.

Erfahren Sie mehr: Weitere Informationen zu dynamischen Datenobjekten finden Sie auf den Hilfeseiten Objekte und Datenstrukturen.

DYNAMIC hat einen weiteren wichtigen Zweck: die Erstellung von Deklarierungsanweisungen für Objekte, die aus anderen Quellen an das Skript übergeben werden. Wenn Sie diese Objekte nicht deklarieren, tritt beim Speichern des Skripts ein Fehler auf. .

FUNCTION Anweisungen

Beschreibung: Erstellt eine benutzerdefinierte Funktion.

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

Syntax zum Aufrufen: <functionName><([parameter], [parameter], [...])><{<varName>.<functionName><([parameter], [parameter], [...])>}>

Details: Deklarieren Sie eine Funktion, indem Sie ihr einen <name> geben und am Ende ein Paar offener und geschlossener Klammern einfügen. Zum Beispiel FUNCTION functionName(). Fügen Sie zwischen den Klammern wahlweise [parameters] hinzu. Mithilfe von Parametern können Sie Daten und aufgerufene Argumente an die Funktion übergeben oder aus ihr abrufen.

Fügen Sie zwischen den geschweiften Klammern { RETURN <data>} nach der Deklarierungskopfzeile den Code hinzu, den das Skript ausführen soll, wenn die Funktion aufgerufen wird. Geben Sie den Code mit dem Schlüsselwort RETURN ein, gefolgt von der Variablen <data>, die die Ausgabe der Funktion enthalten soll. Die Variable nach RETURN ist nur erforderlich, wenn Daten an das aufrufende Skript zurückgegeben werden sollen.

Funktionsnamen müssen immer Klammern enthalten, auch wenn die Funktion keine Parameter hat. Beispielsweise:

FUNCTION noParams()

FUNCTION twoParams(name, accountNum)

Sie können eine Funktion an der Stelle in Ihrem Skript aufrufen, wo der enthaltene Code benötigt wird. Die Syntax, mit der Sie die Funktion aufrufen, hängt davon ab, ob die Funktion einen Wert zurückgibt.

Wenn die Funktionsdefinition <parameters> enthält, muss das Skript die entsprechenden Informationen an die Funktion übergeben. Sie müssen die Parameter in den Funktionsaufruf einschließen. Schließen Sie alle Parameter in derselben Reihenfolge ein, in der sie in der Funktionsdefinition enthalten sind. Zum Beispiel: callVar.twoParams('Beowulf', 349839)

Wenn das Ergebnis der Funktion einer Variablen zugewiesen werden soll, können Sie die Funktion als Teil einer ASSIGN-Anweisung aufrufen. Zum Beispiel ASSIGN var = otherVar.function(). In einem Fall funktioniert dies jedoch nicht, und zwar beim Aufrufen einer Mitgliedsfunktion der GetRESTproxy()-Funktion.

Fügen Sie in der Funktionsdefinition einen Kommentar nach dem Funktionsnamen hinzu, um IntelliPrompt-Hilfe für die Funktion bereitzustellen. IntelliPrompt bietet Vorschläge in Popup-Menüs an, während Sie Text in das Snippet Editor-Fenster eingeben.

Namenskonventionen: Beachten Sie beim Benennen von Funktionen die folgenden Richtlinien:

  • Verwenden Sie alphanumerische Zeichen (a-z, A-Z, 0-9).

  • Das erste Zeichen des Namens muss ein Buchstabe sein.
  • Verwenden Sie den Unterstrich ( _ ) und das Dollarzeichen ( $ ) an einer beliebigen Stelle im Namen.
  • Verwenden Sie weder reservierte Wörter noch die Namen von integrierten Funktionen.

Erfahren Sie mehr: Weitere Informationen über Funktionen finden Sie auf der Hilfeseite Funktionen.

Beispiel

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)