

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Transformationsregeln bei der DMS-Schemakonvertierung
<a name="sc-transformation-rules"></a>

Mit *Transformationsregeln* können Sie anpassen, wie die DMS-Schemakonvertierung Ihre Datenbankobjekte konvertiert, wobei Standardnamen und Datentypzuordnungen außer Kraft gesetzt werden. Sie können diese Regeln auf Datenbanken, Schemas, Tabellen, Ansichten, Spalten, Funktionsrückgabewerte, Routineparameter und lokale Variablen anwenden.

Nehmen wir beispielsweise an, dass Sie in Ihrem Quellschema eine Reihe von Tabellen mit dem Namen `test_TABLE_NAME` haben. Sie können eine Regel einrichten, die das Präfix `test_` im Zielschema in das Präfix `demo_` ändert.

Sie können Transformationsregeln für die folgenden Aufgaben erstellen:
+ Ein Präfix hinzufügen, entfernen oder ersetzen
+ Ein Suffix hinzufügen, entfernen oder ersetzen
+ Ändern Sie den Datentyp einer Spalte, eines Funktionsrückgabewerts, eines Routineparameters oder einer lokalen Variablen
+ Konvertiert den Objektnamen in Klein- oder Großbuchstaben
+ Benennen Sie ein Objekt um

## Erstellen von Transformationsregeln
<a name="sc-transformation-rules-create"></a>

DMS Schema Conversion speichert Transformationsregeln als Teil Ihres Migrationsprojekts. Um Transformationsregeln zu definieren, übergeben Sie sie als JSON-Zeichenfolge, die ein Objekt mit einem `rules` Array enthält, wenn Sie ein Migrationsprojekt erstellen oder ändern. Jedes Element im Array steht für ein separates Regelobjekt. Ein Migrationsprojekt unterstützt bis zu 512 Transformationsregeln (maximal 128 KB).

Die Struktur des Arrays mit Transformationsregeln sieht wie folgt aus:

```
{
  "rules": [
    {
      {{Rule object 1}}
    },
    {
      {{Rule object 2}}
    },
    ...
    {
      {{Rule object N}}
    }
  ]
}
```

Sie können Ihrem Projekt mehrere Transformationsregeln hinzufügen. DMS Schema Conversion wendet Transformationsregeln während der Konvertierung in derselben Reihenfolge an, in der sie hinzugefügt wurden.

Wenn mehrere Regeln auf dasselbe Objekt abzielen, hängt das Verhalten vom Aktionstyp ab. Regeln mit unterschiedlichen Aktionstypen werden alle wirksam. Beispielsweise gelten sowohl eine `add-prefix` Regel als auch eine `add-suffix` Regel. Regeln mit demselben Aktionstyp überschreiben sich gegenseitig, und nur die letzte ist wirksam.

Verwenden Sie eine der folgenden Methoden, um Transformationsregeln zu erstellen.

------
#### [ AWS Management Console ]

**Um Transformationsregeln mit der Konsole zu erstellen**

1. Wählen Sie auf der Seite **Migrationsprojekt erstellen** die Option **Transformationsregeln hinzufügen** aus. Weitere Informationen finden Sie unter [ Erstellen von Migrationsprojekten](migration-projects-create.md).

1. Wählen Sie **unter Regelziel** den Typ der Datenbankobjekte aus, für die diese Regel gilt. Der Konsolenassistent unterstützt `schema``table`, und `column` zielt darauf ab. Um andere Ziele wie `database` oder zu verwenden`view`, verwenden Sie den JSON-Editor in der Konsole oder die AWS CLI.

1. Wählen Sie für **Quell-Schema** die Option **Schema eingeben** aus. Geben Sie dann die Quellschemas, Tabellen und Spalten an, für die diese Regel gilt. Sie können einen exakten Namen verwenden, um ein Objekt auszuwählen, oder Sie können ein Muster mit dem Prozentzeichen (%) als Platzhalter für eine beliebige Anzahl von Zeichen verwenden.

1. Wählen Sie unter **Aktion** die Aufgabe aus, die ausgeführt werden soll. 

1. Geben Sie je nach Regelaktion zusätzliche Werte ein:
   + `add-prefix`oder `add-suffix` — Geben Sie den Text ein, der hinzugefügt werden soll.
   + `remove-prefix`oder `remove-suffix` — Geben Sie den zu entfernenden Text ein.
   + `replace-prefix`oder `replace-suffix` — Geben Sie den vorhandenen Text und den Ersatztext ein.
   + `rename`— Geben Sie den neuen Namen für das Objekt ein.
   + `convert-uppercase`oder `convert-lowercase` — Keine zusätzlichen Werte erforderlich.
   + `change-data-type`— Geben Sie den Namen des Zieldatentyps und optional die Genauigkeit, den Maßstab oder die Länge ein.

1. Wählen Sie **Transformationsregeln hinzufügen** aus, um eine weitere Transformationsregel hinzuzufügen.

   Wenn Sie mit dem Hinzufügen von Regeln fertig sind, wählen Sie **Migrationsprojekt erstellen** aus.

------
#### [ AWS CLI ]

