---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

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/PdjBDkljzRHVS4qRn2BIdw#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}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | 반환할 변수의 이름입니다. |
[표 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">응답</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}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이름 | 문자열 | 변수의 이름입니다. |
| 값 | 객체 | 변수의 값입니다. |
[표 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">응답</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);


