カスタムコードのスニペット

スクリプトによっては、Studioアクションのみでは提供できない複雑な操作が必要とされます。Studioを使用すると、スクリプトにカスタムコードを追加できます。これにより、組織のニーズに合わせてスニペットをカスタマイズすることができます。

カスタムコードの作成にはスクリプトやプログラミングの知識が必要です。Studioは、Snippetというプログラミング言語を使用します。この言語はStudioで使用するためにNICE CXoneによって開発されたものです。この言語の使い方を学べるよう、オンラインヘルプに完全なテクニカルリファレンスガイドが用意されています。

スニペットに関する重要ポイント

  • コードスニペットは、スクリプトの構成と効率を向上させるのに役立ちます。いつ、どのように実行するか、および実行されるプロセスをさらに効果的にコントロールできるようになります。独自の変数やオブジェクトを作成し、IFFORFOREACHなどのステートメントを使用してプログラミングロジックを追加できます。
  • 製品や機能によってはスニペットを必要としますが、必要ない場合でもスクリプトで使用することができます。
  • 製品や機能でコードスニペットが必要な場合、含める必要があるスニペットに関する詳細情報はオンラインヘルプに提供されています。スクリプトでのコードスニペットの使い方を示すため、スクリプトの例も含まれています。製品や機能を実装するには、追加のスクリプトが必要になる場合があります。
  • Snippetスクリプト言語は.NETフレームワークに基づいて構築されています。この言語はサーバー側で実行され、C#やVisual Basic .NETと同様にMSIL(Microsoft Intermediate Language)にコンパイルされます。

スニペットアクション

スクリプトにカスタムコードを追加するには、Snippetアクションが必要です。このアクションをダブルクリックするとエディターウィンドウが開き、カスタムコードを追加できます。エディターウィンドウではコードをデバッグすることもできます。場合によってはスクリプトに複数のSnippetアクションを含める必要があります。複数のアクションを使用する場合、各アクションのCaptionフィールドをその目的がわかるようなフレーズで更新してください。

Snippetアクションの配置は重要です。Snippetが変数に値を代入する場合、その値を必要とするアクションの前にこれを配置しなければなりません。一方、Snippetに、受け取った値に基づいて行われる意思決定コードが含まれる場合、Snippetはその値を提供するアクションの後に配置しなければなりません。

スニペットとアクションの比較

スニペットで行えることのいくつかは、Studioアクションを使って行うことも可能です。たとえば、IFおよびFORステートメント用のアクションがあります。また、カスタム変数を作成して値を代入するために使用できるASSIGNアクションもあります。これらのアクションを使ってスクリプトにその機能を追加することも可能です。しかし、スニペットを使用する方がより効率的です。

スニペットにコードを配置することで、スクリプトが整理されてわかりやすくなります。これにより、スクリプトの作成作業がより簡単で効率的なものになります。常にスニペットで変数を宣言する習慣をつけることで、今後特定の宣言を探す必要が生じたときに、検索する場所を少なくすることができます。

スクリプトにカスタムコードを追加する

Snippetアクションを使用すると、スクリプトにカスタムコードを追加できます。このアクションは、ツールタブのデフォルトパレットにあるアドバンスセクションにあります。

  1. Studioで、スクリプトを開きます。
  2. Snippetアクションをスクリプト内の必要な場所に配置し、他のアクションに接続します。
  3. アクションをダブルクリックして、エディターウィンドウを開きます。ここでコードを追加できます。
  4. コードの追加に使用するタブをクリックします。各タブにコードを追加するさまざまな方法が提供されています。以下のタブがあります。

  5. 必要に応じてコードをデバッグします。

  6. Applyをクリックすると、エディターウィンドウを閉じずにいつでも変更内容を保存することができます。
  7. コードの編集が終了したら、OKをクリックします。

テキストビューを使ったコーディング

