SnowConvert AI - Understanding Converted Code

Definitions

SnowConvert AI produces messages in the converted code that highlight areas requiring additional work to ensure the code functions correctly in Snowflake.

EWI (Errors, Warnings and Issues)

When SnowConvert AI cannot completely convert a code segment, it generates an Error, Warning, and Issue (EWI) message. Each EWI negatively affects the conversion rate of a code unit. Here are the common reasons why SnowConvert AI might not fully convert code:

  • The required conversion rule has not been created yet
  • Required dependent code is missing for the conversion rule to work
  • An equivalent statement is not available in Snowflake, or a User-Defined Function (UDF) has not been developed to provide the needed functionality

SnowConvert AI adds a !!!RESOLVE EWI!!! marker before each EWI (Error, Warning, and Issue) message. This marker causes compilation to fail, ensuring that developers address these issues before deploying the converted code.

The SnowConvert AI team categorizes EWIs (Errors, Warnings, and Issues) into four severity levels based on the average effort required to fix the code:

  • Low
  • Medium
  • High
  • Critical

FDM (Functional Difference Messages)

When converting code from legacy platforms (such as Teradata, Oracle, or SQL Server) to Snowflake, it’s important to understand that these systems have different features and capabilities. Due to these differences, automatic conversion may not provide complete functional equivalence, and manual intervention is often necessary to address these gaps.

A Functional Difference Message (FDM) appears when SnowConvert AI successfully converts code that compiles correctly but may not function exactly like the original source code. This can happen when Snowflake doesn’t support certain features from the source platform. Resolving these differences often requires business decisions or architectural changes beyond simple code conversion. Since FDMs are added as comments to working code, they don’t affect the code’s ability to compile.

PRF (Performance Review)

These warning messages are added to the converted code to inform users that although the code has been correctly translated, it may not perform optimally in certain situations. To achieve the best performance in Snowflake, some code modifications may be necessary.

OOS (Out Of Scope)

As explained in the conversion scope page and the out of scope messages section, certain code units cannot be automatically converted. SnowConvert AI will generate messages to inform users when a code unit has not been converted.


New Codes Format

We have updated the format of Error, Warning, and Issue (EWI) messages to be more user-friendly. The new format makes it easier to identify both the message type and the programming language it relates to. Below, we’ll explain these changes with examples.

General

General Errors, Warnings, and Issues (EWIs) that do not correspond to any specific programming language supported by SnowConvert AI will no longer use the code 1000. Instead, these EWIs will be identified by the absence of a language-specific abbreviation.

Example

New CodeOld Code
SSC-EWI-0001MSCEWI1001

Teradata

Teradata Errors, Warnings, and Issues (EWIs) previously used codes starting with 2000. Now, these codes will begin with ‘TD’ followed by the numeric portion.

Example

New CodeOld Code
SSC-EWI-TD0001MSCEWI2001

Oracle

Oracle Errors, Warnings, and Issues (EWIs) previously used codes starting with 3000. Now, these codes will begin with ‘OR’ followed by the numeric portion of the code.

Example

New CodeOld Code
SSC-EWI-OR0012MSCEWI3012

SQL Server

SQL Server Errors, Warnings, and Issues (EWIs) codes have been updated. Previously, these codes started with 2000. Now, they begin with ‘TS’ followed by a numeric value.

Example

New CodeOld Code
SSC-EWI-TS0003MSCEWI4003

Changed Category To FDM

