Issues and Troubleshooting

Definitions

SnowConvert generates different kinds of messages in the output code indicating additional effort that needs to be made in order to achieve functional equivalence in Snowflake.

EWI (Errors, Warnings and Issues)

If SnowConvert is unable to fully convert a piece of code, then an EWI is generated. Any EWI will have a negative impact on the conversion rate for a code unit. Reasons why SnowConvert may be unable to fully convert the code include:

  • A conversion rule has not been implemented yet

  • Missing dependent code that is required for the conversion rule to be applied.

  • There is not currently an equivalent statement available in Snowflake and/or a UDF has not been developed yet to emulate the functionality required.

Since they typically represent issues that should be addressed before deploying the output code, SnowConvert generates a !!!RESOLVE EWI!!! before each EWI in order to break the compilation.

The SnowConvert team uses internal metrics to classify EWIs into four severity levels (Low, Medium, High, and Critical) based on how much effort, on average, it takes to correct the code.

FDM (Functional Difference Messages)

In the course of converting a legacy platform code to Snowflake, it is essential to acknowledge that such platforms (Teradata, Oracle, SqlServer) and Snowflake are different, each with its unique set of features, functions, and capabilities. In many cases, full functional equivalence cannot be achieved through automation, and involvement is required to bridge those functional differences.

An FDM is generated when SnowConvert is able to output converted, syntactically correct code but that code may not provide exact functional equivalence to the original legacy code. Reasons for functional in-equivalence may be due to features that are not available within Snowflake and require re-solutions beyond what can be done with straight code conversion. Many times, business or architectural input will be required to determine further course of action needed (if any) related to FDMs; since FDMs are added to converted code that should not break the code compilation they do not punish the conversion rate.

PRF (Performance Review)

These types of messages are added to the converted code to let the user know that while the code is translated correctly, it might have performance issues in some scenarios. Some refactoring might be needed to fully take advantage of the Snowflake capabilities.

OOS (Out Of Scope)

As described in the conversion scope page and in the out of scope messages section some code units are considered out of scope for conversion reasons. SnowConvert generates these types of messages to let the user know that the whole code unit was not converted.


New Codes Format

We have improved the format of the EWIs to make it more user-friendly and easier to understand the type of message and the language it belongs to. The following will explain the change with examples.

General

General EWIs were previously mapped using the codes 1000. Now, General EWIs will be those that do not have any abbreviation referring to any of the languages supported by SnowConvert.

Example

New Code
Old Code

SSC-EWI-0001

MSCEWI1001

Teradata

Teradata EWIs were previously mapped using the codes 2000. Now, Teradata EWIs will be mapped with a 'TD' at the beginning of the numeric part of the code.

Example

New Code
Old Code

SSC-EWI-TD0001

MSCEWI2001

Oracle

Oracle EWIs were previously mapped using the codes 3000. Now, Oracle EWIs will be mapped with a 'OR' at the beginning of the numeric part of the code.

Example

New Code
Old Code

SSC-EWI-OR0012

MSCEWI3012

SQL Server

SQL Server EWIs were previously mapped using the codes 2000. Now, SQL Server EWIs will be mapped with a 'TS' at the beginning of the numeric part of the code.

Example

New Code
Old Code

SSC-EWI-TS0003

MSCEWI4003

Changed Category To FDM

Dialect
New code
Old code

General

MSCINF0001

General

MSCINF0002

General

MSCINF0003

General

MSC-GP0001

General

MSCEWI1096

General

MSCEWI1066

General

MSCEWI1050

General

MSCEWI1093

General

MSCCP0002

General

MSCEWI1044

General

MSCEWI1045

General

MSCEWI1097

General

MSCEWI1008

General

MSCEWI1035

General

MSCEWI1064

General

MSCEWI1076

General

MSCEWI1072

General

SSC-EWI-0049

General

MSCEWI1058

General

MSCEWI1028

General

SSC-EWI-0068

Teradata

MSCEWI2013

Teradata

MSCEWI2014

Teradata

MSCEWI2073

Teradata

MSCEWI2074

Teradata

MSCEWI2058

Teradata

MSCEWI2045

Teradata

MSCEWI2018

Teradata