スニペットウィンドウのテキストビュータブを使用して、Snippetコードを手作業で作成できます。この言語の使い方を学べるよう、オンラインヘルプに完全なリファレンスガイドが用意されています。

  1. Studioで、スクリプトを開きます。
  2. スクリプトにSnippetアクションを追加してダブルクリックし、スニペットウィンドウを開きます。
  3. ツリービュータブの左側にコードを入力します。コードは手動で入力するか、このヘルプサイトや別のスクリプトなど他のソースからコピーして貼り付けることができます。
  4. Tree Viewタブをクリックすると、あらかじめ定義されたキーワードからコードをいつでも追加できます。上矢印ボタンと下矢印ボタンを使って、キーワードに関連するコードをスクリプト内の別の箇所に移動させることができます。
  5. 現在のコードの構文が正しいかどうかを確認するには、Check Syntaxアイコン構文チェックアイコン(3つの小さな緑色の丸に右向きの三角形)。をクリックします。エラーがなければ、テキストビュータブの下部にあるツールバーのステータスフィールドに Okayステータスが表示されます。エラーがある場合、エラーに関するポップアップメッセージが開き、ツールバーのステータスフィールドにもメッセージが表示されます。たとえば、「Error at line 4」などと表示されます。
  6. 現在カーソルのある行をコメントに変換するには、Commentアイコンコメントアイコン(山かっこで囲まれた青いスラッシュ)。をクリックします。
  7. 現在カーソルのある行からコメント文字を削除するには、Uncommentアイコンコメント解除アイコン(山かっこで囲まれた青いスラッシュに、大きな赤いスラッシュが重なったアイコン)をクリックします。
  8. Applyをクリックすると、エディターウィンドウを閉じずにいつでも変更内容を保存することができます。
  9. コードの編集が終了したら、OKをクリックします。

ツリービューを使ったコーディング

スニペットプロパティウィンドウのツリービュータブは、カスタムコードの作成プロセスをガイドします。あらかじめ定義されているキーワードのセットから選択することができます。

  1. Studioで、スクリプトを開きます。
  2. スクリプトにSnippetアクションを追加してダブルクリックし、スニペットウィンドウを開きます。
  3. ツリービュータブの下部にあるプラスのアイコン下向き矢印が付いたプラス記号。をクリックします。
  4. コードに追加するキーワードを選択します。
  5. ウィンドウの左側のペインに表示されるキーワードをクリックして、そのプロパティを表示します。
  6. ウィンドウの右側のペインで、キーワードのプロパティを設定します。次が可能です:

    • 各プロパティを選択して、右側ペインの下のスペースでプロパティの定義を確認します。
    • このページのスニペットキーワードセクションを参照し、各コマンドの設定についての詳細を確認します。
  7. 必要に応じてキーワードをさらに追加します。
  8. Text Viewタブを随時クリックして、従来のコーディング形式で記述されたコードを確認します。
  9. Applyをクリックすると、エディターウィンドウを閉じずにいつでも変更内容を保存することができます。
  10. コードの編集が終了したら、OKをクリックします。

スニペットコードをデバッグする

Snippetアクションには独自のデバッガがあり、これを使ってコードをチェックできます。コードのデバッグはテキストビュータブでのみ可能です。

ツリービュータブでコードを作成した場合、テキストビュータブに切り替えるとデバッガを使えるようになります。デバッガで問題が見つかった場合、指定された行番号に基づいてコード内の問題がある箇所を特定してください。その後、ツリービュータブに戻って問題を修正することができます。

1行ずつコードをステップスルーしたり、ブレークポイントを使用するなど、追加のデバッグオプションを利用できます。また、スニペットコードでTRACEステートメントを使用して、デバッグ時にテキストを出力することもできます。この出力はスクリプトに含まれる問題を修正するために役立ちます。

  1. Studioで、Snippetアクションを含むスクリプトを開きます。
  2. Snippetアクションをダブルクリックします。
  3. Text View タブにコードがない場合、Snippetコードを追加します。
  4. Snippet Editorウィンドウの右側で、Debuggerタブをクリックします。
  5. Debugアイコンの右側にある下矢印ボタンをクリックし、Start再生ボタン(緑の三角形)のアイコン。を選択します。
  6. コードに構文エラーがある場合は、Snippet Editorウィンドウが展開されます。コード内のすべてのエラーがウィンドウ下部のペインに表示されます。エラーがない場合は、次のステップに進んでください。

    1. エラーを修正します。
    2. エラーを修正したら、CloseまたはClear Trace Outputアイコンをクリックしてエラーペインを閉じます。
    3. デバッガーをもう一度起動します。
  7. Variables as Text タブの内容を表示します。このタブには、ブレークポイントを設定しなかった場合、すべてのコードが実行されたときの変数とその値が表示されます。
  8. スニペットコード内の行を1つ以上選択し、Comment out selected linesアイコンをクリックできます。これは、コードの一部を削除して、デバッグの結果がどのように変わるかを確認したい場合に便利です。
  9. コメントアウトされたコードを1行以上選択し、Uncomment the selected linesアイコンをクリックすると、それらの行をスニペットに戻すことができます。

