---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideScopedEvaluator - スコープ指定

# GlideScopedEvaluator - スコープ指定 {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：5分

GlideScopedEvaluator API を使用すると、スコープ対象サーバースクリプトとグローバルサーバースクリプトの両方から GlideRecord フィールドのスクリプトを評価できます。

この API は、スクリプトフィールドが定義されたレコードを評価します。スクリプトのスコープは、レコードのスコープによって定義されます。

## GlideScopedEvaluator - GlideScopedEvaluator() {#ariaid-title2}

GlideScopedEvaluator オブジェクトをインスタンス化します。
{#r_ScopedGlideEvaluatorGlideScopedEvaluator__table_twg_dgr_2r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 1. パラメーター]

{#r_ScopedGlideEvaluatorGlideScopedEvaluator__table_twg_dgr_2r}

## GlideScopedEvaluator - evaluateScript(GlideRecord grObj, 文字列 scriptField, オブジェクト変数) {#ariaid-title3}

GlideRecord フィールドに存在するスクリプトを評価します。
{#r_ScopedGlideEvaluatorEvaluateScript_GlideRecord_String_Object__table_l3r_hch_1r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| grObj | [GlideRecord](https://servicenow-prod.fluidtopics.net/sq3Fh7Z2Yb_KuRvql0AZmg#c_GlideRecordScopedAPI "スコープ対象の GlideRecord API は、データベース操作に使用されます。") | スクリプト式を含む GlideRecord。 |
| スクリプトフィールド | 文字列 | オプション。スクリプト式を含むフィールドの名前。 |
| variables | オブジェクト | オプション。名前と値のペアを持つ変数のマップ。これらの変数は、このメソッドの実行中にスクリプトで使用できます。 |
[表 : 2. パラメーター]

{#r_ScopedGlideEvaluatorEvaluateScript_GlideRecord_String_Object__table_l3r_hch_1r} {#r_ScopedGlideEvaluatorEvaluateScript_GlideRecord_String_Object__table_bdf_zfr_2r__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | スクリプトの実行結果。 |
[表 : 3. 返される内容]

{#r_ScopedGlideEvaluatorEvaluateScript_GlideRecord_String_Object__table_bdf_zfr_2r}  

    // Setting up a record that contains the script to be executed.
    var now_GR = new GlideRecord('u_global_table'); 
    now_GR.u_short_description = 'Calculate Addition';  
    now_GR.u_test_script = "result = x + y"; 
    now_GR.insert(); 
     
    var evaluator = new GlideScopedEvaluator();
    evaluator.putVariable('x', 100);
    evaluator.putVariable('y', 200);
    gs.info(evaluator.evaluateScript(now_GR, 'u_test_script'));

出力:

    300

## GlideScopedEvaluator - getVariable(文字列名) {#ariaid-title4}

GlideScopedEvaluator オブジェクトから指定された変数を返します。
{#r_ScopedGlideEvaluatorGetVariable_String__table_e3v_4dh_1r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | 返す変数の名前。 |
[表 : 4. パラメーター]

{#r_ScopedGlideEvaluatorGetVariable_String__table_e3v_4dh_1r} {#r_ScopedGlideEvaluatorGetVariable_String__table_v5f_hgr_2r__entry__2}

| タイプ | 説明 |
|-|-|
| オブジェクト | 指定された変数の値。 |
[表 : 5. 返される内容]

{#r_ScopedGlideEvaluatorGetVariable_String__table_v5f_hgr_2r}  
次の例は、 getVariable() メソッドを呼び出して <var class="keyword varname">answer</var> 変数の値をチェックする方法を示しています。

    (function executeRule(current, previous /*null when async*/) {
      var grAG = current.assignment_group.getRefRecord(); // Get the GlideRecord of the assignment group
      if (grAG.isValidRecord()) {
        var ge = new GlideScopedEvaluator();
        ge.putVariable("current", current); // Pass through the "current" variable as "current"
        ge.putVariable("group", grAG); // Pass through the "grAG" variable as "group"
        ge.putVariable("answer", true); // default "answer" to TRUE
        ge.evaluateScript(grAG, "u_assignment_condition"); // Run the script

        // Abort the transaction if the "answer" variable was set to FALSE explicitly (undefined doesn't count)
        if (ge.getVariable("answer") === false) { 
          gs.addErrorMessage("Assignment rule did not pass");
          current.setAbortAction(true);
        }
      }
    })(current, previous);

## GlideScopedEvaluator - putVariable(文字列名, オブジェクト値) {#ariaid-title5}

GlideScopedEvaluator オブジェクトに変数を設定します。これらの変数は、この GlideScopedEvaluator オブジェクトが実行するスクリプトで使用できます。
{#r_ScopedGlideEvaluatorPutVariable_String_Object__table_e11_f2h_1r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| name | 文字列 | 変数の名前です。 |
| value | オブジェクト | 変数の値。 |
[表 : 6. パラメーター]

{#r_ScopedGlideEvaluatorPutVariable_String_Object__table_e11_f2h_1r} {#r_ScopedGlideEvaluatorPutVariable_String_Object__table_hpj_bgr_2r__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 7. 返される内容]

{#r_ScopedGlideEvaluatorPutVariable_String_Object__table_hpj_bgr_2r}  
次の例は、 putVariable() メソッドを呼び出して <var class="keyword varname">answer</var> 変数を true に設定する方法を示しています。

    (function executeRule(current, previous /*null when async*/) {
      var grAG = current.assignment_group.getRefRecord(); // Get the GlideRecord of the assignment group
      if (grAG.isValidRecord()) {
        var ge = new GlideScopedEvaluator();
        ge.putVariable("current", current); // Pass through the "current" variable as "current"
        ge.putVariable("group", grAG); // Pass through the "grAG" variable as "group"
        ge.putVariable("answer", true); // Set default "answer" to TRUE
        ge.evaluateScript(grAG, "u_assignment_condition"); // Run the script

        // Abort the transaction if the "answer" variable was set to FALSE explicitly (undefined doesn't count)
        if (ge.getVariable("answer") === false) { 
          gs.addErrorMessage("Assignment rule did not pass");
          current.setAbortAction(true);
        }
      }
    })(current, previous);


