---
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


---

Definieren Sie mit im Code Anwendungsmetadaten ServiceNow Fluent
================================================================

Definieren Sie Anwendungsmetadaten im Code mit ServiceNow Fluent und ServiceNow SDK {#ariaid-title1}
====================================================================================================

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

Definieren Sie mit im Code Anwendungsmetadaten ServiceNow Fluent und ServiceNow SDK.

Vorbereitungen
--------------

* Installieren Sie den ServiceNow Fluent -Sprachserver, um die Sprachverarbeitung und -validierung für ServiceNow Fluent in Visual Studio Codeabzurufen. Weitere Informationen finden Sie unter [Installieren Sie den ServiceNow Fluent -Sprachserver in Visual Studio Code.](https://servicenow-prod.fluidtopics.net/0UV2FJbppelK3RgmbxQJ8A "Rufen Sie die Sprachverarbeitung und -validierung für ServiceNow Fluent in Visual Studio Code mit dem Sprachserver ServiceNow Fluent ab.").
* Erstellen oder konvertieren Sie eine bereichsbezogene Anwendung mit ServiceNow SDK. Weitere Informationen finden Sie unter [Erstellen eine Anwendung mit ServiceNow SDK](https://servicenow-prod.fluidtopics.net/2mCmblu3P1osC3goadbrCg "Erstellen Sie eine bereichsbezogene Anwendung für die Entwicklung im Quellcode mit ServiceNow SDK.") oder .

{#define-metadata-code-fluent-sdk__ul_uk1_dsh_zbc}

Erforderliche Rolle: Administrator

Warum und wann dieser Vorgang ausgeführt wird
---------------------------------------------

ServiceNow Fluent ist eine auf TypeScript basierende domänenspezifische Sprache ( Domain Specific Language, Domänenspezifische Sprache) zum Definieren der Metadatendateien \[sys_metadata\], aus denen Anwendungen bestehen. Sie enthält APIs für die verschiedenen Arten von Metadaten, z. B. Tabellen, Rollen, ACLs, Business-Regeln und Automated Test Framework -Tests.
Weitere Informationen und Beispiele zu ServiceNow Fluent -APIs finden Sie unter [ServiceNow Fluent API-Referenz](https://servicenow-prod.fluidtopics.net/87N_Iz6~iqhr_utqhTB1Yg "Verwenden Sie die ServiceNow Fluent APIs, um die Metadaten zu definieren, aus denen bereichsbezogene Anwendungen im Quellcode mit ServiceNow IDE oder ServiceNow SDKbestehen.").

Prozedur
--------

1. Öffnen Sie in Visual Studio Codedas Verzeichnis für Ihre bereichsbezogene Anwendung.
2. Fügen Sie im Verzeichnis src/fluent eine Datei mit der Erweiterung .now.ts hinzu.  
   Sie können Anwendungsmetadaten in einer einzelnen Datei oder in beliebig vielen .now.ts- Dateien definieren und Dateien in Verzeichnissen innerhalb des Flow -Verzeichnisses organisieren.  
   Tipp:  
   Im Fließend -Verzeichnis können Sie auf eine Beispieldatei mit dem Namen index.now.tsverweisen.
3. Verwenden Sie in der Datei .now.ts Objekte in den ServiceNow Fluent APIs, um Metadaten in der Anwendung zu definieren.  
   Um beispielsweise eine Tabelle \[sys_db_object\] in der Anwendung zu erstellen, verwenden Sie die Tabellen-API. Das folgende Beispiel enthält eine einfache Tabelle für Aufgabenlisten unter Verwendung eines Tabellenobjekts mit den erforderlichen Eigenschaften und Werten.

       export const x_snc_example_to_do = Table({
           name: 'x_snc_example_to_do',
           schema: {
               deadline: DateColumn({ label: 'deadline' }),
               state: StringColumn({
                   label: 'State',
                   choices: {
                       ready: { label: 'Ready' },
                       completed: { label: 'Completed' },
                       in_progress: { label: 'In Progress' },
                   },
               }),
               task: StringColumn({ label: 'Task', maxLength: 120 }),
           },
       })

   Hinweis:  
   Sie können die Datensatz-API verwenden, um Anwendungsmetadaten zu definieren, die keine dedizierte API haben.
4. Fügen Sie die erforderlichen Importe für die APIs von @servicenow/sdk/corehinzu.  
   Um beispielsweise eine Tabelle mit einer Datumsspalte und einer Zeichenfolgenspalte zu definieren, importieren Sie die entsprechenden Objekte aus der Tabellen-API:

       import { Table, DateColumn, StringColumn } from '@servicenow/sdk/core'

5. **Wahlweise:** Für ServiceNow Fluent -APIs, die serverseitige Skripts verwenden, z. B. Geschäftsregeln, importieren Sie Code aus JavaScript-Modulen, um sie über die Skripteigenschaft eines Objekts aufzurufen.  
   In diesem Beispiel wird die Funktion `„showStateUpdate"` importiert, auf die dann in der Eigenschaft „Skript" verwiesen werden kann.

       import { showStateUpdate } from '../server/script.js'

6. Speichern Sie die Änderungen.
7. **Wahlweise:** Erstellen Sie Ihre Anwendung, und stellen Sie sie bereit, um Quellcode in Anwendungsmetadaten zu kompilieren und Ihre Änderungen in der -Instanz verfügbar zu machen. Weitere Informationen finden Sie unter [Erstellen und stellen Sie eine Anwendung mit bereit ServiceNow SDK](https://servicenow-prod.fluidtopics.net/309voZc~HPoOC1rUYFLTig "Erstellen Sie eine mit ServiceNow SDK entwickelte lokale Anwendung, und stellen Sie sie in einer Instanz ServiceNow von bereit.").
Tipp:  
Sie können die folgenden Anweisungen in einem Codekommentar verwenden, um Ihren Code zu verwalten:

* `@fluent-ignore`: Unterdrückt ServiceNow Fluent Diagnosewarnungen und -fehler in der folgenden Codezeile.
* `@fluent-disable-sync`: Deaktiviert die Synchronisierung von Changes mit einem Objekt ServiceNow Fluent. Verwenden Sie vor einem Anrufausdruck (z. B. `Record({ ... })`), um die Synchronisierung für dieses Objekt und seine untergeordneten Objekte zu deaktivieren. Verwenden Sie diese Direktive nur, wenn Sie Änderungen, die außerhalb des Quellcodes am Objekt vorgenommen werden, ignorieren und bei der Synchronisierung niemals aktualisieren möchten.
* `@fluent-disable-sync-for-file`: Deaktiviert die Synchronisierung von Changes mit einer Datei ServiceNow Fluent (.now.ts). Verwenden Sie in der ersten Zeile der Datei, um die Synchronisierung für den gesamten Code in der Datei zu deaktivieren. Verwenden Sie diese Direktive nur, wenn Sie Änderungen, die außerhalb des Quellcodes an der Datei vorgenommen werden, ignorieren und bei der Synchronisierung niemals aktualisieren möchten.
{#define-metadata-code-fluent-sdk__ul_dzm_xxw_ldc}

Definieren von Anwendungsmetadaten im Quellcode mit ServiceNow Fluent {#define-metadata-code-fluent-sdk__example_xdy_q1y_jbc}
-----------------------------------------------------------------------------------------------------------------------------

Verwenden Sie in Dateien mit der Erweiterung „.now.ts" Objekte in den ServiceNow Fluent APIs, um Metadaten in der Anwendung zu definieren. Sie müssen auch die erforderlichen Importe für die APIs von @servicenow/sdk/coreeinschließen.  
Das folgende Beispiel enthält die Definitionen einer Tabelle, eines Client-Skripts und einer Geschäftsregel in der Anwendung. Die Geschäftsregel verwendet eine Funktion aus dem JavaScript-Modul script.js.

    import '@servicenow/sdk/global'
    import { BusinessRule } from '@servicenow/sdk/core'
    import { ClientScript } from '@servicenow/sdk/core'
    import { Table, DateColumn, StringColumn } from '@servicenow/sdk/core'
    import { showStateUpdate } from '../server/script.js'

    //creates todo table, with three columns (deadline, status and task)
    export const x_snc_example_to_do = Table({
        name: 'x_snc_example_to_do',
        schema: {
            deadline: DateColumn({ label: 'deadline' }),
            state: StringColumn({
                label: 'State',
                choices: {
                    ready: { label: 'Ready' },
                    completed: { label: 'Completed' },
                    in_progress: { label: 'In Progress' },
                },
            }),
            task: StringColumn({ label: 'Task', maxLength: 120 }),
        },
    })

    //creates a client script that pops up 'Table loaded successfully!!' message everytime todo record is loaded
    ClientScript({
        $id: Now.ID['cs0'],
        name: 'my_client_script',
        table: 'x_snc_example_to_do',
        active: true,
        applies_extended: false,
        global: true,
        ui_type: 'all',
        description: 'Custom client script generated by Now SDK',
        messages: '',
        isolate_script: false,
        type: 'onLoad',
        script: script`function onLoad() {
            g_form.addInfoMessage("Table loaded successfully!!")
        }`,
    })

    //creates a business rule that pops up state change message whenever a todo record is updated
    BusinessRule({
        $id: Now.ID['br0'],
        action: ['update'],
        table: 'x_snc_example_to_do',
        script: showStateUpdate,
        name: 'LogStateChange',
        order: 100,
        when: 'after',
        active: true,
    })

Nach dem Erstellen und Bereitstellen der Anwendung generiert dieser Quellcode die folgenden Anwendungsmetadatendateien in der -Instanz.
Abbildung : 1. Aus ServiceNow Fluent -Code generierte Anwendungsmetadaten
**Zugehörige Konzepte**   

* [ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/Z7CoxAIlggHMm3Gb5jK7HA "Definieren Sie Anwendungsmetadaten im Quellcode mit der domänenspezifischen Programmiersprache ServiceNow Fluent.")

