---
sourceDocument: Yokohama Erstellen oder ändern Sie Anwendungen
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/yokohama/application-development

 Release :

    - yokohama

ft:locale :

    - de-DE

ft:publication_title :

    - Yokohama Erstellen oder ändern Sie Anwendungen

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Creator


---

Skriptfähige Servicekatalogvariablen
====================================

Skriptfähige Servicekatalogvariablen {#ariaid-title1}
=====================================================

* Freigeben Version: Yokohama
* 
* Aktualisiert 30. Januar 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 Minuten Lesedauer

Sie können Skripts verwenden, um auf eine beliebige Anforderungselementvariable aus einer Tabelle im Gültigkeitsbereich und in der non-scoped-Umgebung zu verweisen.  
Nachfolgend sehen Sie ein Beispiel für eine Variablenreferenz.

    current.variables.<variable_name>

Hierin verweist „current" auf den aktuellen Datensatz, und <var class="keyword varname">&lt;variable_name&gt;</var> ist der Name Ihrer Variablen.  
Hinweis:  
Um aus JavaScript auf eine Variable zu verweisen, muss sie einen Namen haben.

Wenn eine Variable Teil eines Variablensatzes ist, können Sie sie als current.variables referenzieren.\<variable_name\> oder current.variables\<variable_set_name\> . .

Der Variablensatz ist auch ein First Class Citizen im Servicekatalog. Ein Variablensatz verfügt wie Variablen über Lese-, Schreib- und Erstellungsrollen. Wenn Rollen für einen Variablensatz bereitgestellt werden, gelten die Rollen für die Variablen innerhalb des Satzes. Rollen einer einzelnen Variable werden von den Rollen des Variablensatzes überschrieben.

Eine Variable drucken
---------------------

    var original = current.variables.original_number;
    gs.print(original);

Eine Variable festlegen
-----------------------

    current.variables.name = "Auto-Generated:" + current.variables.asset_tag;

Ein Inventarelement mit aus Variablen festgelegten Feldern erstellen
--------------------------------------------------------------------

    doCreation(); 

    function doCreation ( ) { 
    var create = current.variables.create_item; 
    if (create == 'true') { // we want to create an asset 
      var computer = new GlideRecord('cmdb_ci_computer');
      computer.initialize();
      computer.asset_tag = current.variables.asset_tag;
      computer.serial_number = current.variables.serial_number;
      computer.name = current.variables.name;
      computer.manufacturer = current.variables.company;
      computer.insert(); } }

GlideElementVariable von Variablen und Variablensätzen abrufen, die einem GlideRecord zugeordnet sind {#c_ScriptableServiceCatalogVariables__section_qsn_w5x_ydb}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------

    now_GR.variables

Das Name-Wert-Paar von Variablen abrufen, die einem GlideRecord zugeordnet sind {#c_ScriptableServiceCatalogVariables__section_ztt_w5x_ydb}
-------------------------------------------------------------------------------------------------------------------------------------------

    now_GR.variables.getVariableValue();

Ruft eine Liste von GlideElementVariable-Elementen für Variablen in einem Aufgabendatensatz ab {#c_ScriptableServiceCatalogVariables__section_vmy_w5x_ydb}
----------------------------------------------------------------------------------------------------------------------------------------------------------

    now_GR.variables.getElements();

Ruft eine Liste von GlideElementVariable-Elementen für Variablen (einschließlich mehrzeiligen Variablensatz) in einem Aufgabendatensatz ab {#c_ScriptableServiceCatalogVariables__section_wky_ln1_j3b}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    now_GR.variables.getElements(true);

Hinweis:  
Die Methode „getElements()" gibt alle Variablen zurück, die im angegebenen Aufgabendatensatz vorhanden sind, mit Ausnahme der Formatierervariablen wie Bezeichnung, Pause, Containerende, Containerteilung usw.

APIs für GlideElementVariable {#c_ScriptableServiceCatalogVariables__section_zbb_sn1_j3b}
-----------------------------------------------------------------------------------------

* now_GR.variables\<var_name\> .isMultiRow() : Ruft ab, ob das GlideElementVariable ein mehrzeiliger Variablensatz oder eine Variable ist.
* now_GR.variables\<var_name\> .getQuestion() : Fragenobjekt für eine Variable abrufen. Gilt nur für eine Variable (isMultiRow() ist „false") und nicht für einen mehrzeiligen Variablensatz.
* now_GR.variables\<var_name\> .getLabel() : Ruft die Bezeichnung des GlideElementVariable ab. Für eine Variable wird die Bezeichnung der Variable zurückgegeben. Bei einem mehrzeiligen Variablensatz wird der Titel des Variablensatzes zurückgegeben.
* now_GR.variables\<var_name\> .canRead() : Ruft ab, ob der Anwender eine Variable oder einen mehrzeiligen Variablensatz anzeigen kann.
* now_GR.variables\<var_name\> .canWrite() : Rufen Sie ab, ob der Anwender eine Variable oder einen mehrzeiligen Variablensatz bearbeiten kann.
* now_GR.variables\<var_name\> .getDecryptedValue() : Entschlüsselten Wert für eine maskierte Variable abrufen. Gilt nur für eine maskierte Variable.
* now_GR.variables\<var_name\> .getRows() : Ruft die Liste der Zeilenobjekte für einen mehrzeiligen Variablensatz ab. Gilt nur für einen mehrzeiligen Variablensatz (isMultiRow() ist „wahr").
* now_GR.variables\<var_name\> .getRowCount() : Ruft die Anzahl der Zeilen für den mehrzeiligen Variablensatz ab. Gilt nur für einen mehrzeiligen Variablensatz (isMultiRow() ist „wahr").
{#c_ScriptableServiceCatalogVariables__ul_mw5_tn1_j3b}

Beispiel für den Zugriff auf GlideRecord-Variablen für die Aufgabentabelle {#c_ScriptableServiceCatalogVariables__section_vrc_jcy_ydb}
--------------------------------------------------------------------------------------------------------------------------------------

    var now_GR = new GlideRecord('sc_req_item'); 
    if (now_GR.get('635a1f5387320300e0ef0cf888cb0b73')) { 
        var variables = now_GR.variables.getElements(); 
        for (var i=0;i<variables.length;i++) { 
            var question = variables[i].getQuestion(); 
            gs.log(question.getLabel() + ":" + question.getValue()) 
        } 
    }

Beispiel für den Zugriff auf einen mehrzeiligen Variablensatz von „GlideRecord" für die Aufgabentabelle {#c_ScriptableServiceCatalogVariables__section_j4y_bn1_j3b}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------

    var now_GR = new GlideRecord('sc_req_item');
    now_GR.get('02c38dcd87013300e0ef0cf888cb0bb2');

    var vars = now_GR.variables.getElements(true);

    for (var i=0; i<vars.length; i++) {
        var now_V = vars[i];
        if (now_V.isMultiRow()) {
            var rows = now_V.getRows();
            for (var j=0; j<now_V.getRowCount(); j++) {
                var row = rows[j];
                var cells = row.getCells();
                for (var k=0; k<cells.length; k++) {
                    var cell = cells[k];
                    gs.info(cell.getLabel() + ":" + cell.getCellDisplayValue())
                }
            }
        }
    }

Mehrzeiliger Variablensatz {#c_ScriptableServiceCatalogVariables__section_y2m_tkk_b2b}
--------------------------------------------------------------------------------------

{#c_ScriptableServiceCatalogVariables__table_xz2_tnk_b2b__entry__2}

|                                       Vorgang                                       |                                                                   Verwendung                                                                   |
|-------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
| Tabellenvorgänge                                                                                                                                                                                                                    ||
| JSON-Array-Wert als Zeichenfolge zurückgeben                                        | now_GR.variables.table_var                                                                                                                     |
| Wert eines mehrzeiligen Variablensatzes festlegen                                   | now_GR.variables.table_var = <val> Hinweis: Ein Array von geordneten (Schlüssel-Wert-)Paaren kann ebenfalls als Eingabe verwendet werden.      |
| Wert der Spalte „var1" eines mehrzeiligen Variablensatzes abrufen                   | now_GR.variables.table_var.var1                                                                                                                |
| Wert eines Variablensatzes „var1" festlegen                                         | now_GR.variables.table_var.var1 = <val> Hinweis: Ein Array von geordneten (Schlüssel-Wert-)Paaren kann ebenfalls als Eingabe verwendet werden. |
| Zeilenvorgänge                                                                                                                                                                                                                      ||
| Aktuelle Zeilenanzahl ermitteln                                                     | now_GR.variables.table_var.getRowCount()                                                                                                       |
| Gibt die durch die Variable „i" angegebene Zeile zurück - getRow(\<int\> i)         | var row = now_GR.variables.table_var.getRow(<int> i);                                                                                          |
| Zellenwert für eine Fragenspalte abrufen, die \<var_name\> zugeordnet ist           | row.<var_name>                                                                                                                                 |
| Zellenwert für eine Fragenspalte festlegen, die \<var_name\> zugeordnet ist         | row.setCellValue('<var_name>',value)                                                                                                           |
| Zellenwert für eine Fragenspalte festlegen, die \<var_name\> zugeordnet ist         | row.<var_name> = value                                                                                                                         |
| Leere Zeile am Ende der Tabelle hinzufügen und ein skriptfähiges Objekt zurückgeben | var row = now_GR.variables.table_var.addRow()                                                                                                  |
| Eine Zeile löschen                                                                  | row.deleteRow()                                                                                                                                |
[Tabelle : 1. Mehrzeiliger Variablensatz]

{#c_ScriptableServiceCatalogVariables__table_xz2_tnk_b2b}

Hinweise und Einschränkungen
----------------------------

* //Single column of table_Var
* now_GR.variables.table_var.var1
* now_GR.variables.table_var.var1 =\<val\>

1. Das Festlegen einer Variablen ist nur in einer Business Rule vom Typ Vor möglich. Variablen, die in einer Regel vom Typ Nach festgelegt werde, werden nicht in die Datenbank geschrieben.
2. Es gibt keine Möglichkeit, Namespace-Kollisionen mit Variablen zu verhindern. Wenn Sie zwei Variablen namens „computer_speed" erstellen, wird nur eine davon angezeigt; die zweite Variable überschreibt die erste.
3. Datums-/Uhrzeitvariablen verwenden dieselben Regeln für Zeitzonenformatierung und -speicherung wie alle anderen Datumsangaben im System. Sie werden intern in GMT gespeichert, jedoch für die Anzeige in die lokale Zeitzone und das Format des Benutzers konvertiert.
{#c_ScriptableServiceCatalogVariables__ol_am5_zq4_pp}