ツリービューのスニペットキーワード

キーワードまたはコマンドは、Snippet語のステートメントの構文の一部です。これらは、スクリプト内の特定の用途に予約されている定義済みの用語です。コンパイラはキーワードを認識し、それに関連する行動を実行します。たとえば、コンパイラはASSIGNキーワードを見つけると、キーワードの後に指定された名前と値を持つ新しい変数を作成します。例:ASSIGN varName = 1

キーワードは予約語であるため、これらの単語をスクリプト内のオブジェクトや変数の識別子として使用することはできません。

多くのキーワードには同じ名前のStudioアクション閉じた 顧客データの収集、メッセージや音楽の再生、エージェントへの連絡先のルーティングなど、Studioスクリプト内のプロセスを実行します。もあります。たとえば、IFキーワードとIFアクションがあります。どちらもスクリプト内で同じ動作を実現します。カスタムコードでSnippetアクションを使用すると、スクリプト内のアクションの数を減らすことができます。

以下のセクションでは、ツリービュータブで利用できるキーワードオプションについて説明します。これらのオプションにはスニペットで使用できるキーワードのほとんどが含まれています。サポートされるキーワードの完全なリストは、リファレンスセクションにあります。

割り当て

説明:ASSIGNステートメントは、指定された名前と値で変数を作成します。

Studioアクション:Assign

命名のガイドライン:変数の名前を付けるときは、以下のガイドラインに従ってください。

  • 英数字(a-z, A-Z, 0-9)を使用できます。

  • 名前の最初の文字はアルファベットでなければなりません。
  • 名前の任意の場所に、アンダースコア文字(_)とドル記号($)を使用できます。
  • 変数名の最後の文字がドル記号の場合、その値はテキストとして扱われます
  • あらかじめ定義された変数名または予約語は使用しないでください。

詳細:変数についての詳細は、変数ヘルプページを参照してください。ASSIGNキーワードについての詳細は、宣言ステートメントページを参照してください。

ツリービューのプロパティ

ツリービュータブでは、ASSIGNnewvar=""のように表示されます。設定するプロパティは以下のとおりです:

この例をツリービューで見るには、テキストビュータブにコピー&ペーストしてから、ツリービュータブをクリックします。

ASSIGN varName = value1
varName2 = value2

//Including the ASSIGN keyword is optional. 
//It's best practice to use this keyword every time you create a variable.
//When you use advanced search, you can quickly locate where a variable 
//is created if it includes this keyword. 

休憩

説明:ループを直ちに終了します。

構文:BREAK

詳細はこちら:BREAKステートメントに達すると、現在のループは直ちに終了します。スクリプトは、ループの下のスニペットコードを完了するまで実行し続けます。

BREAKはオプションです。これが含まれていない場合、ループは定義された停止条件が満たされるまで続行します。

呼び出し関数

以前に定義された関数を呼び出します。

ツリービューのプロパティ

ツリービュータブでは、呼び出し関数がnewcall()のように表示されます。

設定するプロパティは以下のとおりです:

  • Arguments:関数に渡す必要のある引数を入力します。引数は関数名の括弧の間に表示されます。例えば、 functionA (var1, var2)
  • Comment:変数に関するコメントを追加します。
  • Line Number:コマンドの行番号がエディターに表示されます。
  • Name:呼び出す関数の名前を入力します。

