Skip to main content
Skip table of contents

Project File Format

When you save your project in the SuperCHANNEL GUI, the settings are stored in an XML project file. This file contains all the information about your project, including:

  • The source and target database details.
  • Details of fact tables, classification tables and their columns.
  • The links between tables.
  • Data mapping from source data types to target data types.
  • Information about grouping.

For example:

XML
<?xml version="1.0" encoding="UTF-8"?>
<CHANNEL VERSION="3_0" xmlns="http://www.spacetimeresearch.com/superchannel/projectfile">
    <DATABASE LOCATION="jdbc:mysql://localhost/RetailBanking" METHOD="SOURCE" USERNAME="rbuser"/>
    <DATABASE DEFSUMTABLE="F_Customer" LABEL="RetailBanking" LOCATION="jdbc:sxv4:D:\Databases\RetailBanking" METHOD="TARGET" NAME="RetailBanking">
        <TABLE LABEL="Customers" MULTIRESPONSE="N" NAME="F_Customer" USAGE="FACT">
            <COLUMN LABEL="Age" NAME="Age" PRIMARYKEY="N" USAGE="CLASSIFICATION" VISIBLE="Y">
                <REFERENCE COLUMN="Code" DEFER="N" TABLE="C_Age"/>
                <CLEANSING RULE="add to classification"/>
            </COLUMN>
            <COLUMN LABEL="Age Groups" NAME="Age_Group" PRIMARYKEY="N" USAGE="CLASSIFICATION" VISIBLE="Y">
                <REFERENCE COLUMN="Code" DEFER="N" TABLE="C_Age_Group_0"/>
                <CLEANSING RULE="add to classification"/>
            </COLUMN>
            <COLUMN LABEL="Area" NAME="Area" PRIMARYKEY="N" USAGE="CLASSIFICATION" VISIBLE="Y">
                <REFERENCE COLUMN="Code" DEFER="N" TABLE="C_Geography_0"/>
                <CLEANSING RULE="add to classification"/>
            </COLUMN>
            <COLUMN LABEL="Birth Date" NAME="Birth_Date" PRIMARYKEY="N" USAGE="KEY" VISIBLE="Y"/>
            <COLUMN LABEL="Individual \ Company" NAME="Company" PRIMARYKEY="N" USAGE="KEY" VISIBLE="Y"/>
            <COLUMN LABEL="Customer Mail Indicator" NAME="Cust_Mail_Ind" PRIMARYKEY="N" USAGE="CLASSIFICATION" VISIBLE="Y">
                <REFERENCE COLUMN="Code" DEFER="N" TABLE="C_Cust_Mail_Indicator"/>
                <CLEANSING RULE="add to classification"/>
            </COLUMN>
            <COLUMN LABEL="Customer Open Date (Date)" NAME="Cust_Open_Date" PRIMARYKEY="N" USAGE="KEY" VISIBLE="Y"/>
            <COLUMN LABEL="Customer Open Calendar Date" NAME="Cust_Open_Date_Cal" PRIMARYKEY="N" USAGE="CLASSIFICATION" VISIBLE="Y">
                <REFERENCE COLUMN="Code" DEFER="N" TABLE="C_Cal_Date_0"/>
                <CLEANSING RULE="add to classification"/>
            </COLUMN>
            ...

You can use the project file to reload your project back into the SuperCHANNEL GUI and also to run SuperCHANNEL from the command line.

Manually Editing the Project File

It is possible to manually edit the project file in a text editor. However, please take care if you choose to do this. If you make any changes to the file that are not valid then you may not be able to load the project back into the SuperCHANNEL GUI or use it with SNU on the command line.

If you intend to edit the project file manually, follow these rules:

  • Make a backup of the project file before editing it.
  • Use a text editor that highlights XML syntax.
  • After each change, test that the project file can be loaded into SuperCHANNEL. Make another backup before proceeding to the next change.

Editing the Source and Target Database Details

The source and target database details are contained in the <DATABASE/> elements.

For example, the following lines define the source and target database details:

XML
<DATABASE LOCATION="jdbc:jtds:sqlserver://localhost:1433/Retail_Banking_v1" METHOD="SOURCE" SCHEMA="dbo" USERNAME="sa"/>
<DATABASE DEFSUMTABLE="F_Customer" LOCATION="jdbc:sxv4:C:\SXV4\Retail_Banking" METHOD="TARGET" NAME="Retail_Banking">
...
</DATABASE>

