---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://www.servicenow.com/docs/r/de-DE/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu-API-Referenz

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideDBFunctionCaseBuilder : Global

# GlideDBFunctionCaseBuilder : Global {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 Minuten Lesedauer

Mit der GlideDBBaseStatementBuilder- API können Sie SQL-CASE-Anweisungen erstellen und Werte basierend auf einer Reihe von Bedingungen zurückgeben.

Sie können diese API als Teil der Definition der [GlideElement : Global](https://www.servicenow.com/docs/0QCHQRquZarIDEF_w1nhlA#c_GlideElementAPI "Die GlideElement- API bietet eine Reihe praktischer Skriptmethoden für den Umgang mit Feldern und ihren Werten. GlideElement- Methoden sind für die Felder des aktuellen Glide-Datensatzes verfügbar.") -API oder beim Abfragen einer Tabelle verwenden. Um eine `CASE` -Anweisung zu erstellen, instanziieren Sie zunächst das Objekt GlideDBFunctionCaseBuilder mit seinem Konstruktor GlideDBFunctionCaseBuilder(). Definieren Sie dann einen oder mehrere Fälle mit einer Reihe von Aufrufen vom Typ „ when()" und „thenn()" gefolgt von einem einzelnen, optionalen Aufruf von sonst(). Rufen Sie zuletzt die build()- Methode auf, um den Builder abzuschließen und die vollständige Datenbankfunktions-Case-Anweisung zu erstellen. Diese Anweisung kann dann direkt oder als Teil anderer Glide-Funktionsdefinitionen verwendet werden.

Erforderliche Rolle: Administrator, Funktion_Feld_Administrator.

## GlideDBFunctionCaseBuilder: GlideDBFunctionCaseBuilder() {#ariaid-title2}

Instanziiert ein GlideDBFunctionCaseBuilder-Objekt.
{#GlideDBFCB_O__table_zxm_3td_svb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 1. Parameter]

{#GlideDBFCB_O__table_zxm_3td_svb}  
In diesem Beispiel wird ein GlideDBFunctionCaseBuilder-Objekt instanziiert.

    var caseBuilder = new GlideDBFunctionCaseBuilder();

## GlideDBFunctionCaseBuilder -- build() {#ariaid-title3}

Beendet die Liste der Bedingungen und erstellt die endgültige CASE-Anweisung.
{#GlideDBFCB-build__table_y1r_4ch_jbb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 2. Parameter]

{#GlideDBFCB-build__table_y1r_4ch_jbb} {#GlideDBFCB-build__table_z1r_4ch_jbb__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Die abgeschlossene Fallbeschreibung. |
[Tabelle : 3. Ergebnisse]

{#GlideDBFCB-build__table_z1r_4ch_jbb}  
Das folgende Beispiel zeigt, wie eine einfache Fallanweisung definiert und erstellt wird. Abhängig vom numerischen Wert des Auswirkungsfelds wird eine von vier verschiedenen Zeichenfolgen ausgegeben.

    const caseStatement = new GlideDBFunctionCaseBuilder()
        .whenCompare("impact", "'='", "'1'").then("'CRITICAL'")
        .whenCompare("impact", "'='", "'2'").then("'URGENT'")
        .whenCompare("impact", "'='", "'3'").then("'IMPORTANT'")
        .otherwise("'NOT IMPORTANT'")
        .build();

    const gr_incident = new GlideRecord("incident");
    gr_incident.addFunction(caseStatement);
    gr_incident.setLimit(10);
    gr_incident.query();
    while(gr_incident.next())  {
        gs.info("impact: {0}  case: {1}",
                [gr_incident.impact, gr_incident.getValue(caseStatement)]);
    }

Ausgabe:

    *** Script: impact: 2  case: URGENT
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 3  case: IMPORTANT
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 3  case: IMPORTANT
    *** Script: impact: 3  case: IMPORTANT

## GlideDBFunctionCaseBuilder -- sonst (Zeichenfolgenexp) {#ariaid-title4}

Optional. Nach mindestens einem Aufrufpaar von wenn und dann können Sie mit dem sonst()-Aufruf einen Wert angeben, der ausgegeben wird, wenn keiner der Wenn-Ausdrücke erfüllt ist.
{#GDBFCB-otherwise_exp__table_nd4_ngf_xwb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| abgel | Zeichenfolge | Auszugebender Wert. Kann eine Konstante, ein Verweis auf ein Feld oder eine andere Glide-Funktion sein. |
[Tabelle : 4. Parameter]

{#GDBFCB-otherwise_exp__table_nd4_ngf_xwb} {#GDBFCB-otherwise_exp__table_od4_ngf_xwb__entry__2}

| Typ | Beschreibung |
|-|-|
| GlideDBFunctionCaseBuilder | Das Flow-Generator-Objekt zum Fortsetzen der Erstellung der Anweisung. |
[Tabelle : 5. Ergebnisse]

{#GDBFCB-otherwise_exp__table_od4_ngf_xwb}  
Das folgende Beispiel zeigt, wie eine einfache Fallanweisung definiert und erstellt wird.

    const caseStatement = new GlideDBCaseFunctionBuilder()
        .whenEqual("impact", "'1'").then("'CRITICAL'") 
        .whenEqual("impact", "'2'").then("category")
        .whenEqual("impact", "'3'").then("length(short_description)")
        .otherwise("'NOT IMPORTANT'")
        .build();

    const gr_incident = new GlideRecord("incident");
    gr_incident.addFunction(caseStatement);
    gr_incident.setLimit(10);
    gr_incident.query();
    while(gr_incident.next())  {
          gs.info("impact: {0}  case: {1}",
                  [gr_incident.impact, gr_incident.getValue(caseStatement)]);
    }

Ausgabe:

    *** Script: impact: 2  case: inquiry
    *** Script: impact: 2  case: Hardware
    *** Script: impact: 1  case:  CRITICAL
    *** Script: impact: 2  case: database
    *** Script: impact: 2  case: inquiry
    *** Script: impact: 3  case: 28
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 3  case: 17
    *** Script: impact: 3  case: 29

## GlideDBFunctionCaseBuilder - dann (Zeichenfolgenexp) {#ariaid-title5}

Nach einer beliebigen wenn ()-Methode können Sie mit dem Ausdruck () einen Wert angeben, der ausgegeben wird, wenn der Ausdruck wenn () erfüllt ist.
{#GDBFCB-then_exp__table_xmq_42f_xwb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| abgel | Zeichenfolge | Auszugebender Wert. Kann eine Konstante, ein Verweis auf ein Feld oder eine andere Glide-Funktion sein. |
[Tabelle : 6. Parameter]

{#GDBFCB-then_exp__table_xmq_42f_xwb} {#GDBFCB-then_exp__table_ymq_42f_xwb__entry__2}

| Typ | Beschreibung |
|-|-|
| GlideDBFunctionCaseBuilder | Das Flow-Generator-Objekt zum Fortsetzen der Erstellung der Anweisung. |
[Tabelle : 7. Ergebnisse]

{#GDBFCB-then_exp__table_ymq_42f_xwb}  
Das folgende Beispiel zeigt, wie eine einfache Fallanweisung definiert und erstellt wird. In diesem Fall zeigen die Ausdrücke dann (), wie Sie nicht nur Zeichenfolgen, sondern auch die Ergebnisse anderer Glide-Funktionen (z. B. der `Länge (kurze Beschreibung) ) ausgeben können`.

    const caseStatement = new GlideDBCaseFunctionBuilder()
        .whenEqual("impact", "'1'").then("'CRITICAL'") 
        .whenEqual("impact", "'2'").then("category")
        .whenEqual("impact", "'3'").then("length(short_description)")
        .otherwise("'NOT IMPORTANT'")
        .build();

    const gr_incident = new GlideRecord("incident");
    gr_incident.addFunction(caseStatement);
    gr_incident.setLimit(10);
    gr_incident.query();
    while(gr_incident.next())  {
          gs.info("impact: {0}  case: {1}",
                  [gr_incident.impact, gr_incident.getValue(caseStatement)]);
    }

Ausgabe:

    *** Script: impact: 2  case: inquiry
    *** Script: impact: 2  case: Hardware
    *** Script: impact: 1  case:  CRITICAL
    *** Script: impact: 2  case: database
    *** Script: impact: 2  case: inquiry
    *** Script: impact: 3  case: 28
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 3  case: 17
    *** Script: impact: 3  case: 29

## GlideDBFunctionCaseBuilder - wenn (Zeichenfolgenfunktion) {#ariaid-title6}

Die wenn()- Methode ist der vielseitigste der unterstützten Ausdrücke und ermöglicht es Ihnen, eine beliebige Glide-Funktion mit einem booleschen Wert als zu erfüllende Bedingung anzugeben.
{#GDBFCB-whenFunc__table_dmg_sy2_xwb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Funktion | Zeichenfolge | Eine Glide-Funktion, die bei der Auswertung ein Ergebnis mit einem booleschen Wert ergibt. Mögliche Werte: * GlideFunktion:vergleichen * GlideFunktion:und * GlideFunktion:oder {#GDBFCB-whenFunc__ul_zc1_zy2_xwb} |
[Tabelle : 8. Parameter]

{#GDBFCB-whenFunc__table_dmg_sy2_xwb} {#GDBFCB-whenFunc__table_emg_sy2_xwb__entry__2}

| Typ | Beschreibung |
|-|-|
| glideDBFunctionCaseBuilder | Das Objekt zum Fortsetzen der Erstellung der Anweisung. |
[Tabelle : 9. Ergebnisse]

{#GDBFCB-whenFunc__table_emg_sy2_xwb}  
Das folgende Beispiel zeigt, wie eine einfache Fallanweisung definiert und erstellt wird. In diesem Fall wird die Methode wenn() verwendet, um komplexere Vergleichsausdrücke anzugeben. Wenn der Ausdruck als „true" ausgewertet wird, wird die entsprechende Zeichenfolge zurückgegeben.

    const caseStatement = new GlideDBFunctionCaseBuilder() 
        // if impact == 1 AND category == 'Software' then output "CRITICAL SOFTWARE" 
        .when("and(compare(impact, '=', '1'), compare(category, '=',  
    'Software')") 
            .then("'CRITICAL SOFTWARE'") 
        // if impact == 1 then output "CRITICAL OTHER" 
        .when("compare(impact, '=', '1')") 
            .then("'CRITICAL OTHER'") 
        // if impact == 2 OR category == 'Software' then output "URGENT" 
        .when("or(compare(impact, '=', '2'), compare(category, '=', 'Software')") 
            .then("'URGENT'") 
        // If none of the above expressions are true, output "NOT IMPORTANT" 
        .otherwise("'NOT IMPORTANT'") 
        .build(); 
     
    const gr_incident = new GlideRecord("incident");
    gr_incident.addFunction(caseStatement); 
    gr_incident.setLimit(20); 
    gr_incident.query(); 
    while(gr_incident.next())  { 
          gs.info("impact: {0}  category: {1}  case: {2}", 
                [gr_incident.impact, gr_incident.category, gr_incident.getValue(caseStatement)]); 
    }

Ausgabe:

    impact: 2  category: inquiry  case: URGENT
    impact: 2  category: Hardware  case: URGENT
    impact: 1  category: inquiry  case:  CRITICAL OTHER
    impact: 2  category: database  case: URGENT
    impact: 2  category: inquiry  case: URGENT
    impact: 3  category: software  case: URGENT
    impact: 1  category: inquiry  case: CRITICAL OTHER
    impact: 1  category: inquiry  case: CRITICAL OTHER
    impact: 3  category: inquiry  case: NOT IMPORTANT
    impact: 3  category: inquiry  case: NOT IMPORTANT
    impact: 3  category: hardware  case: NOT IMPORTANT
    impact: 3  category: inquiry  case: NOT IMPORTANT
    impact: 3  category: hardware  case: NOT IMPORTANT
    impact: 3  category: inquiry  case: NOT IMPORTANT
    impact: 1  category: inquiry  case: CRITICAL OTHER
    impact: 1  category: software  case: CRITICAL SOFTWARE
    impact: 3  category: inquiry  case: NOT IMPORTANT
    impact: 3  category: inquiry  case: NOT IMPORTANT
    impact: 2  category: software  case: URGENT
    impact: 1  category: software  case: CRITICAL SOFTWARE

## GlideDBFunctionCaseBuilder - wennCompare(String exp1, String op, String exp2) {#ariaid-title7}

Startet eine Vergleichsfallbedingung.
{#GlideDBFCB-whenCompare_S_S_S__table_jj1_2q2_xwb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| exp1 | Zeichenfolge | Vergleichsausdruck links. Kann eine Konstante, ein Verweis auf ein Feld oder eine andere Glide-Funktion sein. |
| Op | Zeichenfolge | Vergleichsoperator, in Anführungszeichen eingeschlossen. Gültige Werte: * "'='" * "'\<'" * "'\>'" * "'\<='" * "'\>='" {#GlideDBFCB-whenCompare_S_S_S__ul_gpp_br2_xwb} |
| exp2 | Zeichenfolge | Rechter Vergleichsausdruck. Kann eine Konstante, ein Verweis auf ein Feld oder eine andere Glide-Funktion sein. |
[Tabelle : 10. Parameter]

{#GlideDBFCB-whenCompare_S_S_S__table_jj1_2q2_xwb} {#GlideDBFCB-whenCompare_S_S_S__table_kj1_2q2_xwb__entry__2}

| Typ | Beschreibung |
|-|-|
| GlideDBFunctionCaseBuilder | Das Funktionsgeneratorobjekt zum Fortsetzen der Erstellung der Anweisung. |
[Tabelle : 11. Ergebnisse]

{#GlideDBFCB-whenCompare_S_S_S__table_kj1_2q2_xwb}  
Das folgende Beispiel zeigt, wie eine einfache Fallanweisung definiert und erstellt wird. In diesem Fall wird die MethodewhenCompare() verwendet, um den Wert des Auswirkungsfelds mit einer Zahl zu vergleichen und bei Übereinstimmung eine angegebene Zeichenfolge auszugeben.

    const caseStatement = new GlideDBFunctionCaseBuilder()
        .whenCompare("impact", "'='", "'1'").then("'CRITICAL'")
        .whenCompare("impact", "'='", "'2'").then("URGENT")
        .whenCompare("impact", "'='", "'3'").then("IMPORTANT")
        .otherwise("'NOT IMPORTANT'")
        .build();

    const gr_incident = new GlideRecord("incident");
    gr_incident.addFunction(caseStatement);
    gr_incident.setLimit(10);
    gr_incident.query();
    while(gr_incident.next()) {
        gs.info("impact: {0} case: {1}",
                [gr_incident.impact, gr_incident.getValue(caseStatement)]);
    }

Ausgabe:

    *** Script: impact: 2  case: URGENT
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 3  case: IMPORTANT
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 3  case: IMPORTANT
    *** Script: impact: 3  case: IMPORTANT

## GlideDBFunctionCaseBuilder - wenn Equal(String exp1, String exp2) {#ariaid-title8}

Ähnlich wie wenn Sie Vergleich ()sind, ist wenn Equal () eine praktische Methode, um die Gleichheit zu überprüfen. Entspricht wennVergleich(linkerAusdruck, '=', rechterAusdruck).
{#GDBCFB-whenEqual__table_hcb_2w2_xwb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| exp1 | Zeichenfolge | Vergleichsausdruck links. Kann eine Konstante, ein Verweis auf ein Feld oder eine andere Glide-Funktion sein. |
| exp2 | Zeichenfolge | Rechter Vergleichsausdruck. Kann eine Konstante, ein Verweis auf ein Feld oder eine andere Glide-Funktion sein. |
[Tabelle : 12. Parameter]

{#GDBCFB-whenEqual__table_hcb_2w2_xwb} {#GDBCFB-whenEqual__table_icb_2w2_xwb__entry__2}

| Typ | Beschreibung |
|-|-|
| GlideDBFunctionCaseBuilder | Das Funktionsgeneratorobjekt zum Fortsetzen der Erstellung der Anweisung. |
[Tabelle : 13. Ergebnisse]

{#GDBCFB-whenEqual__table_icb_2w2_xwb}  
Das folgende Beispiel zeigt, wie eine einfache Fallanweisung definiert und erstellt wird. In diesem Fall wird die wennEqual()- Methode verwendet, um den Wert des Auswirkungsfelds mit einer Zahl zu vergleichen und bei Übereinstimmung eine angegebene Zeichenfolge auszugeben.

    const caseStatement = new GlideDBFunctionCaseBuilder()
        .whenEqual("impact", "'1'").then("'CRITICAL'")
        .whenEqual("impact", "'2'").then("'URGENT'")
        .whenEqual("impact", "'3'").then("'IMPORTANT'")
        .otherwise("'NOT IMPORTANT'")
        .build();

    const gr_incident = new GlideRecord("incident");
    gr_incident.addFunction(caseStatement);
    gr_incident.setLimit(10);
    gr_incident.query();
    while(gr_incident.next())  {
        gs.info("impact: {0}  case: {1}",
                [gr_incident.impact, gr_incident.getValue(caseStatement)]);
    }

Ausgabe:

    *** Script: impact: 2  case: URGENT
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 2  case: URGENT
    *** Script: impact: 3  case: IMPORTANT
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 1  case: CRITICAL
    *** Script: impact: 3  case: IMPORTANT
    *** Script: impact: 3  case: IMPORTANT