MSCEWI2080

Teradata

MSCEWI2019

Teradata

MSCEWI2042

Teradata

MSCEWI2064

Teradata

MSCEWI2004

Teradata

MSCEWI2075

Teradata

MSCEWI2023

Teradata

MSCEWI2020

Teradata

MSCEWI2021

Teradata

MSCEWI2063

Teradata

MSCEWI2084

Teradata

MSCEWI2062

Teradata

MSCEWI2030

Teradata

MSCEWI2086

Teradata

MSCEWI2054

Teradata

SSC-EWI-TD0087

Teradata

MSCEWI2061

Teradata

MSCEWI2060

Teradata

SSC-EWI-TD0055

Teradata

SSC-EWI-TD0070

Oracle

MSCINF0004

Oracle

MSCEWI3068

Oracle

MSCEWI3038

Oracle

MSCEWI3022

Oracle

MSCEWI3025

Oracle

MSCEWI3041

Oracle

MSCEWI3056

Oracle

MSCEWI3071

Oracle

MSCEWI3086

Oracle

MSCEWI3093

Oracle

MSCEWI3066

Oracle

MSCEWI3131

Oracle

MSCEWI3039

Oracle

MSCEWI3002

Oracle

MSCEWI3091

Oracle

MSCEWI3132

Oracle

MSCEWI3017

Oracle

MSCEWI3134

Oracle

MSCEWI3086

Oracle

MSCEWI3051

Oracle

MSCEWI3102

Oracle

MSCEWI3100

Oracle

MSCEWI3099

Oracle

MSCEWI3114

Oracle

MSCEWI3021

Oracle

MSCEWI1065

Oracle

MSCEWI3098

Oracle

MSCEWI3031

Oracle

MSCEWI3059

Oracle

MSCEWI3094

Oracle

MSCEWI3113

Oracle

MSCEWI3004

Oracle

SSC-EWI-OR0128

Oracle

SSC-EWI-OR0062

Oracle

SSC-EWI-OR0005

Oracle

SSC-EWI-OR0089

Oracle

SSC-FDM-OR0013

Oracle

SSC-EWI-OR0006

SQL Server

MSCEWI4005

SQL Server

MSCEWI4004

SQL Server

MSCEWI4064

SQL Server

MSCEWI4022

SQL Server

MSCEWI4074

SQL Server

MSCEWI4066

SQL Server

MSCEWI4066

SQL Server

MSCEWI4065

SQL Server

MSCEWI4003

SQL Server

MSCEWI4069

SQL Server

MSCEWI1088

SQL Server

SSC-EWI-TS0071

SQL Server

SSC-EWI-TS0055

Dialect
New code
Old code

General

MSCINF0001

General

MSCINF0002

General

MSCINF0003

General

MSC-GP0001

General

MSCEWI1096

General

MSCEWI1066

General

MSCEWI1050

General

MSCEWI1057

General

MSCEWI1093

General

MSCCP0002

General

MSCEWI1044

General

MSCEWI1045

General

MSCEWI1097

General

MSCEWI1008

General

MSCEWI1035

General

MSCEWI1064

General

MSCEWI1076

General

MSCEWI1072

General

MSCEWI1058

General

MSCEWI1028

Teradata

MSCEWI2013

Teradata

MSCEWI2014

Teradata

MSCEWI2073

Teradata

MSCEWI2074

Teradata

MSCEWI2058

Teradata

MSCEWI2045

Teradata

MSCEWI2018

Teradata

MSCEWI2080

Teradata

MSCEWI2019

Teradata

SSC-FDM-TD0010

MSCEWI2042

Teradata

MSCEWI2064

Teradata

MSCEWI2004

Teradata

MSCEWI2075

Teradata

MSCEWI2023

Teradata

MSCEWI2020

Teradata

MSCEWI2021

Teradata

MSCEWI2063

Teradata

MSCEWI2084

Teradata

MSCEWI2062

Teradata

MSCEWI2030

Teradata

MSCEWI2086

Teradata

MSCEWI2054

Teradata

MSCEWI2061

Teradata

MSCEWI2060

Oracle

MSCINF0004

Oracle

MSCEWI3068

Oracle

MSCEWI3038