DialectNew codeOld code
GeneralSSC-FDM-0001MSCINF0001
GeneralSSC-FDM-0002MSCINF0002
GeneralSSC-FDM-0003MSCINF0003
GeneralSSC-FDM-0004MSC-GP0001
GeneralSSC-FDM-0005MSCEWI1096
GeneralSSC-FDM-0006MSCEWI1066
GeneralSSC-FDM-0007MSCEWI1050
GeneralSSC-FDM-0008MSCEWI1093
GeneralSSC-FDM-0009MSCCP0002
GeneralSSC-FDM-0010MSCEWI1044
GeneralSSC-FDM-0011MSCEWI1045
GeneralSSC-FDM-0012MSCEWI1097
GeneralSSC-FDM-0013MSCEWI1008
GeneralSSC-FDM-0014MSCEWI1035
GeneralSSC-FDM-0015MSCEWI1064
GeneralSSC-FDM-0016MSCEWI1076
GeneralSSC-FDM-0022MSCEWI1072
GeneralSSC-FDM-0023SSC-EWI-0049
GeneralSSC-FDM-0024MSCEWI1058
GeneralSSC-FDM-0026MSCEWI1028
GeneralSSC-FDM-0029SSC-EWI-0068
TeradataSSC-FDM-TD0001MSCEWI2013
TeradataSSC-FDM-TD0002MSCEWI2014
TeradataSSC-FDM-TD0003MSCEWI2073
TeradataSSC-FDM-TD0004MSCEWI2074
TeradataSSC-FDM-TD0005MSCEWI2058
TeradataSSC-FDM-TD0006MSCEWI2045
TeradataSSC-FDM-TD0007MSCEWI2018
TeradataSSC-FDM-TD0008MSCEWI2080
TeradataSSC-FDM-TD0009MSCEWI2019
TeradataSSC-FDM-TD0010MSCEWI2042
TeradataSSC-FDM-TD0011MSCEWI2064
TeradataSSC-FDM-TD0012MSCEWI2004
TeradataSSC-FDM-TD0013MSCEWI2075
TeradataSSC-FDM-TD0014MSCEWI2023
TeradataSSC-FDM-TD0015MSCEWI2020
TeradataSSC-FDM-TD0016MSCEWI2021
TeradataSSC-FDM-TD0018MSCEWI2063
TeradataSSC-FDM-TD0019MSCEWI2084
TeradataSSC-FDM-TD0020MSCEWI2062
TeradataSSC-FDM-TD0021MSCEWI2030
TeradataSSC-FDM-TD0022MSCEWI2086
TeradataSSC-FDM-TD0025MSCEWI2054
TeradataSSC-FDM-TD0026SSC-EWI-TD0087
TeradataSSC-FDM-TD0027MSCEWI2061
TeradataSSC-FDM-TD0028MSCEWI2060
TeradataSSC-FDM-TD0029SSC-EWI-TD0055
TeradataSSC-FDM-TD0030SSC-EWI-TD0070
OracleSSC-FDM-OR0001MSCINF0004
OracleSSC-FDM-OR0002MSCEWI3068
OracleSSC-FDM-OR0003MSCEWI3038
OracleSSC-FDM-OR0004MSCEWI3022
OracleSSC-FDM-OR0005MSCEWI3025
OracleSSC-FDM-OR0006MSCEWI3041
OracleSSC-FDM-OR0007MSCEWI3056
OracleSSC-FDM-OR0008MSCEWI3071
OracleSSC-FDM-OR0009MSCEWI3086
OracleSSC-FDM-OR0010MSCEWI3093
OracleSSC-FDM-OR0011MSCEWI3066
OracleSSC-FDM-OR0012MSCEWI3131
OracleSSC-FDM-OR0013MSCEWI3039
OracleSSC-FDM-OR0014MSCEWI3002
OracleSSC-FDM-OR0015MSCEWI3091
OracleSSC-FDM-OR0016MSCEWI3132
OracleSSC-FDM-OR0017MSCEWI3017
OracleSSC-FDM-OR0018MSCEWI3134
OracleSSC-FDM-OR0019MSCEWI3086
OracleSSC-FDM-OR0020MSCEWI3051
OracleSSC-FDM-OR0021MSCEWI3102
OracleSSC-FDM-OR0022MSCEWI3100
OracleSSC-FDM-OR0023MSCEWI3099
OracleSSC-FDM-OR0024MSCEWI3114
OracleSSC-FDM-OR0025MSCEWI3021
OracleSSC-FDM-OR0026MSCEWI1065
OracleSSC-FDM-OR0025MSCEWI3098
OracleSSC-FDM-OR0028MSCEWI3031
OracleSSC-FDM-OR0029MSCEWI3059
OracleSSC-FDM-OR0030MSCEWI3094
OracleSSC-FDM-OR0031MSCEWI3113
OracleSSC-FDM-OR0037MSCEWI3004
OracleSSC-FDM-OR0038SSC-EWI-OR0128
OracleSSC-FDM-OR0040SSC-EWI-OR0062
OracleSSC-FDM-OR0043SSC-EWI-OR0005
OracleSSC-FDM-OR0044SSC-EWI-OR0089
OracleSSC-EWI-OR0039SSC-FDM-OR0013
OracleSSC-FDM-OR0045SSC-EWI-OR0006
SQL ServerSSC-FDM-TS0001MSCEWI4005
SQL ServerSSC-FDM-TS0002MSCEWI4004
SQL ServerSSC-FDM-TS0003MSCEWI4064
SQL ServerSSC-FDM-TS0004MSCEWI4022
SQL ServerSSC-FDM-TS0005MSCEWI4074
SQL ServerSSC-FDM-TS0006MSCEWI4066
SQL ServerSSC-FDM-TS0007MSCEWI4066
SQL ServerSSC-FDM-TS0008MSCEWI4065
SQL ServerSSC-FDM-TS0009MSCEWI4003
SQL ServerSSC-FDM-TS0010MSCEWI4069
SQL ServerSSC-FDM-TS0011MSCEWI1088
SQL ServerSSC-FDM-TS0017SSC-EWI-TS0071
SQL ServerSSC-FDM-TS0020SSC-EWI-TS0055
DialectNew codeOld code
GeneralSSC-FDM-0001MSCINF0001
GeneralSSC-FDM-0002MSCINF0002
GeneralSSC-FDM-0003MSCINF0003
GeneralSSC-FDM-0004MSC-GP0001
GeneralSSC-FDM-0005MSCEWI1096
GeneralSSC-FDM-0006MSCEWI1066
GeneralSSC-FDM-0007MSCEWI1050
GeneralSSC-FDM-OR0039MSCEWI1057
GeneralSSC-FDM-0008MSCEWI1093
GeneralSSC-FDM-0009MSCCP0002
GeneralSSC-FDM-0010MSCEWI1044
GeneralSSC-FDM-0011MSCEWI1045
GeneralSSC-FDM-0012MSCEWI1097
GeneralSSC-FDM-0013MSCEWI1008
GeneralSSC-FDM-0014MSCEWI1035
GeneralSSC-FDM-0015MSCEWI1064
GeneralSSC-FDM-0016MSCEWI1076
GeneralSSC-FDM-0022MSCEWI1072
GeneralSSC-FDM-0024MSCEWI1058
GeneralSSC-FDM-0026MSCEWI1028
TeradataSSC-FDM-TD0001MSCEWI2013
TeradataSSC-FDM-TD0002MSCEWI2014
TeradataSSC-FDM-TD0003MSCEWI2073
TeradataSSC-FDM-TD0004MSCEWI2074
TeradataSSC-FDM-TD0005MSCEWI2058
TeradataSSC-FDM-TD0006MSCEWI2045
TeradataSSC-FDM-TD0007MSCEWI2018
TeradataSSC-FDM-TD0008MSCEWI2080
TeradataSSC-FDM-TD0009MSCEWI2019
TeradataSSC-FDM-TD0010MSCEWI2042
TeradataSSC-FDM-TD0011MSCEWI2064
TeradataSSC-FDM-TD0012MSCEWI2004
TeradataSSC-FDM-TD0013MSCEWI2075
TeradataSSC-FDM-TD0014MSCEWI2023
TeradataSSC-FDM-TD0015MSCEWI2020
TeradataSSC-FDM-TD0016MSCEWI2021
TeradataSSC-FDM-TD0018MSCEWI2063
TeradataSSC-FDM-TD0019MSCEWI2084
TeradataSSC-FDM-TD0020MSCEWI2062
TeradataSSC-FDM-TD0021MSCEWI2030
TeradataSSC-FDM-TD0022MSCEWI2086
TeradataSSC-FDM-TD0025MSCEWI2054
TeradataSSC-FDM-TD0027MSCEWI2061
TeradataSSC-FDM-TD0028MSCEWI2060
OracleSSC-FDM-OR0001MSCINF0004
OracleSSC-FDM-OR0002MSCEWI3068
OracleSSC-FDM-OR0003MSCEWI3038
OracleSSC-FDM-OR0004MSCEWI3022
OracleSSC-FDM-OR0005MSCEWI3025
OracleSSC-FDM-OR0006MSCEWI3041
OracleSSC-FDM-OR0007MSCEWI3056
OracleSSC-FDM-OR0008MSCEWI3071
OracleSSC-FDM-OR0009MSCEWI3086
OracleSSC-FDM-OR0010MSCEWI3093
OracleSSC-FDM-OR0011MSCEWI3066
OracleSSC-FDM-OR0012MSCEWI3131
OracleSSC-FDM-OR0013MSCEWI3039
OracleSSC-FDM-OR0014MSCEWI3002
OracleSSC-FDM-OR0015MSCEWI3091
OracleSSC-FDM-OR0016MSCEWI3132
OracleSSC-FDM-OR0017MSCEWI3017
OracleSSC-FDM-OR0018MSCEWI3134
OracleSSC-FDM-OR0019MSCEWI3086
OracleSSC-FDM-OR0020MSCEWI3051
OracleSSC-FDM-OR0021MSCEWI3102
OracleSSC-FDM-OR0022MSCEWI3100
OracleSSC-FDM-OR0023MSCEWI3099
OracleSSC-FDM-OR0024MSCEWI3114
OracleSSC-FDM-OR0025MSCEWI3021
OracleSSC-FDM-OR0026MSCEWI1065
OracleSSC-FDM-OR0025MSCEWI3098
OracleSSC-FDM-OR0027MSCEWI3029
OracleSSC-FDM-OR0028MSCEWI3031
OracleSSC-FDM-OR0029MSCEWI3059
OracleSSC-FDM-OR0030MSCEWI3094
OracleSSC-FDM-OR0031MSCEWI3113
OracleSSC-FDM-OR0038SSC-EWI-OR0128
OracleSSC-FDM-OR0041MSCEWI307
OracleSSC-FDM-OR0040SSC-EWI-OR0062
SQL ServerSSC-FDM-TS0001MSCEWI4005
SQL ServerSSC-FDM-TS0002MSCEWI4004
SQL ServerSSC-FDM-TS0003MSCEWI4064
SQL ServerSSC-FDM-TS0004MSCEWI4022
SQL ServerSSC-FDM-TS0005MSCEWI4074
SQL ServerSSC-FDM-TS0006MSCEWI4066
SQL ServerSSC-FDM-TS0007MSCEWI4066
SQL ServerSSC-FDM-TS0008MSCEWI4065
SQL ServerSSC-FDM-TS0009MSCEWI4003
SQL ServerSSC-FDM-TS0010MSCEWI4069
SQL ServerSSC-FDM-TS0011MSCEWI1088
SQL ServerSSC-FDM-TS0017SSC-EWI-TS0071
SQL ServerSSC-FDM-TS0020SSC-EWI-TS0055