ケース

説明:実行できるステートメントセットの1つを定義します。SWITCHまたはSELECTと一緒に使用されます。

構文:はさまざまです。SWITCHまたはSELECTを参照してください。

Studioアクション:Case

詳細:CASEは、SWITCHまたはSELECTステートメントの条件コードブロック内で使用しなければなりません。スクリプトが実行可能なブロックを定義するために、1つ以上のCASEステートメントを追加します。少なくとも1つのCASEが必要です。

関連事項: 指定されたCASEステートメントがどれも適用されない場合に使用されるケースを定義するDEFAULTステートメントを含めます。

コメント

コンパイラで処理されないようにスクリプト内のテキストを隠します。

スクリプトの文書化にはコメントを使用します。スクリプトの各部分に説明や解説を付けることで、後で理解しやすくなります。

ツリービューのプロパティ

ツリービュータブでは、Comment //のように表示されます。

設定するプロパティは以下のとおりです:

  • Comment:コメントを追加します。
  • Line Number:コマンドの行番号がエディターに表示されます。

ツリービューで利用可能な各キーワードには、Commentプロパティがあります。これにより、キーワードの特定のインスタンスに関するコメントを追加することができます。スニペットに関する一般的なコメントを追加するには、ツリービュータブのCommentオプションを使用します。

宣言関数

説明:カスタム関数を作成します。

詳細:関数を宣言するには<name>を指定し、最後に開閉の括弧を付けます。例えば、 FUNCTION functionName() 。括弧の間にオプションで[parameters]を追加できます。パラメーターによって、データ(引数と呼ばれます)を関数の内外に渡すことができます。

命名のガイドライン:関数に名前を付ける場合は、以下のガイドラインに従ってください。

  • 英数字(a-z, A-Z, 0-9)を使用できます。

  • 名前の最初の文字はアルファベットでなければなりません。
  • 名前の任意の場所に、アンダースコア文字(_)とドル記号($)を使用できます。
  • 予約語や組み込み関数の名前は使用しないでください。

詳細:関数についての詳細は、関数ヘルプページを参照してください。

ツリービューのプロパティ

ツリービュータブでは、FUNCTIONFUNCTION newfunc()のように表示されます。

設定するプロパティは以下のとおりです:

  • Arguments:関数に渡す引数を入力します。引数は関数名の括弧の間に表示されます。例えば、 newfunc(var1, var2)
  • Comment:変数に関するコメントを追加します。
  • Line Number:コマンドの行番号がエディターに表示されます。
  • Name:関数の名前を入力します。

FUNCTIONを完成させるには、SWITCH 0を右クリックし、スクリプトで評価する各条件に対してCASEキーワードを追加します。DEFAULT条件を追加して、定義されたCASEオプションのどれも適用されない場合のスクリプトの動作を指定します。各CASEDEFAULTキーワードを設定します。

この例をツリービューで見るには、テキストビュータブにコピー&ペーストしてから、ツリービュータブをクリックします。

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)

デフォルト

説明:指定されたCASEのどれも適用されない場合に使われるCASEブロックを定義します。SWITCHおよびSELECTと一緒に使用されます。

構文:さまざまです。SWITCHまたはSELECTを参照してください。

詳細:DEFAULTは、SWITCHまたはSELECTブロックとともに使用し、CASEステートメントが少なくとも1つ必要です。DEFAULTを単独で使用することはできません。DEFAULTは常にオプションです。これは、CASEステートメントのリストの最後の句でなければなりません。

対象:

説明:ステートメントまたは一連のステートメントを特定の回数繰り返します。

ツリービューのプロパティ

ツリービュータブでは、FOR FOR i = 1 to 10のように表示されます。

設定するプロパティは以下のとおりです:

  • CommentFOR ループに関するコメントを追加します。
  • EndValue:終了のインデックス値を入力します。デフォルトは10です。

  • Iterator:現在のループインデックスを保持する変数の名前を入力します。

  • Line Number:コマンドの行番号がエディターに表示されます。
  • StartValue:開始のインデックス値を入力します。デフォルトは1です。