Oracle

MSCEWI3022

Oracle

MSCEWI3025

Oracle

MSCEWI3041

Oracle

MSCEWI3056

Oracle

MSCEWI3071

Oracle

MSCEWI3086

Oracle

MSCEWI3093

Oracle

MSCEWI3066

Oracle

MSCEWI3131

Oracle

MSCEWI3039

Oracle

MSCEWI3002

Oracle

MSCEWI3091

Oracle

MSCEWI3132

Oracle

MSCEWI3017

Oracle

MSCEWI3134

Oracle

MSCEWI3086

Oracle

MSCEWI3051

Oracle

MSCEWI3102

Oracle

MSCEWI3100

Oracle

MSCEWI3099

Oracle

MSCEWI3114

Oracle

MSCEWI3021

Oracle

MSCEWI1065

Oracle

MSCEWI3098

Oracle

MSCEWI3029

Oracle

MSCEWI3031

Oracle

MSCEWI3059

Oracle

MSCEWI3094

Oracle

MSCEWI3113

Oracle

SSC-EWI-OR0128

Oracle

MSCEWI307

Oracle

SSC-EWI-OR0062

SQL Server

MSCEWI4005

SQL Server

MSCEWI4004

SQL Server

MSCEWI4064

SQL Server

MSCEWI4022

SQL Server

MSCEWI4074

SQL Server

MSCEWI4066

SQL Server

MSCEWI4066

SQL Server

MSCEWI4065

SQL Server

MSCEWI4003

SQL Server

MSCEWI4069

SQL Server

MSCEWI1088

SQL Server

SSC-EWI-TS0071

SQL Server

SSC-EWI-TS0055

Changed Category To PRF

Dialect
New code
Old code

General

MSCCP0005

General

MSCCP0007

General

MSCCP0006

General

MSCCP0003

General

MSCCP0010

General

MSCCP0011

Teradata

MSCEWI2008

SQL Server

MSCEWI4007

Deprecated EWIs

Dialect
Code

General

MSCEWI1008

General

MSCEWI1016

General

MSCEWI1017

General

MSCEWI1019

General

MSCEWI1029

General

MSCEWI1055

General

MSCEWI1037

General

MSCEWI1042

General

MSCEWI1043

General

MSCEWI1048

General

MSCEWI1059

General

MSCEWI1069

General

MSCEWI1074

General

MSCEWI1079

General

MSCEWI1081

General

MSCEWI1082

General

MSCEWI1083

General

MSCEWI1085

General

MSCEWI1087

General

MSCEWI1089

General

MSCEWI1090

General

MSCEWI1091

General

MSCEWI1097

General

MSCEWI1098

General

MSCEWI1099

General

MSCEWI1108

General

MSCINF0001

General

MSCINF0002

General

MSCINF0003

Teradata

MSCEWI2002

Teradata

MSCEWI2006

Teradata

MSCEWI2007

Teradata

MSCEWI2016

Teradata

MSCEWI2018

Teradata

MSCEWI2026

Teradata

MSCEWI2028

Teradata

MSCEWI2032

Teradata

MSCEWI2033

Teradata

MSCEWI2038

Teradata

MSCEWI2044

Teradata

MSCEWI2047

Teradata

MSCEWI2050

Teradata

MSCEWI2056

Teradata

MSCEWI2065

Teradata

MSCEWI2078

Teradata

MSCEWI2081

Teradata

MSCEWI2085

Teradata

MSCEWI2088

Teradata

MSCEWI2089

Teradata

MSCEWI2090

Oracle

MSCEWI3003

Oracle

MSCEWI3007

Oracle

MSCEWI3015

Oracle

MSCEWI3019

Oracle

MSCEWI3024

Oracle

MSCEWI3027

Oracle

MSCEWI3028

Oracle

MSCEWI3037

Oracle

MSCEWI3043

Oracle

MSCEWI3044

Oracle

MSCEWI3054

Oracle

MSCEWI3058

Oracle

MSCEWI3061

Oracle

MSCEWI3063

Oracle

MSCEWI3064

Oracle

MSCEWI3065

Oracle

MSCEWI3077

Oracle

MSCEWI3083

Oracle

MSCEWI3084

