GlideScopedEvaluator : Global

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 2 Minuten Lesedauer
  • Mit der GlideScopedEvaluator- API können Sie Skripts in einem GlideRecord-Feld sowohl aus bereichsbezogenen als auch aus globalen Serverskripts auswerten.

    Diese API wertet Skripts innerhalb des Skriptfeldtyps aus. Der Bereich des Datensatzes definiert den Bereich des Skripts.

    GlideScopedEvaluator – GlideScopedEvaluator()

    Instanziiert ein GlideScopedEvaluator-Objekt.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine

    Bereichsbezogenes Äquivalent

    Um die GlideScopedEvaluator()-Methode in einer Bereichsanwendung zu verwenden, verwenden Sie die entsprechende Bereichsmethode: GlideScopedEvaluator().

    GlideScopedEvaluator – evaluateScript(GlideRecord grObj, String scriptField, Object variables)

    Wertet ein Skript aus einem GlideRecord-Feld aus.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    grObj GlideRecord Der GlideRecord enthält einen Skriptausdruck.
    scriptField Zeichenfolge (Optional) Der Name des Feldes, das den Skriptausdruck enthält.
    variables Objekt (Optional) Eine Zuordnung von Variablen mit Name-Wert-Paaren. Diese Variablen stehen dem Skript während der Ausführung dieser Methode zur Verfügung.
    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    Objekt Das Ergebnis der Skriptausführung.
    //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'));
    Ausgabe:
    admin says hello

    Bereichsbezogenes Äquivalent

    Um die evaluateScript()-Methode in einer Bereichsanwendung zu verwenden, verwenden Sie die entsprechende Bereichsmethode: evaluateScript().

    GlideScopedEvaluator – getVariable(String name)

    Gibt eine Variable aus einem GlideScopedEvaluator-Objekt zurück.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Der Name der Variable.
    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    Objekt Der Wert der angegebenen Variable.
    //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();
    Ausgabe:
    300

    Bereichsbezogenes Äquivalent

    Um die getVariable()-Methode in einer Bereichsanwendung zu verwenden, verwenden Sie die entsprechende Bereichsmethode: getVariable().

    GlideScopedEvaluator – putVariable(String name, Object value)

    Fügt eine Variable in das GlideScopedEvaluator- Objekt ein. Diese Variablen sind für das Skript verfügbar, das dieses GlideScopedEvaluator-Objekt ausführt.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Der Name der Variable.
    Wert Objekt Wert der Variable.
    Tabelle : 7. Ergebnisse
    Typ Beschreibung
    void
    //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();
    Ausgabe:
    300

    Bereichsbezogenes Äquivalent

    Um die putVariable()-Methode in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie die entsprechende bereichsbezogene Methode: putVariable().