The target database element will contain a number of sub elements (defining the tables, columns, mappings and groupings). These have been omitted from this example for clarity.

The following are some of the changes you might make to the source and target database details.

Change the Source Database Location

The LOCATION attribute contains the connection string for connecting to the database. If you want to use this project file with a different database, you can change the string. For example:

XML
<DATABASE LOCATION="jdbc:jtds:sqlserver://hostname2:1433/Retail_Banking_v2" METHOD="SOURCE" SCHEMA="dbo" USERNAME="sa"/>

The new source must have all its tables and views referenced in the project file, otherwise SuperCHANNEL will not load the updated XML file.

Do not change to a different type of relational database or JDBC driver. If you change the connection string to use a different JDBC driver, then the type mapping (which is specified elsewhere in the project file) will not be correct. This may result in some of your columns not being channelled to the target database.

If you need to change to a different RDBMS you should start with a new project in the SuperCHANNEL GUI.

Change the Target Database Details

You can change the target database location by editing the value of the LOCATION attribute on the target <DATABASE/> element.

For example the following modification changes the output SXV4 location to D:\SXV4\Retail_Banking_V2.sxv4:

XML
<DATABASE DEFSUMTABLE="F_Customer" LABEL="Retail Banking" LOCATION="jdbc:sxv4:D:\SXV4\Retail_Banking_V2" METHOD="TARGET" NAME="Retail_Banking">

Handle Table Name Changes

If the name of one of the tables in the source database has changed, and that table is used in the SuperSTAR database, then SuperCHANNEL will not load the project file.

When you attempt to load the project file, SuperCHANNEL will display an error message indicating that it cannot find the table:

To resolve this issue, manually edit the project file in a text editor to replace all instances of the old table name with the new table name. You will then be able to reload the project in SuperCHANNEL.

Exclude Columns

The <COLUMN/> elements contain information about columns in the fact or classification table. For example:

XML
<COLUMN DATATYPE="4" DATATYPENAME="INTEGER" LABEL="Age" NAME="Age" PRIMARYKEY="N" USAGE="CLASSIFICATION" VISIBLE="Y">
  <REFERENCE COLUMN="Code" DEFER="N" TABLE="C_Age"/>
  <CLEANSING RULE="add to classification"/>
</COLUMN>

The VISIBLE attribute determines whether or not to include the column in the build (it is equivalent to the Included in Build check box in the Target Attributes).

To exclude a column from the build, change the value of VISIBLE to N. For example:

XML
<COLUMN DATATYPE="4" DATATYPENAME="INTEGER" LABEL="Age" NAME="Age" PRIMARYKEY="N" USAGE="CLASSIFICATION" VISIBLE="N">
  <REFERENCE COLUMN="Code" DEFER="N" TABLE="C_Age"/>
  <CLEANSING RULE="add to classification"/>
</COLUMN>

Editing Column Labels

The LABEL attribute contains the display name that is used for databases, tables, and columns. You can edit this attribute to change what is shown in the SuperSTAR clients.

For example the following LABEL attribute defines the display name for the database:

XML
<DATABASE DEFSUMTABLE="F_Customer" LABEL="Retail Banking" LOCATION="jdbc:sxv4:C:\RB" METHOD="TARGET" NAME="RB">

The following example shows the display name for a table:

XML
<TABLE LABEL="Customers" MULTIRESPONSE="N" NAME="F_Customer" USAGE="FACT">

The following example shows the display name for a column:

XML
<COLUMN DATATYPE="4" DATATYPENAME="INTEGER" LABEL="Age" NAME="Age" PRIMARYKEY="N" USAGE="CLASSIFICATION" VISIBLE="N">

You can also edit the display name for groups. In this case the attribute to edit is the DISPLAYNAME attribute.

XML
<GROUPING DISPLAYNAME="Accounts" TYPE="XGRP"/>

Using the Project File on non-Microsoft Platforms

You may also need to modify the project file if you intend to use it with SNU (the SuperCHANNEL command line utility) on a non-Microsoft platform. For example, you will need to manually update any file paths in the project file so that they are appropriate for the platform you are running SNU on.

See Channelling on non-Microsoft Platforms for more information.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.