GlideScopedEvaluator - グローバル

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:5分
  • GlideScopedEvaluator API を使用すると、スコープ対象のサーバースクリプトとグローバルサーバースクリプトの両方から GlideRecord フィールドのスクリプトを評価できます。

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

    GlideScopedEvaluator - GlideScopedEvaluator()

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

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

    スコープ対応

    スコープ対象のアプリケーションで GlideScopedEvaluator() メソッドを使用するには、対応するスコープ対象の GlideScopedEvaluator() メソッドを使用します。

    GlideScopedEvaluator - evaluateScript(GlideRecord grObj, 文字列 scriptField, オブジェクト variables)

    GlideRecord フィールドからスクリプトを評価します。

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

    スコープ対応

    スコープ対象のアプリケーションで evaluateScript() メソッドを使用するには、対応するスコープ対象の evaluateScript() メソッドを使用します。

    GlideScopedEvaluator - getVariable(文字列 name)

    GlideScopedEvaluator オブジェクトから変数を返します。

    表 : 4. パラメーター
    名前 タイプ 説明
    name 文字列 変数の名前
    表 : 5. 返される内容
    タイプ 説明
    オブジェクト 指定された変数の値。
    //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

    スコープ対応

    スコープ対象のアプリケーションで getVariable() メソッドを使用するには、対応するスコープ対象のメソッド getVariable() を使用します。

    GlideScopedEvaluator - putVariable(文字列 name, オブジェクト value)

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

    表 : 6. パラメーター
    名前 タイプ 説明
    name 文字列 変数の名前
    value オブジェクト 変数の値。
    表 : 7. 返される内容
    タイプ 説明
    なし
    //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

    スコープ対応

    スコープ対象のアプリケーションで putVariable() メソッドを使用するには、対応するスコープ対象の putVariable() メソッドを使用します。