Changed Category To PRF

DialectNew codeOld code
GeneralSSC-PRF-0001MSCCP0005
GeneralSSC-PRF-0002MSCCP0007
GeneralSSC-PRF-0003MSCCP0006
GeneralSSC-PRF-0004MSCCP0003
GeneralSSC-PRF-0005MSCCP0010
GeneralSSC-PRF-0006MSCCP0011
TeradataSSC-PRF-TD0001MSCEWI2008
SQL ServerSSC-PRF-TS0001MSCEWI4007

Deprecated EWIs

DialectCode
GeneralMSCEWI1008
GeneralMSCEWI1016
GeneralMSCEWI1017
GeneralMSCEWI1019
GeneralMSCEWI1029
GeneralMSCEWI1055
GeneralMSCEWI1037
GeneralMSCEWI1042
GeneralMSCEWI1043
GeneralMSCEWI1048
GeneralMSCEWI1059
GeneralMSCEWI1069
GeneralMSCEWI1074
GeneralMSCEWI1079
GeneralMSCEWI1081
GeneralMSCEWI1082
GeneralMSCEWI1083
GeneralMSCEWI1085
GeneralMSCEWI1087
GeneralMSCEWI1089
GeneralMSCEWI1090
GeneralMSCEWI1091
GeneralMSCEWI1097
GeneralMSCEWI1098
GeneralMSCEWI1099
GeneralMSCEWI1108
GeneralMSCINF0001
GeneralMSCINF0002
GeneralMSCINF0003
TeradataMSCEWI2002
TeradataMSCEWI2006
TeradataMSCEWI2007
TeradataMSCEWI2016
TeradataMSCEWI2018
TeradataMSCEWI2026
TeradataMSCEWI2028
TeradataMSCEWI2032
TeradataMSCEWI2033
TeradataMSCEWI2038
TeradataMSCEWI2044
TeradataMSCEWI2047
TeradataMSCEWI2050
TeradataMSCEWI2056
TeradataMSCEWI2065
TeradataMSCEWI2078
TeradataMSCEWI2081
TeradataMSCEWI2085
TeradataMSCEWI2088
TeradataMSCEWI2089
TeradataMSCEWI2090
OracleMSCEWI3003
OracleMSCEWI3007
OracleMSCEWI3015
OracleMSCEWI3019
OracleMSCEWI3024
OracleMSCEWI3027
OracleMSCEWI3028
OracleMSCEWI3037
OracleMSCEWI3043
OracleMSCEWI3044
OracleMSCEWI3054
OracleMSCEWI3058
OracleMSCEWI3061
OracleMSCEWI3063
OracleMSCEWI3064
OracleMSCEWI3065
OracleMSCEWI3077
OracleMSCEWI3083
OracleMSCEWI3084
OracleMSCEWI3085
OracleMSCEWI3088
OracleMSCEWI3096
OracleMSCEWI3117
OracleMSCEWI3119
OracleMSCEWI3122
OracleMSCEWI3125
OracleSSC-EWI-OR0130
SQL ServerMSCEWI4002
SQL ServerMSCEWI4006
SQL ServerMSCEWI4008
SQL ServerMSCEWI4011
SQL ServerMSCEWI4012
SQL ServerMSCEWI4014
SQL ServerMSCEWI4018
SQL ServerMSCEWI4019
SQL ServerMSCEWI4020
SQL ServerMSCEWI4026
SQL ServerMSCEWI4028
SQL ServerMSCEWI4030
SQL ServerMSCEWI4040
SQL ServerMSCEWI4042
SQL ServerMSCEWI4050
SQL ServerMSCEWI4052
SQL ServerMSCEWI4054
SQL ServerMSCEWI4056
SQL ServerMSCEWI4068
SQL ServerSSC-EWI-TS0048
DialectNew codeOld code
GeneralSSC-FDM-0001MSCINF0001
GeneralSSC-FDM-0002MSCINF0002
GeneralSSC-FDM-0003MSCINF0003
GeneralSSC-FDM-0004MSC-GP0001
GeneralSSC-FDM-0005MSCEWI1096
GeneralSSC-FDM-0006MSCEWI1066
GeneralSSC-FDM-0007MSCEWI1050
GeneralSSC-FDM-OR0039MSCEWI1057
GeneralSSC-FDM-0008MSCEWI1093
GeneralSSC-FDM-0009MSCCP0002
GeneralSSC-FDM-0010MSCEWI1044
GeneralSSC-FDM-0011MSCEWI1045
GeneralSSC-FDM-0012MSCEWI1097
GeneralSSC-FDM-0013MSCEWI1008
GeneralSSC-FDM-0014MSCEWI1035
GeneralSSC-FDM-0015MSCEWI1064
GeneralSSC-FDM-0016MSCEWI1076
GeneralSSC-FDM-0022MSCEWI1072
GeneralSSC-FDM-0023SSC-EWI-0049
GeneralSSC-FDM-0024MSCEWI1058
GeneralSSC-FDM-0026MSCEWI1028
GeneralSSC-FDM-0029SSC-EWI-0068
TeradataSSC-FDM-TD0001MSCEWI2013
TeradataSSC-FDM-TD0002MSCEWI2014
TeradataSSC-FDM-TD0003MSCEWI2073
TeradataSSC-FDM-TD0004MSCEWI2074
TeradataSSC-FDM-TD0005MSCEWI2058
TeradataSSC-FDM-TD0006MSCEWI2045
TeradataSSC-FDM-TD0007MSCEWI2018
TeradataSSC-FDM-TD0008MSCEWI2080
TeradataSSC-FDM-TD0009MSCEWI2019
TeradataSSC-FDM-TD0010MSCEWI2042
TeradataSSC-FDM-TD0011MSCEWI2064
TeradataSSC-FDM-TD0013MSCEWI2075
TeradataSSC-FDM-TD0014MSCEWI2023
TeradataSSC-FDM-TD0016MSCEWI2021
TeradataSSC-FDM-TD0019MSCEWI2084
TeradataSSC-FDM-TD0020MSCEWI2062
TeradataSSC-FDM-TD0021MSCEWI2030
TeradataSSC-FDM-TD0022MSCEWI2086
TeradataSSC-FDM-TD0025MSCEWI2054
OracleSSC-FDM-OR0001MSCINF0004
OracleSSC-FDM-OR0004MSCEWI3022
OracleSSC-FDM-OR0005MSCEWI3025
OracleSSC-FDM-OR0006MSCEWI3041
OracleSSC-FDM-OR0007MSCEWI3056
OracleSSC-FDM-OR0009MSCEWI3086
OracleSSC-FDM-OR0010MSCEWI3093
OracleSSC-FDM-OR0011MSCEWI3066
OracleSSC-FDM-OR0012MSCEWI3131
OracleSSC-FDM-OR0013MSCEWI3039
OracleSSC-FDM-OR0014MSCEWI3002
OracleSSC-FDM-OR0015MSCEWI3091
OracleSSC-FDM-OR0016MSCEWI3132
OracleSSC-FDM-OR0017MSCEWI3017
OracleSSC-FDM-OR0018MSCEWI3134
OracleSSC-FDM-OR0019MSCEWI3086
OracleSSC-FDM-OR0020MSCEWI3051
OracleSSC-FDM-OR0021MSCEWI3102
OracleSSC-FDM-OR0022MSCEWI3100
OracleSSC-FDM-OR0023MSCEWI3099
OracleSSC-FDM-OR0024MSCEWI3114
OracleSSC-FDM-OR0025MSCEWI3021
OracleSSC-FDM-OR0026MSCEWI1065
OracleSSC-FDM-OR0025MSCEWI3098
OracleSSC-FDM-OR0027MSCEWI3029
OracleSSC-FDM-OR0029MSCEWI3059
OracleSSC-FDM-OR0030MSCEWI3094
OracleSSC-FDM-OR0031MSCEWI3113
OracleSSC-FDM-OR0037MSCEWI3004
OracleSSC-FDM-OR0041MSCEWI307
OracleSSC-FDM-OR0040SSC-EWI-OR0062
SQL ServerSSC-FDM-TS0001MSCEWI4005
SQL ServerSSC-FDM-TS0002MSCEWI4004
SQL ServerSSC-FDM-TS0003MSCEWI4064
SQL ServerSSC-FDM-TS0004MSCEWI4022
SQL ServerSSC-FDM-TS0005MSCEWI4074
SQL ServerSSC-FDM-TS0006MSCEWI4066
SQL ServerSSC-FDM-TS0007MSCEWI4066
SQL ServerSSC-FDM-TS0008MSCEWI4065
SQL ServerSSC-FDM-TS0009MSCEWI4003
SQL ServerSSC-FDM-TS0010MSCEWI4069
SQL ServerSSC-FDM-TS0011MSCEWI1088
SQL ServerSSC-FDM-TS0017SSC-EWI-TS0071
SQL ServerSSC-FDM-TS0019SSC-EWI-TS0047
SQL ServerSSC-FDM-TS0020SSC-EWI-TS0055
SQL ServerSSC-FDM-TS0021SSC-EWI-TS0056
SQL ServerSSC-FDM-TS0022SSC-EWI-TS0057
SQL ServerSSC-FDM-TS0023SSC-EWI-TS0073