TopLevelObjects Report

This is a deprecated version of the SnowConvert documentation, please visit the official site HERE.

Given the following example code

REPLACE VIEW SNOWCONVERT.PERIOD_INTERVAL_BEGIN
AS
SELECT
  PEP.PERSON_ID,
  CAST(BEGIN(PEP.EMPLOYMENT_PERIOD) AS TIMESTAMP)    AS BEGINEMPLOYMENT,
  PL.LOGIN_DTM,
  INSTR('CORPORATE FLOOR','OR', 3),
  INSTR('CORPORATE FLOOR','OR'),
  INSTR('CORPORATE FLOOR','OR', 3, 2),
  INTERVAL(
    PERIOD(
      CAST(BEGIN(PEP.EMPLOYMENT_PERIOD) AS TIMESTAMP),
      PL.LOGIN_DTM
    )
  ) HOUR(4) AS HOURSBEFOREFIRSTLOGIN
FROM SNOWCONVERT.PERSON_EMPLOYMENT_PERIOD    AS PEP
JOIN SNOWCONVERT.PERSON_LOGIN                AS PL
  ON PEP.PERSON_ID = PL.PERSON_ID;

After you migrate it, you will get a file called TopLevelObjects in the reports folder.

As the name says, it details information about top level objects, what is a top level object? They are those objects, the main ones that contain smaller objects or declarations. For example, a Create Table, Create View, and Create Procedure are top level objects.

Now, the file has the following Columns

FileType

ObjectName

HighLevelObject

ObjectDb

FileName

LineNumber

LinesOfCode

HighestEWISeverity

ConversionStatus

EWIs

UDFsUsed

NameOfUDFFiles

ConversionPercentage

EWIsNumber

Title

PERIOD_INTERVAL_BEGIN

CREATE / REPLACE VIEW

SNOWCONVERT

Example.sq

1

18

Low

Fully Converted

MSCEWI2026 | MSCEWI3045

PERIOD_BEGIN_UDF | INSTR

PERIOD_UDF.sql | INSTR_UDF.sql

100%

6

Let's take a look at each column and what it tell us.

FileType

It gives the type of file where the top level objects is located. The types can be FLOAD, BTEQ, MLOAD, TPUMP and SQL.

ObjectName

It's the name of the top level object. (Name of a CREATE TABLE, CREATE PROCEDURE, etc).

HighLevelObject

It indicates what kind of top level objects is the data related to the row.

FileName

The name of the file in which the top level object is located. Uses the relative path starting from the input directory.

LineNumber

It indicates at which line the top level object starts or is located.

LineOfCode

It indicates how many lines of code the top level object has.

HighestEWISeverity

In case there are EWIs, that display the highest severity, the order is LOW, MEDIUM, HIGH and CRITICAL.

ConversionStatus

It shows the result of the conversion. The status can be Fully Converted Not Converted Partially Converted Error Transformation Error Parsing Unknown status.

EWIs

It shows all the EWIs that are related to a top level object.

UDFsUsed

It shows all the User Defined Functions that are being used in the top level object.

NameOfUDFFiles

It shows all the files that are related to the top level objects.

ConversionPercentage

It shows how much of the code is being converted.

EWIsNumber

It shows how many EWIs were found in a top level object.

DeploymentOrder

It shows the deployment order of a top level object regarding the other objects in the same file.

Understanding the Information

Now, from the TopLebelObjecs report, let's see what information we can get.

There is an Object of Type CREATE / REPLACE VIEW named PERIOD_INTERVAL_BEGIN, which starts at line 1 in a. SQL file. The database is SNOWCONVERT and looks like we found 6 EWIs. The Highest EWI found has LOW severity and the EWIS are

MSCEWI2026 | MSCEWI3045

Notice that there are just 2, but it says that are 6 EWIs. It means that there are duplicates, The EWIs column will only show one for each EWI. Now, there are a few UDFs being used, these are

PERIOD_BEGIN_UDF | INSTR

If we want to check what are these UDF, we can find them in the following files

PERIOD_UDF.sql | INSTR_UDF.sql

And finally, the ConversionPercent is 100% and the ConversionStatus is Fully Converted.

Last updated