スクリプトのテストおよびデバッグ

Analytics スクリプト エディターには、Analytics スクリプトのテストやデバッグに役立つ機能がいくつか備わっています:

  • スクリプト内のカーソル位置からスクリプトを実行する
  • ブレーク ポイントを設定して、特定の行でスクリプトの実行を一時停止する
  • スクリプトを一度に 1 行ずつステップ実行する
  • スクリプト エラーを分離する
  • 関連付けられた[変数]タブで、変数の作成や、変数への値の割り当てをリアルタイムで追跡する

これらの機能は、スクリプトがスクリプト エディターで開いていればいつでも利用できます。開いているスクリプトが 1 つ以上のサブスクリプトを呼び出す場合、それらのサブスクリプトは呼び出されたときに自動的に開かれます。

スクリプトをステップ モードまたはブレーク ポイント モードで実行している間、スクリプトは読み取り専用となり、Analytics の他の機能はコマンド ラインも含め、ほとんどが無効になります。スクリプト エラーが発生した場合は、エラーを修復できるように、スクリプトは編集可能となります。

スクリプトを実行すると、その実行方法に関係なく、開いているすべてのスクリプトが自動的に保存されます。

メモ

実行またはステップ実行が完了した時点でテーブルが開いたままである場合は、Analytics の表示領域はスクリプト エディターから、ビュー タブで開いているテーブルの表示へ自動的に切り替わります。スクリプトをテストまたはデバッグしている間は、そのままスクリプト エディターが表示され続けるようにしたい場合は、スクリプトの最後に一時的に CLOSE コマンドを含めることができます。

カーソルからスクリプトを実行する

スクリプトの先頭からスクリプトの実行またはステップ実行をしたくない場合は、スクリプトの実行を開始したい行にカーソルを位置付けてから、右クリックして[カーソルから実行]または[カーソルからステップ]を選択します。カーソル位置からスクリプトを実行またはステップ実行すると、スクリプトの特定の部分をテストでき、スクリプト全体を不必要に実行することで時間と労力が無駄に費やされることを避けられます。

スクリプトがいったん実行されたら、[カーソルから実行]と[カーソルからステップ]は使用できません。これらのオプションは、スクリプトの実行を開始する場合と、スクリプト エラーが発生した後またはエラーを修正した後で、スクリプトを再開する場合にのみ使用できます。

メモ

カーソルからのスクリプトの実行を使用してスクリプトの一部を回避する場合、そのセクションに後続のセクションで必要な前提条件となる操作が含まれている場合は、後続のセクションが正しく実行される見込みはありません。

ブレーク ポイントを設定する

Analytics スクリプト内に 1 つ以上のブレーク ポイントを設定して、特定の行でスクリプトの実行を一時停止させることができます。ブレーク ポイントによって、スクリプト全体を実行する必要なく、スクリプトの一部分をテストできるようになります。また、スクリプト内の特定の時点における Analytics プロジェクトの状態を調べることが可能になります。スクリプトのより複雑、より重要な部分を開発およびテストしているとき、ブレーク ポイントは有用なツールとなるでしょう。

ブレーク ポイントからスクリプトを再起動する

ブレーク ポイントからスクリプトを再起動する場合、以下のオプションがあります:

  • ブレーク ポイントからスクリプトをステップ実行する
  • スクリプトを挿入した場合は次のブレーク ポイントまでスクリプトを実行する
  • スクリプトを最後まで実行する
  • スクリプトを終了する

空白行とコメント

ブレーク ポイントを空白行またはコメント行に設置した場合、スクリプトはその空白行またはコメント行の後にある最初のスクリプト行で一時停止します。

ブレーク ポイントの持続性

  • ブレーク ポイントは、そのスクリプトを閉じても、スクリプト内に保持されます。
  • スクリプト エディター内で右クリックして[すべてのブレーク ポイントをクリア]を選択すると、Analytics プロジェクト内のすべてのスクリプトからすべてのブレーク ポイントをいつでも削除することができます。
  • すべてのブレーク ポイントは、Analytics を閉じるときに、プロジェクト内のすべてのスクリプトから自動的に削除されます。

手順

スクリプトをステップ実行する

一度に 1 行ずつステップ実行することで、Analytics スクリプトを実行できます。スクリプトを実行すると、制御された方法で実行をテストし、あらゆるエラーをそれが発生する正確な行で見つけることができます。

