---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideScopedEvaluator - グローバル

# GlideScopedEvaluator - グローバル {#ariaid-title1}

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

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

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

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

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

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

{#GlideEvaluator-GlideScopedEvaluator__table_on3_3bx_jz}

### スコープ対応 {#GlideEvaluator-GlideScopedEvaluator__section_osk_wbx_jz}

スコープ対象のアプリケーションで GlideScopedEvaluator() メソッドを使用するには、対応するスコープ対象の [GlideScopedEvaluator()](https://servicenow-prod.fluidtopics.net/hAS~9dmcWOlQWjztJnQLCg#r_ScopedGlideEvaluatorGlideScopedEvaluator "GlideScopedEvaluator オブジェクトをインスタンス化します。") メソッドを使用します。

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

GlideRecord フィールドからスクリプトを評価します。
{#GlideEvaluator-evaluateScript_GR_S_O__table_l3r_hch_1r__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| grObj | GlideRecord | スクリプト式を含む GlideRecord。 |
| scriptField | 文字列 | (オプション) スクリプト式を含むフィールドの名前。 |
| variables | オブジェクト | (オプション) 名前と値のペアを持つ変数のマップ。これらの変数は、このメソッドの実行中にスクリプトで使用できます。 |
[表 : 2. パラメーター]

{#GlideEvaluator-evaluateScript_GR_S_O__table_l3r_hch_1r} {#GlideEvaluator-evaluateScript_GR_S_O__table_bdf_zfr_2r__entry__2}

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

{#GlideEvaluator-evaluateScript_GR_S_O__table_bdf_zfr_2r}  

    //For this example, we created a table: "x_app_table" with two columns: "short_description", "test_script"
    // "test_script" will store the script to be evaluated by GlideScopedEvaluator.
    var now_GR = new GlideRecord('x_app_table');
    now_GR.short_description = 'Testing GlideScopedEvaluator';
    now_GR.test_script = "gs.getUser().getName() + ' says ' + greeting; ";
    now_GR.insert();

    //setup variables to be used by the script
    var vars = {'greeting' : 'hello'};

    //Evaluate the script from the field
    var evaluator = new GlideScopedEvaluator();
    gs.info(evaluator.evaluateScript(now_GR, 'test_script', vars));

    // Now retrieve the result
    evaluator.evaluateScript(gr, 'u_test_script', null);
    gs.info(evaluator.getVariable('result'));

出力:

    admin says hello

### スコープ対応 {#GlideEvaluator-evaluateScript_GR_S_O__section_osk_wbx_jz}

スコープ対象のアプリケーションで evaluateScript() メソッドを使用するには、対応するスコープ対象の [evaluateScript()](https://servicenow-prod.fluidtopics.net/hAS~9dmcWOlQWjztJnQLCg#r_ScopedGlideEvaluatorEvaluateScript_GlideRecord_String_Object "GlideRecord フィールドに存在するスクリプトを評価します。") メソッドを使用します。

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

GlideScopedEvaluator オブジェクトから変数を返します。
{#GlideEvaluator-getVariable_S__table_e3v_4dh_1r__entry__3}

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

{#GlideEvaluator-getVariable_S__table_e3v_4dh_1r} {#GlideEvaluator-getVariable_S__table_mwt_wdx_jz__entry__2}

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

{#GlideEvaluator-getVariable_S__table_mwt_wdx_jz}  

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

出力:

    300

### スコープ対応 {#GlideEvaluator-getVariable_S__section_osk_wbx_jz}

スコープ対象のアプリケーションで getVariable() メソッドを使用するには、対応するスコープ対象のメソッド [getVariable()](https://servicenow-prod.fluidtopics.net/hAS~9dmcWOlQWjztJnQLCg#r_ScopedGlideEvaluatorGetVariable_String "GlideScopedEvaluator オブジェクトから指定された変数を返します。") を使用します。

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

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

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

{#GlideEvaluator-putVariable_S_O__table_e11_f2h_1r} {#GlideEvaluator-putVariable_S_O__table_pjt_jbx_jz__entry__2}

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

{#GlideEvaluator-putVariable_S_O__table_pjt_jbx_jz}  

    //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";
    evaluator.evaluateScript(now_GR, "script") 
    now_GR.insert(); 
     
    var evaluator = new GlideScopedEvaluator();
    evaluator.putVariable('x', 100);
    evaluator.putVariable('y', 200);
    evaluator.putVariable('result', null);
    evaluator.evaluateScript(now_GR, "script")
    now_GR.insert();

出力：

    300

### スコープ対応 {#GlideEvaluator-putVariable_S_O__section_osk_wbx_jz}

スコープ対象のアプリケーションで putVariable() メソッドを使用するには、対応するスコープ対象の [putVariable()](https://servicenow-prod.fluidtopics.net/hAS~9dmcWOlQWjztJnQLCg#r_ScopedGlideEvaluatorPutVariable_String_Object "GlideScopedEvaluator オブジェクトに変数を設定します。これらの変数は、この GlideScopedEvaluator オブジェクトが実行するスクリプトで使用できます。") メソッドを使用します。

