SnowConvert AI - Teradata Conversion Settings

Allgemeine Konvertierungseinstellungen

General Result Settings

![Unterseite „General Result Settings“(../../../../../../images/migrations/sc-assets/image(531).png „image“)

  1. Comment objects with missing dependencies: Flag, das angibt, ob der Benutzer Knoten mit fehlenden Abhängigkeiten kommentieren möchte.

  2. Disable EWI comments generation (errors, warnings and issues): Flag, das angibt, ob EWIs-Kommentare (Error, Warnings, Issues) für den konvertierten Code nicht erzeugt werden sollen. Der Standardwert ist „false“.

  3. Generate XML-tags for SQL statements in Stored Procedures: Flag, das angibt, ob die SQL-Anweisungen SELECT, INSERT, CREATE, DELETE, UPDATE, DROP, MERGE in gespeicherten Prozeduren im konvertierten Code markiert werden. Dieses Feature dient der einfachen Identifizierung von Anweisungen im migrierten Code. Wenn Sie diese Anweisungen in diese XML-ähnlichen Tags einschließen, können andere Programme sie schnell finden und extrahieren. Der dekorierte Code sieht wie folgt aus:

    //<SQL_DELETE
    EXEC(DELETE FROM SB_EDP_SANDBOX_LAB.PUBLIC.USER_LIST,[])
    //SQL_DELETE!>
    
    Copy
  4. Separate Period Data-type definitions and usages into begin and end Data-Time fields: Dieses Flag wird verwendet, um anzuzeigen, dass das Tool jede Verwendung des Datentyps PERIOD als zwei separate DATETIME-Felder migrieren soll, die die ursprünglichen Werte für Beginn und Ende des Zeitraums enthalten. Jedes Mal, wenn ein Zeitraumfeld oder eine Zeitraumfunktion mit diesem Flag migriert wird, wird SSC-EWI-TD0053 hinzugefügt, um auf diese Änderung hinzuweisen.

    Eingabecode:

    CREATE TABLE myTable(
       col1 PERIOD(DATE),
       col2 VARCHAR(50),
       col3 PERIOD(TIMESTAMP)
    );
    
    Copy

    Ausgabecode:

    CREATE OR REPLACE TABLE myTable (
       col1 VARCHAR(24) !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!!,
       col2 VARCHAR(50),
       col3 VARCHAR(58) !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!!
    )
    COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
    ;
    
    Copy
  5. Set encoding of the input files: Check General Conversion Settings for more details.

  6. Use COLLATE for Case Specification: This flag indicates whether to use COLLATE or UPPER to preserve Case Specification functionality, e.g. CASESPECIFIC or NOT CASESPECIFIC. By default, it is turned off, meaning that the UPPER function will be used to emulate case insensitivity (NOT CASESPECIFIC). To learn more about how Case Specification is handled by SnowConvert AI check here.

Bemerkung

Die Einstellungen, die für alle unterstützten Sprachen gelten, finden Sie in dem folgenden Artikel.

Session Mode Settings

Diese Unterseite der Einstellungen wird verwendet, um den Sitzungsmodus des Eingabecodes anzugeben.

Unterseite „Session Mode Settings“

SnowConvert AI handles Teradata code in both TERA and ANSI modes. Currently, this is limited to the default case specification of character data and how it affects comparisons. By default, the Session Mode is TERA.

You can learn more about how SnowConvert AI handles and converts code depending on the session mode, check here.

DB Objects Names Settings

DB Seite „Objects Names Settings“

  1. Schema: Der Zeichenfolgenwert gibt den benutzerdefinierten Schemanamen an, der angewendet werden soll. Wenn er nicht angegeben ist, wird der ursprüngliche Datenbankname verwendet. Beispiel: DB1.myCustomSchema.Table1.

  2. Database: Der Zeichenfolgenwert gibt den Namen benutzerdefinierten Datenbanknamen an, die angewendet werden soll. Beispiel: MyCustomDB.PUBLIC.Table1.

  3. Default: Keine der oben genannten Einstellungen wird in den Objektnamen verwendet.

Prepare Code Settings

Seite „Prepare Code Settings“

Description

Prepare my code: Flag to indicate whether the input code should be processed before parsing and transformation. This can be useful to improve the parsing process. By default, it’s set to FALSE.

Splits the input code top-level objects into multiple files. The containing folders would be organized as follows:

└───A new folder named ''[input_folder_name]_Processed''
    └───Top-level object type
        └───Schema name
Copy

Example

Input

├───in
│       DDL_Macros.sql
│       DDL_Procedures.sql
│       DDL_Tables.sql
Copy

Output

Assume that the name of the files is the name of the top-level objects in the input files.


├───in_Processed
    ├───macro
    │   └───MY_DATABASE
    │           MY_FIRST_MACRO.sql
    │           ANOTHER_MACRO.sql
    │
    ├───procedure
    │   └───MY_DATABASE
    │           A_PROCEDURE.sql
    │           ANOTHER_PROCEDURE.sql
    │           YET_ANOTHER_PROCEDURE.sql
    │
    └───table
        └───MY_DATABASE
                MY_TABLE.sql
                ADDITIONAL_TABLE.sql
                THIRD_TABLE.sql
Copy

Inside the „schema name“ folder, there should be as many files as top-level objects in the input code. Also, it is possible to have copies of some files when multiple same-type top-level objects have the same name. In this case, the file names will be enumerated in ascending order.

Only files with the „.sql“, „.ddl“ and „.dml“ extensions will be considered for splitting. Other kinds of files like „.bteq“ scripts will be copied into the preprocessed folder and will be categorized depending on the script extension but they won’t be modified by the Split Task.

Requirements

To identify top-level objects, a tag must be included in a comment before their declaration. Our Extraction scripts generate these tags.

The tag should follow the next format:

<sc-top_level_object_type>top_level_object_name</sc-top_level_object_type>
Copy

You can follow the next example:

/* <sc-table> MY_DATABASE.MY_TABLE</sc-table> */
CREATE TABLE "MY_DATABASE"."MY_TABLE" (
    "MY_COLUMN" INTEGER
) ;
Copy

Format Conversion Settings

Seite „Format Conversion Settings“

  1. Character to Number default scale: Ein Ganzzahl-Wert für die Umwandlung von CHARACTER in eine ungefähre Zahl (Standardwert: 10).

  2. Default TIMESTAMP format: Zeichenfolgenwert für das TIMESTAMP-Standardformat (Standardwert: YYYY/MM/DD HH:MI:SS).

  3. Default DATE format: Zeichenfolgenwert für das DATE-Format (Standardwert: YYYY/MM/DD).

  4. Source TIMEZONE: Zeichenfolgenwert für das TIMEZONE-Format (Standardwert: GMT-5).

  5. Default TIME format: Zeichenfolgenwert für das TIME-Format (Standardwert: HH:MI:SS).

Target Language for BTEQ, Procedures/Macros

Seite mit Einstellungen für die Zielsprache für BTEQ

Gibt die Zielsprache für die Konvertierung von BTEQ- und MLOAD-Skriptdateien an. Derzeit unterstützte Werte sind SnowScript und Python. Der Standardwert ist Python.

Seite „Procedures/Macros Target Language Settings“

Zeichenfolgenwert, der die Zielsprache für die Konvertierung von gespeicherten Prozeduren und Makros angibt. Derzeit werden unterstützt: SnowScript und JavaScript. Der Standardwert ist auf SnowScript festgelegt.

Reset Settings: The reset settings option appears on every page. If you’ve made changes, you can reset SnowConvert AI to its original default settings.