ステップ矢印

緑色の矢印スクリプトをステップ実行しているとき、緑色のステップ矢印 が実行されようとしているスクリプト内の行を示します。矢印が行を越えて 1 ステップ進んだら、その行は実行済みです。

赤色の矢印 行に無効なコマンド構文や何かほかの種類の誤りがある場合、スクリプトは停止し、ステップ矢印は赤色 に変わって進まなくなり、誤っている場所が強調表示されます。スクリプトは、ステップ実行している間は読み取り専用になりますが、エラーが発生した場合は、エラーを修復できるように編集可能となります。

手順

スクリプト エラーを分離する

スクリプトが失敗する原因となるエラーが発生するスクリプトを Analytics で実行するたびに、エラーが発生する行はスクリプト エディター内で自動的に強調表示されます。スクリプト エディターが開いていない場合は、自動的に開きます。このスクリプト エラーの識別は、スクリプトをスクリプト エディターで直接実行したか、[ツール]メニューから、コマンド ラインから、あるいはナビゲーター内でスクリプトを右クリックして実行したかに関係なく発生します。

この自動エラー識別は強力なトラブルシューティング機能で、特に、深く入れ子になっているサブスクリプトで発生するエラーにとって有用です。スクリプトを記述できる Analytics ユーザーであれば、エラーに遭遇したときに、そのエラーを直接修正することができます。スクリプト記述に慣れていないユーザーは、エラーが発生したスクリプトの名前と行番号を記録しておけば、スクリプトの問題について助けを求めることが容易になります。

[変数]タブを使用する

ナビゲーターの[変数]タブでは、変数の作成や、変数への値の割り当てをリアルタイムで追跡することができます。このタブは、Analytics プロジェクト内のすべての変数の名前、値、およびデータ カテゴリを表示します。名前はアルファベット順に表示されます。

スクリプトをステップ実行している場合、スクリプト内のユーザー定義変数やシステム生成変数は、それらが作成された瞬間に[変数]タブに現れます。既存の変数である場合は、値が更新されます。スクリプト変数で変化が起こっているときに、その変化を正確に観察できるということは、重要な診断ツールとなります。これは、1 人でスクリプトの構文を調べて突き止めるのは難しいかもしれないスクリプト エラーを正確に特定することを可能にします。

スクリプトを実行する場合、変数に関連するすべての変更は、ブレーク ポイントに達したとき、またはスクリプトが完了したときに表示されます。

複数行のコマンド

GROUP、LOOP、または DEFINE FIELD ... COMPUTED などの複数行コマンドの内容をステップ実行することはできません。スクリプトをステップ モードで実行していて複数行コマンドに遭遇した場合は、そのコマンドの内容全体が実行され、ステップ矢印は、複数行コマンドの直後にある行に位置付けられます。

ブレーク ポイントは、複数行コマンドの内部では認識されません。複数行コマンドの内部にブレーク ポイントを設定した場合、スクリプトは、複数行コマンドの直後にある行で一時停止されます。

ヒント

複数行コマンドの内容部分は、囲んでいるコマンド構文なしで内容を別のスクリプトへコピーすることによって、テストできるかもしれません。

PASSWORD アナリティクス タグを含むアナリティクスのテスト

スクリプトのアナリティクス ヘッダーに PASSWORD タグがある場合に、アナリティクス スクリプトを Analytics で実行して、テストすると、Analytics によって自動的に PASSWORD コマンドが生成されるため、ユーザーは該当するパスワードを入力するように求められます。この自動生成されたコマンドにより、テスト目的でアナリティクス スクリプトのスクリプト部で PASSWORD コマンドを挿入し、アナリティクス スクリプトをロボットまたは AX Server にアップロードする前にそれを削除する必要がありません。自動生成された PASSWORD コマンドは、パスワード値なしでログに保存されます。

パスワード値は、Analytics でアナリティクス スクリプトを実行するときに保存されるため、カーソル位置からのアナリティクスの実行またはステップなど、スクリプトを実行するたびにパスワードを指定する必要があります。

アナリティクス スクリプトはアナリティクス ヘッダーがある標準のスクリプトであり、HighBond プラットフォームのロボット アプリまたは Analytics Exchange で実行できます。アナリティクス スクリプトは、ACL の独立型コンポーネントである[分析アプリ]ウィンドウで実行します。