FORを完成させるには、FOR i = 1 to 10を右クリックし、キーワードとスクリプトに実行させる動作を追加します。

これらの例をツリービューで見るには、テキストビュータブにコピー&ペーストしてから、ツリービュータブをクリックします。

IF TEST = 1
{
  ASSIGN Names = "Wes|Nate|Dan|Clay"
  ASSIGN EyeColors = "Blue|Blue|Brown|Brown"
  ASSIGN Signs = "Aquarius|Aries|Pisces|Leo"
  ASSIGN Foods = "Spagetti|Pizza|Sushi|Deep Fried Twinkies"
}

DYNAMIC Persons

ASSIGN PeopleCount = Names.size

FOR i = 1 TO PeopleCount
{
  ASSIGN Persons[i].Name = "{Names[i]}"
  ASSIGN Persons[i].Eyecolor = "{EyeColors[i]}"
  ASSIGN Persons[i].Sign = "{Signs[i]}"
  ASSIGN Persons[i].Food = "{Foods[i]}"
}
FOR i=1 TO 9
{
	a = "{a}{i}"
}
//Result: a="123456789"


FOR i=9 TO 1
{
	b = "{b}{i}"
}
//Result: b="987654321"

ForEach

説明:指定された文字列配列の各要素に対してループを1回繰り返します。

ツリービューのプロパティ

ツリービュータブでは、FOREACH FOREACH i in arrayのように表示されます。

設定するプロパティは以下のとおりです:

  • ArrayName:スクリプトが定義された動作を適用する対象となる配列を含む変数名。
  • CommentFOREACH ループに関するコメントを追加します。
  • Iterator:現在の配列要素を保持する変数の名前名を入力します。

  • Line Number:コマンドの行番号がエディターに表示されます。

FOREACHを完成させるには、FOREACH i in arrayを右クリックし、キーワードと動作を追加して、スクリプトで指定の配列内の各要素に対して実行する処理を定義します。

この例をツリービューで見るには、テキストビュータブにコピー&ペーストしてから、ツリービュータブをクリックします。



IF TEST = 1 
{
	ASSIGN Names="Odin|Freya|Thor|Loki"
}
ASSIGN SubCounter=1
FOREACH Name IN Names
{
	IF Name = "Odin" |  Name = "Freya"
	{
		ASSIGN NewNames[SubCounter]= "{Name}"

		ASSIGN SubCounter=SubCounter + 1

	}
}

もし

説明:表現を評価し、評価の結果に応じてブランチを取ります。

Studioアクション:If

ツリービューのプロパティ

ツリービュータブでは、IF>IF 0のように表示され、その下に>TrueFalseが続きます。>IFは、評価される表現を定義します。>Trueは、表現がtrueと評価された場合に何が起こるかを定義します。>Falseは、表現がfalseと評価された場合に何が起こるかを定義します。

設定するプロパティは以下のとおりです:

  • Comment:Ifステートメントに関するコメントを追加します。
  • Expression:スクリプトで評価する条件を入力します。
  • Line Number:エディターでのコマンドの行番号です。

IFステートメントを完成させるには、TrueFalseを右クリックし、Expressionの評価に応じてスクリプトに実行させるキーワードや動作を選択します。TrueFalseの両方にオプションを提供する必要はありません。キーワードや動作を複数追加することができます。必要に応じて、選択したキーワードや動作を設定します。

この例をツリービューで見るには、テキストビュータブにコピー&ペーストしてから、ツリービュータブをクリックします。

IF TEST = 1
   {
      ASSIGN contactID = "123456780"
      ASSIGN customerName = "XYZ International"
      ASSIGN CBWindowStart = #"{date} 8:00 AM"
      ASSIGN CBWindowEnd = #"{date} 4:30 PM"
   }

//String Comparison

IF customerName = "ABC Corporation"
   {
      ASSIGN contractLevel = "Gold"
   }
   ELSE
      {
         ASSIGN contractLevel = "Silver"
      }

//Numeric Comparision

IF contactID % 10 = 0
   {
      ASSIGN logCall = 1
   }
   ELSE
      {
         ASSIGN logCall = 0
      }

