Erstellen Sie eine ETL-Transformationszuordnung
IntegrationHub ETL bietet ein geführtes Setup, das Sie durch die Durchführung aller erforderlichen Aufgaben zum Erstellen einer ETL-Transformationszuordnung für eine bestimmte Integration führt.
Geführtes Setup
Das Guided Setup organisiert alle Aufgaben in der richtigen Reihenfolge, verfolgt den Abschluss von Aufgaben und erzwingt alle Aufgabenabhängigkeiten. Aufgaben, die vom Abschluss anderer Aufgaben abhängen, werden aktiviert oder deaktiviert, wenn Sie das Tool durchlaufen und Aufgaben abschließen.
Verwenden Sie das Guided Setup auf der Seite des ETL-Transformationszuordnungsassistenten, um die folgenden Aufgaben auszuführen.
Importieren Sie Quelldaten, und geben Sie grundlegende Details an
Geben Sie grundlegende Details für die Integration an, z. B. die Quelle der Daten, die Sie in CMDB integrieren möchten, und importieren Sie die Quelldaten.
Vorbereitungen
Die Datenquelle, die Sie für die ETL-Transformationszuordnung auswählen möchten, muss sich im selben Anwendungsbereich befinden wie die in der aktuellen Sitzung verwendete.
Wenn Sie eine ETL-Transformationszuordnung öffnen, wird die Zuordnung standardmäßig nicht validiert. Sie können diesen Validierungsschritt aktivieren, indem Sie die Systemeigenschaft sn_int_studio.validation.enabled der Tabelle „Systemeigenschaften“ [sys_properties] hinzufügen und sie dann auf truesetzen. Nach Abschluss der Validierung wählen Sie, wie Validierungsfehler behandelt werden sollen.
Erforderliche Rolle: cmdb_inst_admin
Prozedur
Zeigen Sie eine Vorschau der Daten an, und bereiten Sie sie vor
Überprüfen Sie Beispieldatensätze von Rohquelldaten, die in die CMDB integriert werden. Transformieren und bereiten Sie Daten bei Bedarf so vor, dass sie an den Zielklassen und -attributen ausgerichtet sind.
Vorbereitungen
Die Anzahl der Datensätze in den Beispieldaten wird global durch die Systemeigenschaft sn_int_studio.preview.sizebestimmt, die standardmäßig auf 100 festgelegt ist. Die maximale Anzahl von Datensätzen in den Beispieldaten, die IntegrationHub ETL verarbeiten kann, beträgt 10.000. Wenn Sie diese Eigenschaft auf einen Wert über dem Grenzwert von 10.000 festlegen, verarbeitet IntegrationHub ETL nur bis zu 10.000 Datensätze, und es wird eine entsprechende Meldung angezeigt.
Ab IntegrationHub ETL v3.2 können Sie den Wert der Eigenschaft sn_int_studio.preview.size überschreiben, indem Sie das Feld Überschreiben der Vorschaugröße im Formular „Quelldaten importieren und grundlegende Details bereitstellen“ pro Karte festlegen.
Um geschachtelte Daten aus einer geschachtelten Nutzlast zu verarbeiten, muss die entsprechende Datenquelle mit der Option Daten in einzelner Spalte festgelegt werden.
Erforderliche Rolle: cmdb_inst_admin
Warum und wann dieser Vorgang ausgeführt wird
Spalten für verschachtelte Daten werden neben den restlichen Daten angezeigt, mit einer Notation für verschachtelte Objekte in der Datenspaltenkopfzeile. Die Anzahl der verschachtelten Datenelemente pro Objekt wird mit einem Link angezeigt, über den Sie einen Drilldown zu tieferen Ebenen der verschachtelten Daten durchführen können. Um die Datenstruktur verschachtelter Daten in einem separaten Bereich anzuzeigen, aktivieren Sie die Option Datenstruktur anzeigen.
Das Fenster „Datenstruktur“ bietet zwei Optionen zum Anzeigen verschachtelter Daten:
- Struktur: Verschachtelte Daten, gruppiert nach Objekten, wobei jeder Objektknoten einem Datensatzeintrag in den Quelldaten entspricht. Erweitern Sie Objektknoten, um alle geschachtelten Daten für den Datensatz anzuzeigen.
- Sammlung: Verschachtelte Daten, gruppiert nach dem Objekt der obersten Ebene (standardmäßig) und dann nach verschachtelten Datenelementen wie Software. Erweitern Sie einen Knoten wie Software, um anzuzeigen, welche Software auf jedem Computer installiert ist.
Eine Demo zum Arbeiten mit geschachtelten Nutzlastdaten finden Sie im Demovideo zur Funktion „ Integrations-Hub – ETL für geschachtelte Nutzlast “ im YouTube-Kanal von ServiceNow.
Prozedur
Ergebnisse
Über die Zuordnung von Datenspalten zu CMDB-Klassen und -Attributen
Es gibt mehrere Anforderungen und Richtlinien für die Zuordnung von Quelldaten zu Ziel-CMDB-Klassen und -Attributen. Außerdem besteht die Möglichkeit, Klassenzuordnungen zu deaktivieren und gleichzeitig die Einstellungen für eine einfache Reaktivierung beizubehalten. Überprüfen Sie diese Konzepte, um eine ordnungsgemäße Verarbeitung durch die Identification and Reconciliation Engine (IRE) sicherzustellen.
Erforderliche Zuordnungen
- Nativer Schlüssel der Quelle
- IRE verwendet, um einen Datensatz eindeutig zu identifizieren und Beziehungen und Referenzen aufzubauen. Verbessert auch die Leistung von Einfüge- und Aktualisierungsvorgängen. Bei der Verarbeitung einer Nutzlast generiert IRE einen Fehler, wenn dieses Feld leer ist.
- Aktualitätszeitstempel der Quelle
IRE verwendet, um Datensätze zu identifizieren, die älter als der aktuelle Datensatz sind und daher ignoriert werden können, um in Konflikt stehende Attributwerte aufzulösen. Wenn ein Wert angegeben wird, wird er nur verwendet, wenn er nach dem aktuell in der CMDB gespeicherten Wert liegt. Wenn kein Wert angegeben ist, aktualisiert IRE das Attribut mit dem aktuellen Zeitstempel.
Mit den folgenden Systemeigenschaften können Sie ändern, wie IRE den Wert source_recency_timestamp in einer Nutzlast verwendet, um das Attribut last_scan in der Tabelle „Quelle“ [sys_object_source] zu aktualisieren:
Bedingte Klasse
Mit einer bedingten Klasse können Sie verschiedene Sätze von Datensätzen verschiedenen Zielklassen gemäß bestimmten Spaltenwerten oder dem Status eines bestimmten Plugins zuordnen.
Wenn ein Anzeigename beispielsweise „Windows“ enthält, wird „Windows-Server“ als Zielklasse ausgewählt. Wenn der Anzeigename jedoch „Linux“ enthält, wird „Linux-Server“ als Zielklasse ausgewählt. Für Datensätze, die keine dieser Bedingungen erfüllen (Anzeigename enthält weder „Windows“ noch „Linux“), wird „Server“ als Zielklasse ausgewählt.
Zugeordnete Klasse
Mit einer zugeordneten Klasse können Sie die CMDB-Klasse auswählen, die einer Nicht-CMDB-Zieltabelle zugeordnet werden soll. Das Festlegen einer zugeordneten Klasse ist für die IRE-Verarbeitung erforderlich, wenn die Nicht-CMDB-Tabelle nicht für die IRE-Verarbeitung konfiguriert ist. Für eine Nicht-CMDB-Tabelle, die für die IRE-Verarbeitung unterstützt und konfiguriert wird, ist das Festlegen einer zugeordneten Klasse optional. Weitere Informationen finden Sie unter IRE-Support für Nicht-CMDB-Tabellen.
Die Software-Instanz ist eine Nicht-CMDB-Klasse, ihr sind jedoch keine IRE-Regeln zugeordnet. Die Dinge, die wir hier vor Utah darüber gesagt haben, sind also immer noch gültig. Für Nicht-CMDB-Klassen mit IRE-Regeln ist eine Zuordnung jedoch nicht obligatorisch. Beispiel: „Wenn die Zielklasse für die Zuordnung eine Nicht-CMDB-Klasse mit einem Verweis auf eine CMDB-Klasse ist, müssen Sie die CMDB-Klasse auswählen, um die Nicht-CMDB-Zielklasse mit zu verknüpfen.“ Nicht-CMDB-Klasse mit IRE-Regeln Anstelle von „Sie“. muss“ sein. „Sie können“. Gleiches gilt für Beispiel, gilt jedoch nicht für Nicht-CMDB mit IRE-Regeln.
Wenn die Zielklasse für die Zuordnung eine Nicht-CMDB-Klasse mit einem Verweis auf eine CMDB-Klasse ist, müssen Sie die CMDB-Klasse auswählen, der die Nicht-CMDB-Zielklasse zugeordnet werden soll. Eine Nicht-CMDB-Klasse verweist auf eine Klasse, z. B. Seriennummer [cmdb_serial_number], die die Konfigurationselementklasse [cmdb_ci] nicht erweitert. Die Klasse Zugehöriger Eintrag [cmdb_related_entry] kann mehrere CMDB-Klassenzuordnungen für dieselbe Nicht-CMDB-Klasse enthalten. Wählen Sie daher die entsprechende Zuordnung aus, damit IRE-Prozesse die Nicht-CMDB-Zielklasse aktualisieren können.
Zum Beispiel verfügt die Klasse „Zugehöriger Eintrag“ [cmdb_related_entry] über einen Datensatz, der die Klasse „Nicht-CMDB-Softwareinstanz“ [cmdb_software_instance] mit der Klasse „CMDB-Softwarepaket“ [cmdb_ci_spkg] verknüpft. Wenn Sie Softwareinstanz als Zielklasse auswählen, müssen Sie die Softwareinstanzklasse der Softwarepaketklasse [cmdb_ci_spkg] zuordnen.
Klassenzuordnungen werden deaktiviert
Wenn Sie eine ETL-Transformationszuordnung bearbeiten, die beispielsweise von einem Service Graph Connector bereitgestellt wird, können Sie eine Klassenzuordnung löschen, um zu verhindern, dass die Klasse ausgefüllt wird, wenn die Integration ausgeführt wird. Wenn Sie jedoch später beschließen, diese Klasse auszufüllen, müssen Sie diese Klasse neu hinzufügen und alle Klassenzuordnungen neu konfigurieren. Stattdessen können Sie eine Klassenzuordnung deaktivieren, um die Klasse während der Integrationsausführung vorübergehend zu ignorieren und gleichzeitig die gesamte Zuordnungskonfiguration beizubehalten. Eine Klasse, die Sie deaktivieren möchten, wird in der Benutzeroberfläche ausgegraut, Sie können jedoch fortfahren und die Klassenzuordnungen bearbeiten. Später können Sie eine Klassenzuordnung erneut aktivieren, um das Ausfüllen der Klasse zu ermöglichen, ohne die Klassenzuordnungen neu konfigurieren zu müssen.
- werden in der Benutzeroberfläche hellgrau angezeigt, und Sie können sie nicht erneut aktivieren.
- Werden automatisch reaktiviert, wenn Sie Folgendes erneut aktivieren:
- Die Klasse, die Sie anfänglich deaktiviert haben, wodurch die automatische Deaktivierung ausgelöst wurde
- Jede Klasse, von der die deaktivierte Klasse abhängt
Alle Klassen, für die Sie Zuordnungen direkt deaktivieren, und die daraus resultierenden Klassenzuordnungen, die automatisch deaktiviert werden, werden bei der Ausführung der Integration nicht ausgefüllt. Außerdem werden alle Beziehungen und Suchtabellen, die diesen Klassen zugeordnet sind, nicht ausgefüllt, wenn die Integration ausgeführt wird.
- Deaktivieren Sie eine Klasse, von der keine Klasse abhängt und der keine Klassen zugeordnet sind:
Löst eine automatische Deaktivierung aller Suchregeln und Beziehungen aus, die der deaktivierten Klasse zugeordnet sind.
- Deaktivieren Sie eine Suchregel, z. B. eine Seriennummer, innerhalb einer Klassenzuordnung:
Löst keine automatischen Deaktivierungen aus.
- Deaktivieren Sie eine CMDB-Klasse, die einer Nicht-CMDB-Klasse zugeordnet ist:
- Löst eine automatische Deaktivierung der zugehörigen Nicht-CMDB-Klasse aus.
- Das Deaktivieren der Nicht-CMDB-Klasse wirkt sich nicht auf die zugeordnete CMDB-Klasse aus.
- Klasse mit abhängigen Beziehungen deaktivieren (Gilt nur, wenn die abhängige Beziehung in IntegrationHub ETL vorhanden ist):
- Löst eine automatische Deaktivierung einer Klasse aus, die eine einzige abhängige Beziehung zur deaktivierten Klasse hat.
Wenn eine Klasse mehrere abhängige Beziehungen aufweist, wird sie nur dann automatisch deaktiviert, wenn Sie alle abhängigen Klassen deaktivieren.
Zum Beispiel ein Szenario, in dem die Dateisystemklasse abhängige Beziehungen sowohl zur Computer- als auch zur Serverklasse hat. Wenn Sie die Computerklasse deaktivieren, wird die Dateisystemklasse nicht automatisch deaktiviert. Nur wenn Sie auch die Serverklasse deaktivieren, wird die Dateisystemklasse automatisch deaktiviert.
- Deaktivieren Sie eine bedingte Klasse oder eine Klassenzuordnung innerhalb einer bedingten Klasse:
- Durch das Deaktivieren oder Aktivieren einer bedingten Klasse werden alle bedingten Klassenzuordnungen innerhalb der bedingten Klasse automatisch deaktiviert oder aktiviert.
Deaktivieren einer Klassenzuordnung innerhalb einer bedingten Klasse: Verhindert, dass die deaktivierte Klasse während der Integrationsausführungen ausgefüllt wird. Die zugeordneten „If“-, „Else if“- oder „Else“-Bedingungen bleiben jedoch innerhalb der Bedingung der bedingten Klasse in Kraft. Beispiel: Wenn Sie die folgende Klassenzuordnung deaktivieren:
[Wenn] [operating_system] [enthält] [Linux], dann [Klasse] [ist] [Linux-Server].
Dann wird die Linux-Serverklasse nicht ausgefüllt, aber die Bedingung [If] [operating_system] [contains] [Linux] ist wirksam.
Ordnen Sie Datenspalten CMDB-Klassen und -Attributen zu
Wählen Sie Zielklassen und Attribute in der CMDB aus, denen Quelldatenspalten zugeordnet werden sollen. Sie können eine Datenspalte einer bestimmten Zielklasse zuordnen oder Bedingungen hinzufügen, sodass die Auswahl der Zielklasse von bestimmten Datenwerten abhängt.
Vorbereitungen
Warum und wann dieser Vorgang ausgeführt wird
Datenspalten, die Sie zuordnen, können Quelldatenspalten sein, die nicht transformiert wurden, oder transformierte Datenspalten. Um beispielsweise eine Datenspalte in die Klassen „Computer“ und „Softwarepaket“ zu integrieren, wählen Sie diese Klassen als Zielklassen aus und ordnen Sie dann Datenspalten bestimmten Attributen in diesen Klassen zu.
Wenn Sie die Zuordnung für eine Klasse, Beziehung oder Suchregel konfigurieren, werden diese Elemente anfänglich immer als aktiviert festgelegt. Weitere Informationen zu den Ergebnissen der Deaktivierung von Zuordnungen finden Sie unter Klassenzuordnungen deaktivieren.
Prozedur
Beziehungen hinzufügen
Fügen Sie Beziehungen hinzu, die zwischen den Ziel-CMDB-Klassen für eine Integration vorhanden sind.
Vorbereitungen
- Eine Klasse, die Sie der Beziehung hinzufügen möchten, muss sich in einem aktivierten Status befinden.
- Eine Basisbeziehung oder eine Beziehung innerhalb einer bedingten Beziehung, die Sie bearbeiten möchten, muss sich in einem aktivierten Status befinden.
- In einer bedingten Beziehung, die Sie bearbeiten möchten, muss sich mindestens eine Beziehungsbedingung in einem aktivierten Status befinden. Andernfalls ist die Schaltfläche Beziehung bearbeiten ausgegraut.
Erforderliche Rolle: cmdb_inst_admin
Warum und wann dieser Vorgang ausgeführt wird
Wenn Sie Beziehungen mit verschachtelten Daten erstellen, können Sie keine Beziehung zwischen gleichgeordneten Objekten aus den verschachtelten Daten erstellen. Wenn Sie die Beispielnutzlast für verschachtelte Daten verwenden, können Sie keine Beziehung zwischen Schnittstellen und Software erstellen.
ITOM-Transparenzverwendet, sofern verfügbar, erweiterte Erkennungsmuster, um CI-Beziehungen zu identifizieren und der Tabelle „Vorgeschlagene Beziehungen“ im Basissystem hinzuzufügen. Verwenden Sie gegebenenfalls die Tabelle „Vorgeschlagene Beziehungen“, um Beziehungen auszuwählen, die den Standards Gemeinsames Servicedatenmodell (CSDM) entsprechen.
Prozedur
Zeigen Sie eine Vorschau der Zuordnungsergebnisse an
Zeigen Sie eine Vorschau der Ergebnisse der Beispieldatenintegration an.
Vorbereitungen
Warum und wann dieser Vorgang ausgeführt wird
Nachdem Sie die Details auf der Zusammenfassungsseite angezeigt haben, können Sie zu jedem Schritt zurückkehren, um Anpassungen vorzunehmen, und die Integration dann erneut ausführen.
Prozedur
Geben Sie den Integrationszeitplan an
Konfigurieren Sie mit dieser ETL-Transformationszuordnung einen Zeitplan für den Import von Daten in CMDB.
Vorbereitungen
Prozedur
Transformationstypen in IntegrationHub ETL
Verwenden Sie verschiedene Transformationen in IntegrationHub ETL, um Quelldaten für die Zuordnung zur CMDB zu konvertieren und vorzubereiten.
Transformationen aus der Store-App Integration Commons for CMDB sind auch in IntegrationHub ETL verfügbar.
Verkettung
Kombiniert die Werte aus Eingabefeldern zu einer einzelnen Zeichenfolge und verbindet sie im optionalen Feld joining_string.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_concat_operation |
| Eingabefelder | source_sys_rte_eb_fields |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder | joining_string (optional) |
| Beispiel | |
|---|---|
| Eingabe | „Eingabe_1“, „Eingabe_2“, „Eingabe_3“ |
| Zusätzliche Felder | joining_string = ”, ” |
| Ergebnis | „input_1, input_2, input_3“ |
In booleschen Wert konvertieren
Konvertiert den eingehenden Wert in einen booleschen Wert. Die Werte „wahr“ und „1“ werden in „wahr“ konvertiert (Groß-/Kleinschreibung wird beachtet), alle anderen Werte werden in „falsch“ konvertiert.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_to_boolean_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
- Alle folgenden Eingaben geben „wahr“ zurück:
- Wahr
- 1
- Alle folgenden Eingaben geben „false“ zurück:
- „Eingabe_1“
- „“
- 0
- 11
In Datum konvertieren
Versucht, den eingehenden Wert in einen GlideDateTime -Wert zu konvertieren, indem date_format auf den eingehenden Wert angewendet wird. Versucht eine direkte Konvertierung mit GlideDateTime, wenn date_format falsch ist.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_to_date_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field Gibt einen leeren Wert zurück, wenn überhaupt keine Analyse möglich ist. |
| Zusätzliche Felder | date_format (Java – einfaches Datumsformat) |
| Beispiel | |
|---|---|
| Eingabe | „20.09.2018 11:21:00 EST“ |
| Zusätzliche Felder | date_format = „jjjj/MM/tt hh:mm:ss az“ |
| Ergebnis | „20.09.2018 16:21:00“ |
| Beispiel | |
|---|---|
| Eingabe | „20.09.2018 01:21:00 PM EST“ |
| Zusätzliche Felder | date_format = „jjjj/MM/tt hh:mm:ss az“ |
| Ergebnis | „20.09.2018 18:21:00“ |
| Beispiel | |
|---|---|
| Eingabe | „20.09.18“ |
| Zusätzliche Felder | date_format = „jjjj/MM/tt hh:mm:ss az“ |
| Ergebnis | „0018-09-20 00:00:00“ |
In numerischen Wert konvertieren
Konvertiert den eingehenden Wert in eine Zahl.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_to_numeric_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field Wenn der eingehende Wert nicht numerisch ist, ist die Ausgabe leer. |
| Beispiel | |
|---|---|
| Eingabe | 1.23 |
| Ergebnis | 1.23 |
| Beispiel | |
|---|---|
| Eingabe | 1,00 |
| Ergebnis | 1 |
| Beispiel | |
|---|---|
| Eingabe | input_1 |
| Ergebnis | Null |
| Beispiel | |
|---|---|
| Eingabe | zwei |
| Ergebnis | Null |
Kopieren
Kopiert den Wert des Quellfelds in alle Zielfelder.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_copy_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_fields |
| Zusätzliche Felder | overwrite_existing_value (optional, boolean): Bei „ true“ werden die Werte der Zielfelder ersetzt. Andernfalls wird ein nicht leerer Wert nicht überschrieben. |
Extrahieren Sie führende Zahlen
Legt das Zielfeld als ersten numerischen Wert im Quellfeld fest.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_extract_numeric_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder |
|
| Beispiel | |
|---|---|
| Eingabe | „100 MB“ |
| Ergebnis | „100“ |
| Beispiel | |
|---|---|
| Eingabe | „100,123 MB“ |
| Ergebnis | „100,123“ |
| Beispiel | |
|---|---|
| Eingabe | „100,123 MB“ |
| Zusätzliche Felder | decimal_places = 2 |
| Ergebnis | „100,12“ |
| Beispiel | |
|---|---|
| Eingabe | „100 MB“ |
| Zusätzliche Felder | decimal_places = 2 |
| Ergebnis | „100,00“ |
| Beispiel | |
|---|---|
| Eingabe | „100 MB“ |
| Zusätzliche Felder | remainder_target_field =<field> |
| Ergebnis | „100“ und<field> = „mb“ |
Glide-Suche
Führt eine Suche in der Datenbank auf dem target_tabledurch.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_glide_lookup_operation |
| Eingabefelder | source_sys_rte_eb_fields |
| Ausgabefeld | target_sys_rte_eb_fields |
| Zusätzliche Felder |
|
| Beispiel | |
|---|---|
| Eingabe |
|
| Zusätzliche Felder |
|
| Ergebnis | Ausgabefeld 1: 25ab9c4d0a0a0bb300f7dabdc0ca7c1c |
Min./Max.
Legt das Zielfeld entweder auf das Maximum oder Minimum der Werte aus allen Eingabefeldern fest.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_min_max_operation |
| Eingabefelder | source_sys_rte_eb_fields |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder |
|
| Beispiel | |
|---|---|
| Eingabe | „2“, „-1“, „0“ |
| Zusätzliche Felder |
|
| Ergebnis | „2“ |
| Beispiel | |
|---|---|
| Eingabe | „a“, „b“ |
| Zusätzliche Felder |
|
| Ergebnis | „b“ |
| Beispiel | |
|---|---|
| Eingabe | „2“, „-1“, „0“ |
| Zusätzliche Felder |
|
| Ergebnis | „-1“ |
| Beispiel | |
|---|---|
| Eingabe | „a“, „b“ |
| Zusätzliche Felder |
|
| Ergebnis | „a“ |
Mehrere Eingabeskripts
Führt ein Skript mit mehreren Eingaben aus und legt die Ausgabe target_field == für dieses Skript fest.
Jedes Quellfeld ist innerhalb der Variablen „batch“ als JavaScript-Felder verfügbar. Der Name des JavaScript-Felds ist das Feldattribut des Entitätsfelds (mit Blick auf sys_rte_eb_field.field, nicht auf sys_rte_eb_field.name).
| Details | |
|---|---|
| Tabelle | sys_rte_eb_multi_in_script_operation |
| Eingabefelder | source_sys_rte_eb_fields |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder |
|
| Datensatz | record_type | operating_system | record_with_os |
|---|---|---|---|
| 1 | Computer | Windows XP | |
| 2 | Computer | Linux | |
| 3 | Computer | Windows XP |
(function(batch, output) {
for (var i = 0; i < batch.length; i++) {
// batch[i] is the unique set of inputs/individual record
// batch[i].<field> gives access to the field value
var in0 = gs.nil(batch[i].record_type) ? '' : batch[i].record_type;
var in1 = gs.nil(batch[i].operating_system) ? '' : batch[i].operating_system;
// output[i] is the output for the specific combination of inputs/individual record
output[i] = in0 + "_" + in1;
}
}
})(batch, output); /* Example Script
// In this example the script input fields are 'input_field_1', 'input_field_2' - replace these with the fields used as script inputs // There is a static field 'input' that has all the input field values concatenated with a '|' (function(batch, output) {
for (var i = 0; i < batch.length; i++) {
//step1: access the input variables
var a = batch[i].input_field_1; //Value of the first source field.
var b = batch[i].input_field_2; //Value of the second source field.
//step2: Your script/code goes here.
var c = a + b;
//step3: set the output for each elements
output[i] = b;
}
})(batch, output);
*/Rexeg-Ersetzen
Ersetzt jede Teilzeichenfolge der eingehenden Zeichenfolge, die dem angegebenen match_regexentspricht, durch den angegebenen replacement_regex Zeichenfolgenwert.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_regex_replace_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder |
|
| Beispiel | |
|---|---|
| Eingabe | „Zeichenfolge&Mit(Sonder)$Zeichen“ |
| Zusätzliche Felder |
|
| Ergebnis | „Zeichenfolge mit Sonderzeichen“ |
Ersetzen
Ersetzt jede Teilzeichenfolge in der eingehenden Zeichenfolge, die dem angegebenen match_stringentspricht, durch den Zeichenfolgenwert replacement_string.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_replace_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder |
|
| Beispiel | |
|---|---|
| Eingabe | „Ursprüngliche Zeichenfolge“ |
| Zusätzliche Felder |
|
| Ergebnis | „Ersatzzeichenfolge“ |
Runder numerischer Wert
Rundet den Zahlenwert auf die nächste ganze Zahl. Nicht-Zahlen werden abgeschnitten.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_runde_numerische_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Beispiel | |
|---|---|
| Eingabe | „1,5“ |
| Ergebnis | „2“ |
| Beispiel | |
|---|---|
| Eingabe | „1,4“ |
| Ergebnis | „1“ |
| Beispiel | |
|---|---|
| Eingabe | „i'm a string“ |
| Ergebnis | "" |
Skript
Führt ein Skript mit Eingabe aus und legt die Ausgabe target_field == für dieses Skript fest.
Diese Transformation wurde durch die Multieingabeskript-Transformation ersetzt und ist aus Gründen der Abwärtskompatibilität mit vorhandenen Konfigurationen enthalten.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_script_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder |
|
(function(batch, output) {
for (var i = 0; i < batch.length; i++) {
// batch[i] is the unique set of inputs/individual record
// batch[i].input gives access to the field value
var in0 = gs.nil(batch[i].input) ? '' : batch[i].input;
// output[i] is the output for the specific combination of inputs/individual record
output[i] = in0 + " modified by script”;
}
}
})(batch, output); /* Example Script
(function(batch, output) {
for (var i = 0; i < batch.length; i++) {
//step1: access the input variables
var a = batch[i].input; //Value of the source field.
//step2: Your script/code goes here.
var b = a + 1;
//step3: set the output for each elements
output[i] = b;
}
})(batch, output);
*/ Satz
Legt den Wert des Zielfelds auf die in set_valueangegebene Zeichenfolge fest.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_set_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder |
|
Teilen
Teilt den Wert des Quellfelds auf splitting_string und weist jedes resultierende Element aus der Aufteilung dem target_sys_rte_eb_fieldszu, und zwar der Reihe nach.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_split_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_fields |
| Zusätzliche Felder | splitting_string (Zeichenfolge) |
| Beispiel | |
|---|---|
| Eingabe | „value1||value2||value3“, mit target_sys_rte_eb_fields {target1,target2,target3} |
| Zusätzliche Felder | splitting_string = ”||” |
| Ergebnis | Ziel1: Wert1, Ziel2: Wert2, Ziel3: Wert3 |
| Beispiel | |
|---|---|
| Eingabe | „value1||value2||value3“, mit target_sys_rte_eb_fields {target1} |
| Zusätzliche Felder | splitting_string = ”||” |
| Ergebnis | target1 : value1 |
| Beispiel | |
|---|---|
| Eingabe | „value1“ mit target_sys_rte_eb_fields {target1,target2,target3} |
| Zusätzliche Felder | splitting_string = ”||” |
| Ergebnis | Ziel1: Wert1, Ziel2:<null> , Ziel3: |
Beschneiden
Kürzt führende und nachgestellte Leerzeichen aus dem Wert source_sys_rte_eb_field und weist das Ergebnis target_sys_rte_eb_fieldzu. Diese Transformation entspricht einem Java String.trim().
| Details | |
|---|---|
| Tabelle | sys_rte_eb_trim_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Beispiel | |
|---|---|
| Eingabe | „ Wert 1 “ |
| Ergebnis | „ Wert 1 “ |
Großbuchstaben
Schreibt den Wert source_sys_rte_eb_field in Großbuchstaben und weist das Ergebnis target_sys_rte_eb_fieldzu.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_upper_case_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Beispiel | |
|---|---|
| Eingabe | „ Wert 1 “ |
| Ergebnis | „WERT1“ |
Großbuchstaben beschneiden
Kombiniert die Transformationen für Großbuchstaben und Kürzung.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_upper_case_trim_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Beispiel | |
|---|---|
| Eingabe | „ Wert 1 “ |
| Ergebnis | „WERT1“ |