Oracle

MSCEWI3085

Oracle

MSCEWI3088

Oracle

MSCEWI3096

Oracle

MSCEWI3117

Oracle

MSCEWI3119

Oracle

MSCEWI3122

Oracle

MSCEWI3125

Oracle

SSC-EWI-OR0130

SQL Server

MSCEWI4002

SQL Server

MSCEWI4006

SQL Server

MSCEWI4008

SQL Server

MSCEWI4011

SQL Server

MSCEWI4012

SQL Server

MSCEWI4014

SQL Server

MSCEWI4018

SQL Server

MSCEWI4019

SQL Server

MSCEWI4020

SQL Server

MSCEWI4026

SQL Server

MSCEWI4028

SQL Server

MSCEWI4030

SQL Server

MSCEWI4040

SQL Server

MSCEWI4042

SQL Server

MSCEWI4050

SQL Server

MSCEWI4052

SQL Server

MSCEWI4054

SQL Server

MSCEWI4056

SQL Server

MSCEWI4068

SQL Server

SSC-EWI-TS0048

Dialect
New code
Old code

General

MSCINF0001

General

MSCINF0002

General

MSCINF0003

General

MSC-GP0001

General

MSCEWI1096

General

MSCEWI1066

General

MSCEWI1050

General

MSCEWI1057

General

MSCEWI1093

General

MSCCP0002

General

MSCEWI1044

General

MSCEWI1045

General

MSCEWI1097

General

MSCEWI1008

General

MSCEWI1035

General

MSCEWI1064

General

MSCEWI1076

General

MSCEWI1072

General

SSC-EWI-0049

General

MSCEWI1058

General

MSCEWI1028

General

SSC-EWI-0068

Teradata

MSCEWI2013

Teradata

MSCEWI2014

Teradata

MSCEWI2073

Teradata

MSCEWI2074

Teradata

MSCEWI2058

Teradata

MSCEWI2045

Teradata

MSCEWI2018

Teradata

MSCEWI2080

Teradata

MSCEWI2019

Teradata

MSCEWI2042

Teradata

MSCEWI2064

Teradata

MSCEWI2075

Teradata

MSCEWI2023

Teradata

MSCEWI2021

Teradata

MSCEWI2084

Teradata

MSCEWI2062

Teradata

MSCEWI2030

Teradata

MSCEWI2086

Teradata

MSCEWI2054

Oracle

MSCINF0004

Oracle

MSCEWI3022

Oracle

MSCEWI3025

Oracle

MSCEWI3041

Oracle

MSCEWI3056

Oracle

MSCEWI3086

Oracle

MSCEWI3093

Oracle

MSCEWI3066

Oracle

MSCEWI3131

Oracle

MSCEWI3039

Oracle

MSCEWI3002

Oracle

MSCEWI3091

Oracle

MSCEWI3132

Oracle

MSCEWI3017

Oracle

MSCEWI3134

Oracle

MSCEWI3086

Oracle

MSCEWI3051

Oracle

MSCEWI3102

Oracle

MSCEWI3100

Oracle

MSCEWI3099

Oracle

MSCEWI3114

Oracle

MSCEWI3021

Oracle

MSCEWI1065

Oracle

MSCEWI3098

Oracle

MSCEWI3029

Oracle

MSCEWI3059

Oracle

MSCEWI3094

Oracle

MSCEWI3113

Oracle

MSCEWI3004

Oracle

MSCEWI307

Oracle

SSC-EWI-OR0062

SQL Server

MSCEWI4005

SQL Server

MSCEWI4004

SQL Server

MSCEWI4064

SQL Server

MSCEWI4022

SQL Server

MSCEWI4074

SQL Server

MSCEWI4066

SQL Server

MSCEWI4066

SQL Server

MSCEWI4065

SQL Server

MSCEWI4003

SQL Server

MSCEWI4069

SQL Server

MSCEWI1088

SQL Server

SSC-EWI-TS0071

SQL Server

SSC-EWI-TS0047

SQL Server

SSC-EWI-TS0055

SQL Server

SSC-EWI-TS0056

SQL Server

SSC-EWI-TS0057

SQL Server

SSC-EWI-TS0073

Last updated