---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideScopedEvaluator - com escopo

# GlideScopedEvaluator - com escopo {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 min. de leitura

A API GlideScopedEvaluator permite que você avalie scripts em um campo GlideRecord de scripts de servidor com escopo e globais.

Esta API avalia registros com campos de script definidos. O escopo do script é definido pelo escopo do registro.

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

Instancia um objeto GlideScopedEvaluator.
{#r_ScopedGlideEvaluatorGlideScopedEvaluator__table_twg_dgr_2r__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 1. Parâmetros]

{#r_ScopedGlideEvaluatorGlideScopedEvaluator__table_twg_dgr_2r}

## GlideScopedEvaluator - avaliarScript(GlideRecord grObj, Cadeia de caracteres scriptField, Variáveis de objeto) {#ariaid-title3}

Avalia um script que reside em um campo GlideRecord.
{#r_ScopedGlideEvaluatorEvaluateScript_GlideRecord_String_Object__table_l3r_hch_1r__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| grObj | [GlideRecord](https://servicenow-prod.fluidtopics.net/FBR_zQLvGAsgQtw7~4MAGA#c_GlideRecordScopedAPI "A API GlideRecord com escopo é usada para operações de banco de dados.") | GlideRecord que contém uma expressão de script. |
| scriptField | Cadeia de caracteres | Opcional. Nome do campo que contém a expressão do script. |
| variáveis | Objeto | Opcional. Mapa de variáveis com pares de nome-valor. Essas variáveis estão disponíveis para o script durante a execução deste método. |
[Tabela 2. Parâmetros]

{#r_ScopedGlideEvaluatorEvaluateScript_GlideRecord_String_Object__table_l3r_hch_1r} {#r_ScopedGlideEvaluatorEvaluateScript_GlideRecord_String_Object__table_bdf_zfr_2r__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto | Resultado da execução do script. |
[Tabela 3. Retorna]

{#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'));

Saída:

    300

## GlideScopedEvaluator -- getVariable(String name) {#ariaid-title4}

Retorna uma variável especificada de um objeto GlideScopedEvaluator.
{#r_ScopedGlideEvaluatorGetVariable_String__table_e3v_4dh_1r__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| nome | Cadeia de caracteres | Nome da variável a ser retornada. |
[Tabela 4. Parâmetros]

{#r_ScopedGlideEvaluatorGetVariable_String__table_e3v_4dh_1r} {#r_ScopedGlideEvaluatorGetVariable_String__table_v5f_hgr_2r__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto | Valor da variável especificada. |
[Tabela 5. Retorna]

{#r_ScopedGlideEvaluatorGetVariable_String__table_v5f_hgr_2r}  
O exemplo a seguir mostra como chamar o método getVariable() para verificar o valor da variável de <var class="keyword varname">resposta</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(cadeia de caracteres nome, objeto valor) {#ariaid-title5}

Define uma variável no objeto GlideScopedEvaluator. Essas variáveis estão disponíveis para o script que este objeto GlideScopedEvaluator executa.
{#r_ScopedGlideEvaluatorPutVariable_String_Object__table_e11_f2h_1r__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| nome | Cadeia de caracteres | Nome da variável. |
| valor | Objeto | Valor da variável. |
[Tabela 6. Parâmetros]

{#r_ScopedGlideEvaluatorPutVariable_String_Object__table_e11_f2h_1r} {#r_ScopedGlideEvaluatorPutVariable_String_Object__table_hpj_bgr_2r__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum(a) |   |
[Tabela 7. Retorna]

{#r_ScopedGlideEvaluatorPutVariable_String_Object__table_hpj_bgr_2r}  
O exemplo a seguir mostra como chamar o método putVariable() para definir a variável de <var class="keyword varname">resposta</var> como verdadeira.

    (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);


