Erstellen Sie eine -ETL-Transformationszuordnung
IntegrationHub ETL bietet ein geführtes Setup, das Sie durch die Ausführung aller erforderlichen Aufgaben zum Erstellen einer ETL-Transformationszuordnung für eine bestimmte Integration führt.
Geführtes Setup
Das geführte 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 geführte Setup auf der Seite „Assistent für ETL-Transformationszuordnung“, 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 gleichen Anwendungsbereich befinden wie die in der aktuellen Sitzung verwendete.
Wenn Sie eine ETL-Transformationszuordnung öffnen, wird sie 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 dann auf truefestlegen. Nach Abschluss der Validierung wählen Sie, wie Validierungsfehler behandelt werden.
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 über den Grenzwert von 10.000 festlegen, verarbeitet IntegrationHub ETL nur bis zu 10.000 Datensätze, und eine entsprechende Meldung wird angezeigt.
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 geschachtelte Daten werden neben den restlichen Daten angezeigt, mit der Notation Geschachtelte Objekte im Header der Datenspalte. Die Anzahl der geschachtelten Datenelemente pro Objekt wird mit einem Link angezeigt, über den Sie Drilldowns zu tieferen Ebenen der geschachtelten Daten durchführen können. Um die Datenstruktur geschachtelter Daten in einem separaten Bereich anzuzeigen, aktivieren Sie die Option Datenstruktur anzeigen.
Der Datenstrukturbereich bietet zwei Optionen zum Anzeigen geschachtelter 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: Geschachtelte Daten gruppiert nach dem Objekt der obersten Ebene (standardmäßig) und dann nach geschachtelten Datenelementen wie Software. Erweitern Sie einen Knoten wie „Software“, um anzuzeigen, welche Software auf jedem Computer installiert ist.
Eine Demo zur Arbeit mit geschachtelten Nutzlastdaten finden Sie im Demovideo zur Funktion Integration Hub - ETL geschachtelte Nutzlast im YouTube-Kanal von ServiceNow.
Prozedur
Ergebnisse
Informationen zum Zuordnen von Datenspalten zu CMDB-Klassen und -Attributen
Es gibt verschiedene Anforderungen und Richtlinien für die Zuordnung von Quelldaten zu Ziel-CMDB-Klassen und -Attributen. Außerdem besteht eine Option zum Deaktivieren von Klassenzuordnungen unter Beibehaltung der Einstellungen für eine einfache Reaktivierung. Ü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. Außerdem verbessert 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 widersprüchliche Attributwerte zu beheben. Wenn ein Wert angegeben wird, wird er nur verwendet, wenn er nach dem derzeit in der CMDB gespeicherten Wert liegt. Wenn kein Wert angegeben wird, 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 Quelltabelle [sys_object_source] zu aktualisieren:
Bedingte Klasse
Mit einer bedingten Klasse können Sie verschiedene Sätze von Datensätzen verschiedenen Zielklassen zuordnen, je nach bestimmten Spaltenwerten oder dem Status eines bestimmten Plugins.
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 nicht „Windows“ oder „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 zugehörigen Klasse optional. Weitere Informationen finden Sie unter IRE-Unterstützung für Nicht-CMDB-Tabellen.
Die Softwareinstanz ist eine Nicht-CMDB-Klasse, ihr sind jedoch keine IRE-Regeln zugeordnet. Die Dinge, die wir hier vor Utah gesagt haben, sind 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 der“ Nicht-CMDB-Klasse mit IRE-Regeln anstelle von „Sie“ zuzuordnen muss“ sollte lauten. „Sie können“. Dasselbe gilt für das Beispiel, es gilt 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 bezieht sich auf eine Klasse, z. B. Seriennummer [cmdb_serial_number], die die Klasse des Konfigurationselements [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.
Beispiel: Die Klasse „Zugehöriger Eintrag“ [cmdb_related_entry] hat einen Datensatz, der die Klasse „Nicht-CMDB-Softwareinstanz“ [cmdb_software_instance] der Klasse „CMDB-Softwarepaket“ [cmdb_ci_spkg] zuordnet. Wenn Sie „Softwareinstanz“ als Zielklasse auswählen, müssen Sie die Klasse „Softwareinstanz“ der Klasse „Softwarepaket“ [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 bei der Ausführung der Integration ausgefüllt wird. Wenn Sie sich jedoch später dazu entschließen, diese Klasse zu füllen, müssen Sie sie lesen 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 auf der Anwenderoberfläche ausgegraut. Sie können jedoch fortfahren und die Klassenzuordnungen bearbeiten. Später können Sie eine Klassenzuordnung reaktivieren, um das Ausfüllen der Klasse zu ermöglichen, ohne die Klassenzuordnungen neu konfigurieren zu müssen.
- werden auf der Anwenderoberfläche in Hellgrau angezeigt und können nicht erneut aktiviert werden.
- Werden automatisch reaktiviert, wenn Sie Folgendes erneut aktivieren:
- Die von Ihnen anfänglich deaktivierte Klasse, welche die automatische Deaktivierung ausgelöst hat
- Beliebige 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, bei der Ausführung der Integration nicht ausgefüllt.
- Deaktivieren Sie eine Klasse, von der keine Klasse abhängt und der keine Klassen zugeordnet sind:
Löst die 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 hat keine Auswirkungen auf die zugehörige CMDB-Klasse.
- Deaktivieren Sie eine Klasse mit abhängigen Beziehungen (gilt nur, wenn die abhängige Beziehung in IntegrationHub ETL vorhanden ist):
- Löst die automatische Deaktivierung jeder Klasse aus, die eine einzige abhängige Beziehung mit der deaktivierten Klasse hat.
Wenn eine Klasse mehrere abhängige Beziehungen hat, wird sie nur dann automatisch deaktiviert, wenn Sie alle abhängigen Klassen deaktivieren.
Zum Beispiel ein Szenario, in dem die Dateisystemklasse abhängige Beziehungen zu der Klasse „Computer“ und zu einer Serverklasse hat. Wenn Sie die Klasse „Computer“ deaktivieren, wird die Klasse „Dateisystem“ nicht automatisch deaktiviert. Nur wenn Sie auch die Klasse Server deaktivieren, wird die Klasse Dateisystem automatisch deaktiviert.
- Deaktivieren Sie eine bedingte Klasse oder eine Klassenzuordnung innerhalb einer bedingten Klasse:
- Das Deaktivieren oder Aktivieren einer bedingten Klasse löst eine automatische Deaktivierung oder Aktivierung aller bedingten Klassenzuordnungen innerhalb der bedingten Klasse aus.
Deaktivieren einer Klassenzuordnung innerhalb einer bedingten Klasse: Verhindert, dass die deaktivierte Klasse während Integrationsausführungen ausgefüllt wird. Die zugehörigen Bedingungen „If“, „Else if“ oder „Else“ selbst bleiben jedoch innerhalb der Bedingung der bedingten Klasse wirksam. Wenn Sie beispielsweise die folgende Klassenzuordnung deaktivieren:
[Wenn] [operating_system] [enthält] [Linux], dann [Klasse] [ist] [Linux Server].
Dann ist die Klasse „Linux Server“ nicht ausgefüllt, die Bedingung [If] [operating_system] [contains] [Linux] ist jedoch aktiv.
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 entweder 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 eine Suchregel konfigurieren, werden diese Elemente anfänglich immer als aktiviert festgelegt. Einzelheiten zu den Ergebnissen der Deaktivierung von Zuordnungen finden Sie unter Klassenzuordnungen deaktivieren.
Prozedur
Beziehungen hinzufügen
Fügen Sie Beziehungen hinzu, die unter den Ziel-CMDB-Klassen für eine Integration vorhanden sind.
Vorbereitungen
- Eine Klasse, die Sie in der Beziehung hinzufügen möchten, muss sich im Status „Aktiviert“ befinden.
- Eine Basisbeziehung oder eine Beziehung innerhalb einer bedingten Beziehung, die Sie bearbeiten möchten, muss sich im Status „Aktiviert“ befinden.
- In einer bedingten Beziehung, die Sie bearbeiten möchten, muss mindestens eine Beziehungsbedingung aktiviert sein. 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 geschachtelten Daten erstellen, können Sie keine Beziehung zwischen gleichgeordneten Objekten aus den geschachtelten Daten erstellen. Wenn Sie die Beispielnutzlast für geschachtelte Daten verwenden, können Sie keine Beziehung zwischen Schnittstellen und Software erstellen.
ITOM-Transparenz, sofern verfügbar, erweiterte Discovery-Muster verwenden, 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 erneut auszufü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 Common für CMDB sind auch in IntegrationHub ETL verfügbar.
Verkettung
Kombiniert die Werte aus Eingabefeldern in 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 beachten), alle anderen Werte werden zu „falsch“ konvertiert.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_to_boolean_operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
- Alle der folgenden Eingaben geben „wahr“ zurück:
- wahr
- 1
- Alle der folgenden Eingaben geben „false“ zurück:
- „input_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 die Analyse überhaupt nicht möglich ist. |
| Zusätzliche Felder | date_format (Einfaches Java-Datumsformat) |
| Beispiel | |
|---|---|
| Eingabe | „2018/09/20 11:21:00 am EST“ |
| Zusätzliche Felder | date_format = „JJJJ/MM/TT hh:mm:ss az“ |
| Ergebnis | “2018-09-20 16:21:00” |
| Beispiel | |
|---|---|
| Eingabe | „2018/09/20 01:21:00 PM EST“ |
| Zusätzliche Felder | date_format = „JJJJ/MM/TT hh:mm:ss az“ |
| Ergebnis | „2018-09-20 18:21:00“ |
| Beispiel | |
|---|---|
| Eingabe | "09/20/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 | Eingabe_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, boolesch): Bei „ wahr“ werden die Werte der Zielfelder ersetzt. Andernfalls wird ein nicht leerer Wert nicht überschrieben. |
Führenden numerischen Wert extrahieren
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 unter 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 den Höchst- oder Mindestwert 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 JavScript-Feld verfügbar. Der Name des JavaScript-Felds ist das Feldattribut des Entitätsfelds (man betrachtet sys_rte_eb_field.field, nicht 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-Ersatz
Ersetzt jede Teilzeichenfolge der eingehenden Zeichenfolge, die dem angegebenen match_regexentspricht, durch den angegebenen Zeichenfolgenwert replacement_regex.
| 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-Nummern werden gekürzt.
| 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 | „ich bin eine Zeichenfolge“ |
| Ergebnis | "" |
Skript
Führt ein Skript mit Eingabe aus und legt für dieses Skript die Ausgabe target_field == 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);
*/ Festlegen
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 am splitting_string und weist jedes resultierende Element aus der Teilung dem target_sys_rte_eb_fields] zu und weist es der Reihe nach zu.
| 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 | „Wert1||Wert2||Wert3“ mit target_sys_rte_eb_fields {Ziel1,Ziel2,Ziel3} |
| Zusätzliche Felder | splitting_string = ”||” |
| Ergebnis | Ziel1: Wert1, Ziel2: Wert2, Ziel3: Wert3 |
| Beispiel | |
|---|---|
| Eingabe | „Wert1||Wert2||Wert3“ mit target_sys_rte_eb_fields {Ziel1} |
| 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> , target3 : |
Beschneiden
Entfernt führende und nachfolgende Leerzeichen aus dem Wert source_sys_rte_eb_field und weist das Ergebnis dem Wert 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ürzen.
| 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“ |