---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/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


---

# RTETransformer: Bereichsbezogen

# RTETransformer: Bereichsbezogen {#ariaid-title1}

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

Die RTETransformer- API bietet eine Methode zum Transformieren und Speichern eines Arrays von Nachrichten in einem Datensatz in der zugehörigen Instanz ServiceNow basierend auf einer angegebenen ETL-Definition (Extrahieren, Transformieren und Laden) in einem Datensatz.
Sie können diese API beispielsweise verwenden, wenn Sie über JSON-Nutzlast(en) verfügen, die Anwenderinformationen enthalten, und Sie möchten diese Informationen mit der Robust Transform Engine (RTE) in die Tabelle „sys_user" umwandeln.

Verwenden Sie den Namespace `sn_impex`, wenn Sie auf diese API zugreifen.

Weitere Informationen finden Sie unter [Vorgänge der robusten Transformations-Engine definieren](https://www.servicenow.com/docs/access?context=define-rte-operations&version=xanadu&pubname=xanadu-integrate-applications&ft:locale=en-US).

## RTETransformer -- rteTransform(String transformDefinitionId, Boolean verboseLogging, Zeichenfolgenquelle, Nummer BatchSize) {#ariaid-title2}

Instanziiert ein RTETransformer-Objekt.
{#RTETrans-RTETrans_S_B_S_N__table_rsd_fk2_jtb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| transformDefinitionId | Zeichenfolge | Sys_id der ETL-Definition (Extract, Transform, and Load), die für die Transformation verwendet werden soll. Befindet sich in der Tabelle ETL-Definitionen \[sys_rte_eb_etl_definition\]. Informationen zum Erstellen einer ETL-Definition finden Sie unter [ETL-Definitionen (Extract Transform Load) erstellen](https://www.servicenow.com/docs/access?context=create-etl-definitions&version=xanadu&pubname=xanadu-integrate-applications&ft:locale=en-US). |
| verboseLogging | Boolean | Kennzeichnung, die angibt, ob die ausführliche Protokollierung und die Erstellung von Importsatzzeilen für das Debugging aktiviert werden sollen. Gültige Werte: * „wahr": Aktiviert die Protokollierung und die Erstellung von Importsatzzeilen. * „falsch": Protokollierung und Erstellung von Importsatzzeilen nicht aktivieren. {#RTETrans-RTETrans_S_B_S_N__ul_u1v_fm2_jtb} |
| Quelle | Zeichenfolge | Namensfeld des Importsatz-Datensatzes. |
| batchSize | Nummer | Anzahl der gleichzeitig zu verarbeitenden Nachrichten (Batch). Wenn in einer Nutzlast beispielsweise 10 Nachrichten vorhanden sind und dieser Wert auf 2 festgelegt ist, führt die Methode fünf separate Batch-Aufträge aus, um alle Nachrichten in der Nutzlast zu verarbeiten. |
[Tabelle : 1. Parameter]

{#RTETrans-RTETrans_S_B_S_N__table_rsd_fk2_jtb}  
Das folgende Codebeispiel zeigt, wie ein RTETransformer-Objekt für die Quelle testSourceRecord mit einer Batchgröße von 10 instanziiert wird.

    (function(/*CTIOperationRequest*/ request, /*CTIOperationResponse*/ response, /*Context*/ ctx) {    
      // Uses an ETL definition with a target table of incident, and mappings for the number and short description field
      var transformer = new sn_impex.RTETransformer("c58f1c6377110110f5455d14cd5a998b", true, "testSourceRecord", 10);
      var messages = ["{\"number\":\"testnumber\",\"short_description\":\"testdesc\"}"];
      var results = transformer.transform(messages);

      for (var i = 0; i < results.length; i++) {
        var dataList = results[i].data.incident;
        gs.log("source record id: " + results[i].sourceRecordSysId);
        gs.log("status: " + results[i].status);
        for (var j = 0; j < dataList.length; j++) {
          gs.log("number:" + dataList[j].number);
          gs.log("short desc:" + dataList[j].short_description);
        }
      }
    })(request, response, ctx);

## RTETransformer -- transform(Array-Nachricht) {#ariaid-title3}

Transformiert und speichert ein Array von Nachrichten in einem Datensatz in der zugeordneten Instanz ServiceNow basierend auf einer angegebenen ETL-Definition (Extrahieren, Transformieren und Laden).
Wenn Sie beispielsweise Benutzerinformationen in einen sys_user-Datensatz umwandeln möchten, können Sie ein Nachrichten-Array mit einer einzelnen Nachricht erstellen und an diese Transformationsmethode übergeben.
{#RTETrans-transform_A__table_xsb_bq2_jtb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| message | Array von Objekten | Stringifizierte JSON-Objekte, die die Datensätze darstellen, die basierend auf der ETL-Definition transformiert werden sollen. Wenn Sie beispielsweise einen einzelnen Anwender mit den Daten „Aktiv", „E-Mail", „Vorname" und „Nachname" in die Tabelle „sys_user" umwandeln möchten, sieht die Nachricht ähnlich aus: [ { "active":"true", "email":"example@servicenow.com", "first_name":"Jane", "last_name":"Doe" } ] Hinweis: Die Feldnamen müssen mit dem Feld/Pfad der Quellentitätsfelder übereinstimmen. |
[Tabelle : 2. Parameter]

{#RTETrans-transform_A__table_xsb_bq2_jtb} {#RTETrans-transform_A__table_ysb_bq2_jtb__entry__2}

| Name | Beschreibung |
|-|-|
| Daten | Daten für die transformierten Datensätze, nach Tabellenname geordnet. Die zurückgegebenen Datensatzdaten entsprechen den zugeordneten Feldern, die in der ETL-Definition angegeben sind. Datentyp: Objekt "data": { "tableName": [] } |
| Daten.Tabellenname | Details der Tabelle, die die Datensätze enthält. Datentyp: Array von Objekten "tableName": [{ "sys_id": String, // Other data for a single transformed record }] } Beispiel: "sys_user": [{ "sys_id":"b29e629877130110f5455d14cd5a99ad", "active": "true", "email": "example@servicenow.com", "first_name": "Jane", "last_name": "Doe" }] |
| data.tableName.sys_id | Sys_id des Datensatzes in der Tabelle. Datentyp: Zeichenfolge |
| Daten.Tabellenname\<other_ETL_info\> | Zusätzliche Felder, die in der übergebenen ETL-Datei angegeben wurden. Datentyp: Beliebig |
| message | Wenn bei der Transformation des angegebenen Datensatzes ein Fehler auftritt, eine Meldung, die den Fehler beschreibt. NULL, wenn die Transformation erfolgreich ist. Datentyp: Zeichenfolge |
| sourceRecordSysId | Sys_id des Importsatz-Tabellendatensatzes. Der Name der Importsatztabelle lautet JSON Event Senke \[imp_json_event_sink\]. Datentyp: Zeichenfolge |
| status | Status der Transformation, z. B. „Verarbeitet" oder „Fehler". Datentyp: Zeichenfolge |
[Tabelle : 3. Ergebnisse]

{#RTETrans-transform_A__table_ysb_bq2_jtb}  
Das folgende Codebeispiel zeigt, wie ein Datensatz in der Tabelle „Benutzer" \[sys_user\] umgewandelt und gespeichert wird.

    (function(/*CTIOperationRequest*/ request, /*CTIOperationResponse*/ response, /*Context*/ ctx) { 
      // Uses an ETL definition with a target table of sys_user, and mappings for the active, 
      //email, first name, and last name fields
      var transformer = new sn_impex.RTETransformer("c58f1c6377110110f5455d14cd5a998b", true, "testSourceRecord", 10);
      var messages = [JSON.stringify({
        "active":"true",
        "email":"example@servicenow.com",
        "first_name":"Jane",
        "last_name":"Doe"
      }), 
      JSON.stringify({
        "active":"true",
        "email":"example2@servicenow.com",
        "first_name":"John",
        "last_name":"Deer"
      })];
      var results = transformer.transform(messages);

      for (var i = 0; i < results.length; i++) { 
        var dataList = results[i].data.sys_user;
        gs.log("source record id: " + results[i].sourceRecordSysId); gs.log("status: " + results[i].status);
        for (var j = 0; j < dataList.length; j++) { 
          gs.log("First Name: " + dataList[j].first_name);
          gs.log("Last Name: " + dataList[j].last_name);
          gs.log("Email: " + dataList[j].email;
          gs.log("Active: " + dataList[j].active;
        }
      }
    }

Ergebnisse:

    source record id: b29e629877130110f5455d14cd5a99ad
    status: PROCESSED
    First Name: Jane
    Last Name: Doe
    Email: example@servicenow.com
    Active: true
    First Name: John
    Last Name: Deer
    Email: example2@servicenow.com
    Active: true