Um Transformationsregeln mithilfe der AWS CLI hinzuzufügen, verwenden Sie den `--transformation-rules` Parameter mit einem der folgenden Befehle:
+ [create-migration-project](https://docs.aws.amazon.com/cli/latest/reference/dms/create-migration-project.html) — Beim Erstellen eines neuen Migrationsprojekts.
+ [modify-migration-project](https://docs.aws.amazon.com/cli/latest/reference/dms/modify-migration-project.html) — Für ein vorhandenes Migrationsprojekt.

Das folgende Beispiel fügt Transformationsregeln zu einem vorhandenen Migrationsprojekt hinzu:

```
aws dms modify-migration-project \
  --migration-project-identifier {{migration_project_arn}} \
  --transformation-rules '{{json_rules}}'
```

Um diesen Befehl in einer bestimmten AWS-Region auszuführen, fügen Sie beispielsweise den `--region` Parameter hinzu`--region us-west-2`.

------

Informationen zum Bearbeiten, Duplizieren oder Entfernen vorhandener Transformationsregeln finden Sie unter[Bearbeiten von Transformationsregeln](#sc-transformation-rules-edit).

## Transformationsregeln werden abgerufen
<a name="sc-transformation-rules-obtain"></a>

Sie können Transformationsregeln aus einem vorhandenen DMS-Schemakonvertierungs-Migrationsprojekt mithilfe der AWS Management Console oder der AWS CLI abrufen.

------
#### [ AWS Management Console ]

Um die Transformationsregeln mit der AWS Management Console anzuzeigen, wählen Sie für ein vorhandenes Migrationsprojekt die Option **Ändern** aus und überprüfen Sie die Liste der vorhandenen Regeln im Abschnitt **Transformationsregeln**.

------
#### [ AWS CLI ]

Verwenden Sie den Befehl [describe-migration-projects](https://docs.aws.amazon.com/cli/latest/reference/dms/describe-migration-projects.html), um Transformationsregeln aus einem vorhandenen DMS-Schemakonvertierungs-Migrationsprojekt abzurufen. Die Antwort verwendet das JSON-Format und enthält die mit dem Projekt verknüpften Transformationsregeln.

Das folgende AWS CLI-Beispiel ruft Transformationsregeln aus einem Migrationsprojekt ab:

```
aws dms describe-migration-projects \
  --filters Name=migration-project-identifier,Values={{migration_project_arn}}
```

------

## Bearbeiten von Transformationsregeln
<a name="sc-transformation-rules-edit"></a>

Verwenden Sie eine der folgenden Methoden, um Transformationsregeln in Ihrem Migrationsprojekt zu bearbeiten, hinzuzufügen oder zu entfernen.

------
#### [ AWS Management Console ]

**So bearbeiten Sie Transformationsregeln**

1. Wählen Sie **Migrationsprojekte** und dann Ihr Migrationsprojekt aus.

1. Wählen Sie **Ändern**, um die Einstellungen Ihres Migrationsprojekts zu bearbeiten.

1. Wählen Sie für **Transformationsregeln** eine der folgenden Aktionen:
   + Wählen Sie **Transformationsregel** hinzufügen, um eine neue Transformationsregel hinzuzufügen.
   + Wählen Sie **Duplizieren**, um eine bestehende Transformationsregel zu duplizieren und am Ende der Liste hinzuzufügen.
   + Wählen Sie **Entfernen** aus, um eine vorhandene Transformationsregel zu löschen.
   + Wählen Sie die vorhandene Transformationsregel aus, um sie zu bearbeiten.

1. Wählen Sie **Änderungen speichern** aus, wenn Sie mit dem Bearbeiten der Regeln fertig sind.

------
#### [ AWS CLI ]

Um Transformationsregeln mithilfe der AWS CLI zu aktualisieren, verwenden Sie den Befehl [modify-migration-project](https://docs.aws.amazon.com/cli/latest/reference/dms/modify-migration-project.html) mit dem Parameter. `--transformation-rules` Übergeben Sie den vollständigen aktualisierten Regelsatz als JSON-Zeichenfolge.

```
aws dms modify-migration-project \
  --migration-project-identifier {{migration_project_arn}} \
  --transformation-rules '{{json_rules}}'
```

------

## Format der Transformationsregeln
<a name="sc-transformation-rules-format"></a>

Eine Transformationsregel verwendet JSON-Objektfelder, um zu definieren, wie ein Quellobjekt in sein Zieläquivalent konvertiert wird. Jeder Regeltyp verwendet einen bestimmten Satz von Feldern. Schließen Sie nur die Felder ein, die für Ihre Aufgabe gelten.

Das folgende JSON-Objekt beschreibt eine Transformationsregel für die DMS-Schemakonvertierung:

```
{
  "rule-type": "transformation",
  "rule-id": {{rule_id}},
  "rule-name": "{{rule_name}}",
  "rule-action": "{{rule_action}}",
  "rule-target": "{{rule_target}}",
  "object-locator": {
    [ "database-name": "{{database_name}}", ]
    [ "schema-name": "{{schema_name}}", ]
    [ "table-name": "{{table_name}}", ]
    [ "column-name": "{{column_name}}", ]
    [ "parent": "{{parent_name}}", ]
    [ "function-name": "{{function_name}}", ]
    [ "procedure-name": "{{procedure_name}}", ]
    [ "parameter-name": "{{parameter_name}}", ]
    [ "local-variable-name": "{{local_variable_name}}", ]
    [ "type": "{{source_data_type}}", ]
    [ "precision": {{source_precision}}, ]
    [ "scale": {{source_scale}}, ]
    [ "length": {{source_length}} ]
  },
  [ "value": "{{rule_value}}", ]
  [ "old-value": "{{rule_old_value}}", ]
  [ "data-type": {
    "type": "{{data_type_name}}",
    [ "precision": {{data_type_precision}}, ]
    [ "scale": {{data_type_scale}}, ]
    [ "length": {{data_type_length}} ]
  } ]
}
```

In der folgenden Tabelle werden die einzelnen Parameter beschrieben.


| Parameter | Mögliche Werte | Description | 
| --- | --- | --- | 
| rule-type | transformation | Ein Wert, der die Regel auf jedes vom Objektlocator angegebene Objekt anwendet.<br />Setzen Sie diesen Wert für alle Transformationsregeln auf`transformation`.<br />Erforderlicher Parameter. | 
| rule-id | Ein numerischer Wert (Ganzzahl). | Ein eindeutiger numerischer Wert zur Identifizierung der Regel.<br />Erforderlicher Parameter. | 
| rule-name | Ein alphanumerischer Wert. | Ein eindeutiger Name zur Identifizierung der Regel.<br />Erforderlicher Parameter. | 
| rule-action | add-prefix, remove-prefix, replace-prefix, add-suffix, remove-suffix, replace-suffix, convert-uppercase, convert-lowercase, rename, change-data-type | Die Transformation, die Sie auf das Objekt anwenden möchten. Bei allen Transformationsregelaktionen wird zwischen Groß- und Kleinschreibung unterschieden.<br />Präfix-Operationen:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/dms/latest/userguide/sc-transformation-rules.html)<br />Suffix-Operationen:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/dms/latest/userguide/sc-transformation-rules.html)<br />Konvertierung von Groß- und Kleinschreibung[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/dms/latest/userguide/sc-transformation-rules.html)<br />Direkte Änderung:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/dms/latest/userguide/sc-transformation-rules.html)<br />Geltungsbereich: Operationen zur Konvertierung von Präfix, Suffix, Umbenennen und Groß- und Kleinschreibung können auf Schemas, Tabellen und Spalten angewendet werden.<br />Die `change-data-type` Operation gilt nur für Spalten, Funktionsrückgabewerte, Routineparameter und lokale Variablen.<br />Erforderlicher Parameter. | 
| rule-target | database, schema, table, view, column, function result, routine parameter, local variable | Der Objekttyp, auf den die Regel angewendet wird.[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/dms/latest/userguide/sc-transformation-rules.html)<br />Erforderlicher Parameter. | 
| object-locator | Ein JSON-Objekt. | Ein Objekt, das identifiziert, für welche Quelldatenbankobjekte die Regel gilt. Sie können das Prozentzeichen (`%`) als Platzhalter für den gesamten oder einen Teil des Werts in jedem `object-locator` Objektfeld verwenden.<br />Das Objekt enthält die folgenden Zeichenkettenfelder:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/dms/latest/userguide/sc-transformation-rules.html)<br />Bei allen Objektnamen, z. B. Tabellen- oder Spaltennamen, in Transformationsregeln wird zwischen Groß- und Kleinschreibung unterschieden.<br />In den folgenden Abschnitten werden die einzelnen Objektfelder beschrieben.<br />Erforderlicher Parameter. | 
| object-locator \| database-name | Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name der Quelldatenbank.<br />Gilt für Datenbankanbieter, bei denen die Datenbankarchitektur aus der Datenbank als Objektcontainer der obersten Ebene stammt. Zum Beispiel: Microsoft SQL Server, SAP ASE.<br />Optionales JSON-Objektfeld. | 
| object-locator \| schema-name | Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name des Quelldatenbankschemas.<br />Optionales JSON-Objektfeld. | 
| object-locator \| table-name | Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name der Quelldatenbanktabelle.<br />Optionales JSON-Objektfeld. | 
| object-locator \| column-name | Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name der Tabellenspalte der Quelldatenbank.<br />Optionales JSON-Objektfeld. | 
| object-locator \| parent | Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name des Quelldatenbankobjekts, das dem angegebenen Objekt übergeordnet ist, z. B. für das `function-name` oder`procedure-name`.<br />In Datenbanken einiger Hersteller ist das Objekt, auf das die Regel angewendet wird, möglicherweise untergeordnet und erfordert die Angabe seines übergeordneten Objekts.<br />Zum Beispiel Funktionspakete in Oracle, wobei das übergeordnete Element der Paketname ist.<br />Optionales JSON-Objektfeld. | 
| object-locator \| function-name | Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name der Quelldatenbankfunktion.<br />Optionales JSON-Objektfeld. | 
| object-locator \| procedure-name | Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name der Quelldatenbankprozedur.<br />Optionales JSON-Objektfeld. | 
| object-locator \| parameter-name | Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name der Funktion oder des Prozedurparameters der Quelldatenbank.<br />Optionales JSON-Objektfeld. | 
| object-locator \| local-variable-name | Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der Name einer lokalen Variablen innerhalb der Quelldatenbankfunktion oder -prozedur.<br />Optionales JSON-Objektfeld. | 
| object-locator \| type | Ein alphanumerischer Wert. | Der Name des Quelldatentyps, der zugeordnet werden soll. Verwenden Sie dieses Feld, um die Regel nur auf Objekte mit einem bestimmten Datentyp anzuwenden.<br />Optionales JSON-Objektfeld. | 
| object-locator \| precision | Ein numerischer Wert (Ganzzahl). | Die Genauigkeit des entsprechenden Quelldatentyps.<br />Optionales JSON-Objektfeld. | 
| object-locator \| scale | Ein numerischer Wert (Ganzzahl). | Die Skala des entsprechenden Quelldatentyps.<br />Optionales JSON-Objektfeld. | 
| object-locator \| length | Ein numerischer Wert (Ganzzahl). | Die Länge des Quelldatentyps, der übereinstimmen soll.<br />Optionales JSON-Objektfeld. | 
| value | Ein alphanumerischer Wert, der den Benennungsregeln für die Zieldatenbank entspricht. | Der von der Transformationsaktion verwendete Textwert. Für `add-prefix` und gibt den Text an`add-suffix`, der hinzugefügt werden soll. Für `remove-prefix` und gibt den Text an`remove-suffix`, der entfernt werden soll. Für `replace-prefix` und `replace-suffix` gibt den Ersatztext an. Für`rename`, gibt den neuen Namen an.<br />Erforderlich für alle Aktionen außer `convert-uppercase``convert-lowercase`, und`change-data-type`. | 
| old-value | Ein alphanumerischer Wert, der den Benennungsregeln für die Quelldatenbank entspricht. | Der vorhandene Wert, der im Objektnamen gesucht und ersetzt werden soll. Erforderlich für Aktionen wie `replace-prefix` und`replace-suffix`.<br />Optionaler Parameter. | 
| data-type | Ein JSON-Objekt. | Ein Objekt, das Eigenschaften eines Ersatzdatentyps beschreibt, wenn dies der `rule-action` Fall ist`change-data-type`.<br />Das -Objekt enthält die folgenden Felder:[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/dms/latest/userguide/sc-transformation-rules.html)<br />In den folgenden Abschnitten werden die einzelnen Objektfelder beschrieben.<br />Optionaler Parameter. | 
| data-type \| type | Ein alphanumerischer Wert. | Der Name des Ersatzdatentyps für die Zieldatenbankspalte, falls `rule-action` ja`change-data-type`. Muss ein gültiger Zieldatenbank-Datentyp sein.<br />Erforderliches JSON-Objektfeld. | 
| data-type \| precision | Ein numerischer Wert (Ganzzahl). | Die Genauigkeit des Ersatzdatentyps für die Zieldatenbank`rule-action`, `change-data-type` falls<br />Optionales JSON-Objektfeld. | 
| data-type \| scale | Ein numerischer Wert (Ganzzahl). | Die Skala des Ersatzdatentyps für die Zieldatenbank, falls `rule-action` ja`change-data-type`.<br />Optionales JSON-Objektfeld. | 
| data-type \| length | Ein numerischer Wert (Ganzzahl). | Die Länge des Ersatzdatentyps für die Zieldatenbank`rule-action`, `change-data-type` falls<br />Optionales JSON-Objektfeld. | 

## Beispiele für Transformationsregeln
<a name="sc-transformation-rules-examples"></a>

Die folgenden Beispiele zeigen den JSON-Wert für den `--transformation-rules` Parameter für verschiedene Regeltypen:

### Hinzufügen eines Präfix
<a name="sc-transformation-rules-examples-add-prefix"></a>

Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- in die Zieldatenbank ausgeführt:
+ Präfix `DW_` zum Schema hinzufügen`SALES`.
+ Fügen Sie der Tabelle `ORDERS` im Schema ein Präfix `FACT_` hinzu`SALES`.
+ Fügen Sie der Spalte `OLD_` in `UNIT_PRICE` der Tabelle `PRODUCTS` im Schema ein Präfix hinzu`SALES`.

```
{
  "rules": [
    {
      "rule-id": 5,
      "rule-type": "transformation",
      "rule-name": "add-prefix-schema-sales",
      "rule-action": "add-prefix",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "SALES"
      },
      "value": "DW_"
    },
    {
      "rule-id": 12,
      "rule-type": "transformation",
      "rule-name": "add-prefix-table-orders",
      "rule-action": "add-prefix",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "SALES",
        "table-name": "ORDERS"
      },
      "value": "FACT_"
    },
    {
      "rule-id": 27,
      "rule-type": "transformation",
      "rule-name": "add-prefix-column-unit-price",
      "rule-action": "add-prefix",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "SALES",
        "table-name": "PRODUCTS",
        "column-name": "UNIT_PRICE"
      },
      "value": "OLD_"
    }
  ]
}
```

### Entfernen Sie ein Präfix
<a name="sc-transformation-rules-examples-remove-prefix"></a>

Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- zur Zieldatenbank ausgeführt:
+ Entfernen Sie das Präfix `SRC_` aus dem Schema`SRC_FINANCE`.
+ Entfernen Sie das Präfix `TMP_` aus `TMP_INVOICES` der Tabelle im Schema`SRC_FINANCE`.
+ Entfernen Sie das Präfix `PAID_` aus `PAID_AMOUNT` der Spalte in `TMP_PAYMENTS` der Tabelle im Schema`SRC_FINANCE`.

```
{
  "rules": [
    {
      "rule-id": 3,
      "rule-type": "transformation",
      "rule-name": "remove-prefix-schema-src-finance",
      "rule-action": "remove-prefix",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "SRC_FINANCE"
      },
      "value": "SRC_"
    },
    {
      "rule-id": 18,
      "rule-type": "transformation",
      "rule-name": "remove-prefix-table-tmp-invoices",
      "rule-action": "remove-prefix",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "SRC_FINANCE",
        "table-name": "TMP_INVOICES"
      },
      "value": "TMP_"
    },
    {
      "rule-id": 41,
      "rule-type": "transformation",
      "rule-name": "remove-prefix-column-paid-amount",
      "rule-action": "remove-prefix",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "SRC_FINANCE",
        "table-name": "TMP_PAYMENTS",
        "column-name": "PAID_AMOUNT"
      },
      "value": "PAID_"
    }
  ]
}
```

### Ersetzen eines Präfix
<a name="sc-transformation-rules-examples-replace-prefix"></a>

Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- in die Zieldatenbank ausgeführt:
+ Ersetzen Sie das Präfix `OLD_` durch `NEW_` im Schema`OLD_INVENTORY`.
+ Ersetzen Sie das Präfix `STG_` durch `INT_` in `STG_WAREHOUSES` der Tabelle im Schema`OLD_INVENTORY`.
+ Ersetzen Sie das Präfix `SRC_` durch eine Spalte `TGT_` `SRC_WAREHOUSE_CODE` in `STG_WAREHOUSES` der Tabelle im Schema`OLD_INVENTORY`.

```
{
  "rules": [
    {
      "rule-id": 7,
      "rule-type": "transformation",
      "rule-name": "replace-prefix-schema-old-inventory",
      "rule-action": "replace-prefix",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "OLD_INVENTORY"
      },
      "value": "NEW_",
      "old-value": "OLD_"
    },
    {
      "rule-id": 22,
      "rule-type": "transformation",
      "rule-name": "replace-prefix-table-stg-warehouses",
      "rule-action": "replace-prefix",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "OLD_INVENTORY",
        "table-name": "STG_WAREHOUSES"
      },
      "value": "INT_",
      "old-value": "STG_"
    },
    {
      "rule-id": 35,
      "rule-type": "transformation",
      "rule-name": "replace-prefix-column-src-warehouse-code",
      "rule-action": "replace-prefix",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "OLD_INVENTORY",
        "table-name": "STG_WAREHOUSES",
        "column-name": "SRC_WAREHOUSE_CODE"
      },
      "value": "TGT_",
      "old-value": "SRC_"
    }
  ]
}
```

### Fügen Sie ein Suffix hinzu
<a name="sc-transformation-rules-examples-add-suffix"></a>

Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- zur Zieldatenbank ausgeführt:
+ Fügen Sie dem Schema `HR_ARCHIVE` ein Suffix `_HIST` hinzu.
+ Fügen Sie der Tabelle `JOB_CHANGES` im Schema `_HIST` ein Suffix hinzu. `HR_ARCHIVE`
+ Fügen Sie der Spalte `CREATED_AT` in der Tabelle `EMPLOYEE_SALARIES` im Schema ein Suffix `_TS` hinzu. `HR_ARCHIVE`

```
{
  "rules": [
    {
      "rule-id": 9,
      "rule-type": "transformation",
      "rule-name": "add-suffix-schema-hr-archive",
      "rule-action": "add-suffix",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "HR_ARCHIVE"
      },
      "value": "_HIST"
    },
    {
      "rule-id": 16,
      "rule-type": "transformation",
      "rule-name": "add-suffix-table-job-changes",
      "rule-action": "add-suffix",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "HR_ARCHIVE",
        "table-name": "JOB_CHANGES"
      },
      "value": "_HIST"
    },
    {
      "rule-id": 44,
      "rule-type": "transformation",
      "rule-name": "add-suffix-column-created-at",
      "rule-action": "add-suffix",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "HR_ARCHIVE",
        "table-name": "EMPLOYEE_SALARIES",
        "column-name": "CREATED_AT"
      },
      "value": "_TS"
    }
  ]
}
```

### Entfernen eines Suffix
<a name="sc-transformation-rules-examples-remove-suffix"></a>

Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- zur Zieldatenbank ausgeführt:
+ Suffix `_FILES` aus dem Schema `LEGAL_FILES` entfernen.
+ Entfernen Sie das Suffix `_V1` aus der Tabelle `CLAUSES_V1` im Schema. `LEGAL_FILES`
+ Entfernen Sie das Suffix `_CODE` aus der Spalte `COUNTRY_CODE` in der Tabelle `CONTRACTS_V1` im Schema. `LEGAL_FILES`

```
{
  "rules": [
    {
      "rule-id": 6,
      "rule-type": "transformation",
      "rule-name": "remove-suffix-schema-legal-files",
      "rule-action": "remove-suffix",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "LEGAL_FILES"
      },
      "value": "_FILES"
    },
    {
      "rule-id": 14,
      "rule-type": "transformation",
      "rule-name": "remove-suffix-table-clauses-v1",
      "rule-action": "remove-suffix",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "LEGAL_FILES",
        "table-name": "CLAUSES_V1"
      },
      "value": "_V1"
    },
    {
      "rule-id": 31,
      "rule-type": "transformation",
      "rule-name": "remove-suffix-column-country-code",
      "rule-action": "remove-suffix",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "LEGAL_FILES",
        "table-name": "CONTRACTS_V1",
        "column-name": "COUNTRY_CODE"
      },
      "value": "_CODE"
    }
  ]
}
```

### Ersetzt ein Suffix
<a name="sc-transformation-rules-examples-replace-suffix"></a>

Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- zur Zieldatenbank ausgeführt:
+ Ersetzen Sie das Suffix `_DEV` durch `_PROD` im Schema`REPORTING_DEV`.
+ Ersetzen Sie das Suffix `_RPT` durch `_REPORT` in der Tabelle `MONTHLY_RPT` im Schema. `REPORTING_DEV`
+ Ersetzen Sie das Suffix `_ID` durch eine Spalte `_KEY` `CUSTOMER_ID` in der Tabelle `MONTHLY_RPT` im Schema. `REPORTING_DEV`

```
{
  "rules": [
    {
      "rule-id": 8,
      "rule-type": "transformation",
      "rule-name": "replace-suffix-schema-reporting-dev",
      "rule-action": "replace-suffix",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "REPORTING_DEV"
      },
      "value": "_PROD",
      "old-value": "_DEV"
    },
    {
      "rule-id": 23,
      "rule-type": "transformation",
      "rule-name": "replace-suffix-table-monthly-rpt",
      "rule-action": "replace-suffix",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "REPORTING_DEV",
        "table-name": "MONTHLY_RPT"
      },
      "value": "_REPORT",
      "old-value": "_RPT"
    },
    {
      "rule-id": 47,
      "rule-type": "transformation",
      "rule-name": "replace-suffix-column-customer-id",
      "rule-action": "replace-suffix",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "REPORTING_DEV",
        "table-name": "MONTHLY_RPT",
        "column-name": "CUSTOMER_ID"
      },
      "value": "_KEY",
      "old-value": "_ID"
    }
  ]
}
```

### Umwandeln in Großschreibung
<a name="sc-transformation-rules-examples-uppercase"></a>

Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- zur Zieldatenbank ausgeführt:
+ Konvertiert alle Zeichen im Namen des Schemas `CRM_LEGACY` in Großbuchstaben.
+ Konvertiert alle Zeichen im Namen der Tabelle `CUSTOMER_ACCOUNTS` im Schema `CRM_LEGACY` in Großbuchstaben.
+ Konvertiert alle Zeichen im Namen der Spalte `FIRST_NAME` in der Tabelle im Schema `CUSTOMER_ACCOUNTS` `CRM_LEGACY` in Großbuchstaben.

```
{
  "rules": [
    {
      "rule-id": 4,
      "rule-type": "transformation",
      "rule-name": "convert-uppercase-schema-crm-legacy",
      "rule-action": "convert-uppercase",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "CRM_LEGACY"
      }
    },
    {
      "rule-id": 19,
      "rule-type": "transformation",
      "rule-name": "convert-uppercase-table-customer-accounts",
      "rule-action": "convert-uppercase",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "CRM_LEGACY",
        "table-name": "CUSTOMER_ACCOUNTS"
      }
    },
    {
      "rule-id": 36,
      "rule-type": "transformation",
      "rule-name": "convert-uppercase-column-first-name",
      "rule-action": "convert-uppercase",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "CRM_LEGACY",
        "table-name": "CUSTOMER_ACCOUNTS",
        "column-name": "FIRST_NAME"
      }
    }
  ]
}
```

### In Kleinbuchstaben konvertieren
<a name="sc-transformation-rules-examples-lowercase"></a>

Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- in die Zieldatenbank ausgeführt:
+ Konvertiert alle Zeichen im Namen des Schemas `LOGISTICS` in Kleinbuchstaben.
+ Konvertiert alle Zeichen im Namen der Tabelle `SHIPMENT_ORDERS` im Schema `LOGISTICS` in Kleinbuchstaben.
+ Konvertiert alle Zeichen im Namen der Spalte `DESTINATION_CITY` in der Tabelle im Schema `SHIPMENT_ORDERS` `LOGISTICS` in Kleinbuchstaben.

```
{
  "rules": [
    {
      "rule-id": 11,
      "rule-type": "transformation",
      "rule-name": "convert-lowercase-schema-logistics",
      "rule-action": "convert-lowercase",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "LOGISTICS"
      }
    },
    {
      "rule-id": 25,
      "rule-type": "transformation",
      "rule-name": "convert-lowercase-table-shipment-orders",
      "rule-action": "convert-lowercase",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "LOGISTICS",
        "table-name": "SHIPMENT_ORDERS"
      }
    },
    {
      "rule-id": 52,
      "rule-type": "transformation",
      "rule-name": "convert-lowercase-column-destination-city",
      "rule-action": "convert-lowercase",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "LOGISTICS",
        "table-name": "SHIPMENT_ORDERS",
        "column-name": "DESTINATION_CITY"
      }
    }
  ]
}
```

### Umbenennen
<a name="sc-transformation-rules-examples-rename"></a>

Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- in die Zieldatenbank ausgeführt:
+ Schema umbenennen `TEST_SCHEMA` in`TEST_NEW_SCHEMA`.
+ Benennen Sie die Tabelle `REGIONS` im Schema `HR` um in`ORG_REGIONS`.
+ Benennen Sie die Spalte `CITY` in `LOCATIONS` der Tabelle im Schema `HR` um in`ORG_CITY_NAME`.

```
{
  "rules": [
    {
      "rule-id": 2,
      "rule-type": "transformation",
      "rule-name": "rename-schema-test-schema",
      "rule-action": "rename",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "TEST_SCHEMA"
      },
      "value": "TEST_NEW_SCHEMA"
    },
    {
      "rule-id": 15,
      "rule-type": "transformation",
      "rule-name": "rename-table-hr-regions",
      "rule-action": "rename",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "HR",
        "table-name": "REGIONS"
      },
      "value": "ORG_REGIONS"
    },
    {
      "rule-id": 38,
      "rule-type": "transformation",
      "rule-name": "rename-column-hr-locations-city",
      "rule-action": "rename",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "HR",
        "table-name": "LOCATIONS",
        "column-name": "CITY"
      },
      "value": "ORG_CITY_NAME"
    }
  ]
}
```

### Change column data type
<a name="sc-transformation-rules-examples-change-data-type-columns"></a>

Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- zur Zieldatenbank ausgeführt:
+ Ändern Sie den Datentyp der Spalte `SALARY` in der Tabelle `EMPLOYEES` im Schema `PAYROLL` von `NUMBER` auf `DECIMAL` mit einer Genauigkeit von 18 und einer Skala von 4.
+ Ändern Sie den Datentyp der Spalte `NOTES` in der Tabelle `EMPLOYEES` im Schema `PAYROLL` von `VARCHAR2` zu `VARCHAR` mit der Länge 350.
+ Ändern Sie den Datentyp der Spalte `HIRE_DATE` in der Tabelle `EMPLOYEES` im Schema `PAYROLL` von `DATE` bis `TIMESTAMP WITH TIME ZONE` mit Genauigkeit 3.

```
{
  "rules": [
    {
      "rule-id": 10,
      "rule-type": "transformation",
      "rule-name": "change-datatype-column-salary",
      "rule-action": "change-data-type",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "PAYROLL",
        "table-name": "EMPLOYEES",
        "column-name": "SALARY"
      },
      "data-type": {
        "type": "DECIMAL",
        "precision": 18,
        "scale": 4
      }
    },
    {
      "rule-id": 29,
      "rule-type": "transformation",
      "rule-name": "change-datatype-column-notes",
      "rule-action": "change-data-type",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "PAYROLL",
        "table-name": "EMPLOYEES",
        "column-name": "NOTES"
      },
      "data-type": {
        "type": "VARCHAR",
        "length": 350
      }
    },
    {
      "rule-id": 56,
      "rule-type": "transformation",
      "rule-name": "change-datatype-column-hire-date",
      "rule-action": "change-data-type",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "PAYROLL",
        "table-name": "EMPLOYEES",
        "column-name": "HIRE_DATE"
      },
      "data-type": {
        "type": "TIMESTAMP WITH TIME ZONE",
        "precision": 3
      }
    }
  ]
}
```

### Ändern Sie den Parameter- und Variablendatentyp
<a name="sc-transformation-rules-examples-change-data-type-params"></a>

Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- zur Zieldatenbank ausgeführt:
+ Ändern Sie den Datentyp des Parameters `P_AMOUNT` in der gespeicherten Prozedur `PROCESS_PAYMENT` im Schema `FINANCE` in`NUMERIC`.
+ Ändern Sie den Datentyp der lokalen Variablen `V_TAX_RATE` in der gespeicherten Prozedur `PROCESS_PAYMENT` im Schema `FINANCE` auf `NUMERIC` Genauigkeit 10 und Skala 6.
+ Ändern Sie den Datentyp der lokalen Variablen `V_DESCRIPTION` in der eigenständigen Funktion `CALC_DISCOUNT` im Schema `FINANCE` auf `CHARACTER` mit der Länge 150.

```
{
  "rules": [
    {
      "rule-id": 7,
      "rule-type": "transformation",
      "rule-name": "change-datatype-param-p-amount",
      "rule-action": "change-data-type",
      "rule-target": "routine parameter",
      "object-locator": {
        "schema-name": "FINANCE",
        "procedure-name": "PROCESS_PAYMENT",
        "parameter-name": "P_AMOUNT"
      },
      "data-type": {
        "type": "NUMERIC"
      }
    },
    {
      "rule-id": 21,
      "rule-type": "transformation",
      "rule-name": "change-datatype-localvar-v-tax-rate",
      "rule-action": "change-data-type",
      "rule-target": "local variable",
      "object-locator": {
        "schema-name": "FINANCE",
        "procedure-name": "PROCESS_PAYMENT",
        "local-variable-name": "V_TAX_RATE"
      },
      "data-type": {
        "type": "NUMERIC",
        "precision": 10,
        "scale": 6
      }
    },
    {
      "rule-id": 43,
      "rule-type": "transformation",
      "rule-name": "change-datatype-localvar-v-description",
      "rule-action": "change-data-type",
      "rule-target": "local variable",
      "object-locator": {
        "schema-name": "FINANCE",
        "function-name": "CALC_DISCOUNT",
        "local-variable-name": "V_DESCRIPTION"
      },
      "data-type": {
        "type": "CHARACTER",
        "length": 150
      }
    }
  ]
}
```

### Ändern Sie den Rückgabedatentyp der Funktion
<a name="sc-transformation-rules-examples-change-data-type-return"></a>

Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- in die Zieldatenbank ausgeführt:
+ Ändern Sie den Rückgabedatentyp der eigenständigen Funktion `GET_PRODUCT_PRICE` im Schema `FNG_COMPANY` in`BIGINT`.
+ Ändern Sie den Rückgabedatentyp der eigenständigen Funktion `CALC_DISCOUNTED_PRICE` im Schema `FNG_COMPANY` in`DECIMAL`.
+ Ändern Sie den Rückgabedatentyp der verpackten Funktion `CALCULATE_TAX` innerhalb des Pakets `TAX_UTILS` im Schema `FNG_COMPANY` in`REAL`.

```
{
  "rules": [
    {
      "rule-id": 13,
      "rule-type": "transformation",
      "rule-name": "change-result-type-get-product-price",
      "rule-action": "change-data-type",
      "rule-target": "function result",
      "object-locator": {
        "schema-name": "FNG_COMPANY",
        "function-name": "GET_PRODUCT_PRICE"
      },
      "data-type": {
        "type": "BIGINT"
      }
    },
    {
      "rule-id": 28,
      "rule-type": "transformation",
      "rule-name": "change-result-calc-discounted-price",
      "rule-action": "change-data-type",
      "rule-target": "function result",
      "object-locator": {
        "schema-name": "FNG_COMPANY",
        "function-name": "CALC_DISCOUNTED_PRICE"
      },
      "data-type": {
        "type": "DECIMAL"
      }
    },
    {
      "rule-id": 61,
      "rule-type": "transformation",
      "rule-name": "change-result-type-calculate-tax",
      "rule-action": "change-data-type",
      "rule-target": "function result",
      "object-locator": {
        "schema-name": "FNG_COMPANY",
        "parent": "TAX_UTILS",
        "function-name": "CALCULATE_TAX"
      },
      "data-type": {
        "type": "REAL"
      }
    }
  ]
}
```

### Platzhaltermuster
<a name="sc-transformation-rules-examples-wildcard"></a>

Im folgenden Beispiel werden diese Aktionen bei der Konvertierung von der Quell- in die Zieldatenbank ausgeführt:
+ Fügen Sie allen Schemas`MIGR_`, deren Namen mit `STG_` beginnen, ein Präfix hinzu.
+ Fügen Sie allen Tabellen in allen Schemas, deren Namen mit beginnen, ein Präfix `MIGR_` hinzu. `STG_`
+ Fügen Sie allen Spalten`_NEW`, deren Namen mit beginnen, in allen Tabellen `SRC_` in allen Schemas, deren Namen mit beginnen, ein Suffix hinzu. `STG_`

```
{
  "rules": [
    {
      "rule-id": 8,
      "rule-type": "transformation",
      "rule-name": "add-prefix-schemas-starting-with-stg",
      "rule-action": "add-prefix",
      "rule-target": "schema",
      "object-locator": {
        "schema-name": "STG_%"
      },
      "value": "MIGR_"
    },
    {
      "rule-id": 33,
      "rule-type": "transformation",
      "rule-name": "add-prefix-all-tables-in-stg-schemas",
      "rule-action": "add-prefix",
      "rule-target": "table",
      "object-locator": {
        "schema-name": "STG_%",
        "table-name": "%"
      },
      "value": "MIGR_"
    },
    {
      "rule-id": 57,
      "rule-type": "transformation",
      "rule-name": "add-suffix-columns-starting-with-src",
      "rule-action": "add-suffix",
      "rule-target": "column",
      "object-locator": {
        "schema-name": "STG_%",
        "table-name": "%",
        "column-name": "SRC_%"
      },
      "value": "_NEW"
    }
  ]
}
```