//DateTime Comparison

ASSIGN myTime = #"{time}"

IF myTime >= CBWindowStart && myTime  <= CBWindowEnd
   {
      ASSIGN offerCallback = "True"
   }
   ELSE
      {
         ASSIGN offerCallback = "False"
      }

リピート

説明:指定されたコマンドを指定された回数実行します。

ツリービューのプロパティ

ツリービュータブでは、REPEATREPEAT 0のように表示されます。

設定するプロパティは以下のとおりです:

  • Comment:繰り返しに関するコメントを追加します。
  • Line Number:コマンドの行番号がエディターに表示されます。
  • Repeat:数値として評価される式を入力して、指定した動作を繰り返す回数を定義します。

REPEATを完成させるには、REPEAT 0を右クリックし、スクリプトに繰り返させる動作を選択します。複数の動作を追加できます。選択した各動作を設定します。

この例をツリービューで見るには、テキストビュータブにコピー&ペーストしてから、ツリービュータブをクリックします。


REPEAT 10
{
	phone = "{phone}{random(10)}"
}	

戻る

説明:関数を終了し、オプションで関数からスクリプトに変数を渡します。FUNCTIONステートメントと一緒に使用します。

構文:RETURNまたはRETURN <var>

Studioアクション:Return

詳細:関数宣言のコード内で使用しなければなりません。スクリプトに情報を戻すには、キーワードRETURNの後に変数名<var>を追加します。

選択

説明:trueと評価された最初の式に基づいて一連のコマンドを実行します。

ツリービューのプロパティ

ツリービュータブでは、SELECT SELECT 0のように表示されます。

設定するプロパティは以下のとおりです:

  • CommentSELECTに関するコメントを追加します。
  • Line Number:コマンドの行番号がエディターに表示されます。

SELECTを完成させるには、SELECT 0を右クリックし、スクリプトで評価する各式に対してCASE キーワードを追加します。DEFAULT 条件を追加して、定義されたCASE オプションのどれも適用されない場合のスクリプトの動作を指定します。各CASE DEFAULT キーワードを設定します。

この例をツリービューで見るには、テキストビュータブにコピー&ペーストしてから、ツリービュータブをクリックします。

SELECT
{
	CASE name="Odin" { agentid = 123 }
	CASE name="Frigg" { agentid = 345 }
	CASE name.length = 0
	 {
	   ASSIGN agentid = -1
	   ASSIGN error = "Invalid name"
	 }
	DEFAULT { ASSIGN agentid = 999 }
} 

スイッチ

説明:指定された変数を評価し、一致するCASEで定義されたアクションを実行します。

詳細: SWITCHは、変数の値を各CASEのリテラル値と比較します。一致するCASE が見つかると、SWITCHが実行され、一致するCASEに関連付けられた中括弧内のコード{ ... }に分岐します。

SWITCHが評価できるのは変数だけです。式を評価することはできません。式を使用した場合、スクリプトは機能しません。

少なくとも1つのCASEが必要です。すべての CASEステートメントは、同じ型のリテラルを持たなければなりません。最初のCASEが、残りのCASEステートメントのタイプを決定します。いずれかのCASEステートメントが最初のCASEと異なる型を持つ場合、コンパイラエラーが発生します。以下に、有効なリテラル型をすべて示します。

  • CASE "john"
  • CASE 512
  • CASE #"5/15/2050"
  • CASE #"6/1/2050 7:00am"
  • CASE #"7am"

たとえば。

IF TEST = 1
{
  ASSIGN MyDate = "07/03/2023" //This date falls on a Monday
}
ASSIGN MyDow = MyDate.asdatedow
SWITCH MyDow
{
  CASE 0   { ASSIGN NewToday = "Sunday"  }
  CASE 1   { ASSIGN NewToday = "Monday"  }
  CASE 2   { ASSIGN NewToday = "Tuesday" }
  CASE 3   { ASSIGN NewToday = "Wednesday" }
  CASE 4   { ASSIGN NewToday = "Thursday" }
  CASE 5   { ASSIGN NewToday = "Friday"  }
  CASE 6   { ASSIGN NewToday = "Saturday"   }
}

