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
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
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
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
SSC-EWI-TS0003
MSCEWI4003
Changed Category To FDM
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
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
General
MSCCP0005
General
MSCCP0007
General
MSCCP0006
General
MSCCP0003
General
MSCCP0010
General
MSCCP0011
Teradata
MSCEWI2008
SQL Server
MSCEWI4007
Deprecated EWIs
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
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