ユースケース:SWITCHを使用すると、指定された変数が何を含むかによって、特定の結果を得ることが可能です。例えば、スクリプトで市外局番を含む変数を評価させるとします。可能性のある市外局番ごとにCASEを定義し、その市外局番が割り当てられている州に一致する値を、変数stateに追加することができます。たとえば。

SWITCH areaCode
{
	CASE 603 { state =  "New Hampshire" }
	CASE 614 { state =  "Ohio" }
	CASE 628 { state =  "California" }
	CASE 646 { state =  "New York" }
	CASE 667 { state =  "Maryland" }
}

この例をツリービューで見るには、テキストビュータブにコピー&ペーストしてから、ツリービュータブをクリックします。

ツリービューのプロパティ

ツリービュータブでは、SWITCH SWITCH 0のように表示されます。

設定するプロパティは以下のとおりです:

  • CommentSWITCHに関するコメントを追加します。
  • Expression

  • Line Number:コマンドの行番号がエディターに表示されます。

SWITCHを完成させるには、SWITCH 0を右クリックし、スクリプトで評価する各条件に対してCASE キーワードを追加します。DEFAULT 条件を追加して、定義されたCASE オプションのどれも適用されない場合のスクリプトの動作を指定します。各CASE DEFAULT キーワードを設定します。

トレース

説明:テキストビュータブでデバッガーを使用する際、テキストをSnippet Editorウィンドウの結果ペインに出力します。

構文:TRACE "<value>"

詳細:デバッガーを使用する際にSnippet Editorウィンドウの結果ペインに表示させたい任意の"<value>"に、TRACEキーワードを追加します。<value>は変数名にすることができます。TRACEは、コードの問題をトラブルシューティングするときや、スクリプトで何が起こっているかを確認するときに役立つツールです。

このキーワードは、Snippetアクションでのみ使用されます。TRACEキーワードはスニペットに残しておいても安全です。実行時、Snippet Editorウィンドウのデバッガーツールの外では無視されます。

ツリービューのプロパティ

ツリービュータブで、TRACE で設定するプロパティは次のとおりです。

  • AllowEscapestrueに設定すると、バックスラッシュ文字(\)で始まるエスケープシーケンスを埋め込むことができます。デフォルトはfalseです。
  • Comment:トレースに関するコメントを追加します。
  • Expression:結果ペインに出力するテキスト。変数を中括弧で囲んで含めることができます{ }。例えば、 {agentId}
  • Line Number:エディターでのコマンドの行番号です。

この例をツリービューで見るには、テキストビュータブにコピー&ペーストしてから、ツリービュータブをクリックします。

TRACE "this is trace text"
//The text you specify with TRACE appears 
//In the results window when you use the 
//Debugger on the Text View tab. 

説明:スニペット内で使用するSOAP WebサービスのプロキシDLLを含めることができます。DLLはNICE CXoneによるWISDLでコンパイルする必要があります。

構文:USES "<proxy>.dll"

StudioアクションUses

詳細: USESステートメントを使用するには、プロキシDLLがビジネスユニットの閉じた テクニカルサポート、請求、およびCXone環境のグローバル設定の管理に使用される高レベルの組織グループファイルサーバーのルートフォルダーになければなりません。CXoneACDファイルを閲覧するページで、事業単位内のファイルを確認することができます。

詳細:APIおよびWebサービスヘルプページでは、StudioスクリプトでのWebサービスプロキシの使用について詳しく説明しています。

ツリービューのプロパティ

ツリービュータブでは、用途がUSES ""のように表示されます。

設定するプロパティは以下のとおりです:

  • Comment:キーワードに関するコメントを追加します。
  • FileName:スニペット内で使用するプロキシDLLファイルの名前を追加します。
  • Line Number:コマンドの行番号がエディターに表示されます。

それぞれのキーワードにCommentプロパティがあります。これにより、そのキーワードに関するコメントを追加することができます。Commentオプションを使用して、特定のプロパティに関連しないコメントを追加します。