Skip to main content
Skip table of contents

Update an SXV4 - SuperCHANNEL

You can use the Update All and Update options to update an existing target SXV4 database that has been previously built and saved.

For example, new monthly sales data or survey data can be added to existing databases without rebuilding the entire database. This can greatly reduce the time required for channelling.

Overview of the Update Process

When you initiate an update, SuperCHANNEL will check all the records in the source database against the existing records in the target database.

  • If there are new records in the source, SuperCHANNEL will append these to the target database.
  • If there are updated records in the source, SuperCHANNEL will update the corresponding records in the target.
  • If there are records in the target that no longer exist in the source, these will be unchanged.

Running an update will not change the structure of the target database. If you need to add new fact table columns (fields) to the target database then you will need to rebuild the database from scratch instead.

Preparing the Source Data for Update

Because SuperCHANNEL checks every record in the source against the current target database, it is important to prepare the source data before you run an update. You should restrict the contents of the source database so that it only contains the new and changed records (for example, you might do this using views).

If you do not do this, then the update will be significantly slower than rebuilding the SXV4 from scratch.

If the SXV4 you are updating was created prior to version 8.0 of SuperCHANNEL, and it contains non English/ASCII characters, then you may need to change the system locale in order to update it. See Unicode - SuperSTAR for more information. You may want to consider rebuilding the SXV4 from scratch instead as this will avoid the need to set the system locale when using it with SuperSERVER.

Update an Existing Database

To perform an update you need to open a saved project file where the target database already exists. SuperCHANNEL will open the project in "update mode", with all the existing tables and columns in the target database greyed out.

You can then select the fact table you want to update and click Update:

You are strongly recommended to use the Update option to update the fact tables individually, rather than Update All (which updates all the fact and classification tables in the target). If you need to update all the tables, consider rebuilding the database instead as this will be more efficient.

Uniqueness Violation

When you perform an update, you may notice error messages similar to the following in the SuperCHANNEL logs:

TEXT
Operation failed at source row 3
str.database.DatabaseException: PreparedSQLStatementImp.executeUpdate error
Cause:
    java.sql.SQLException: Row insertion causes uniqueness violation in R_TAC row 269195 of table "F_Customer".
    SQLState: 23000 

This message is generated whenever the source database contains a record that is already in the target database (for example because you are updating an existing record with new data, or because the source database simply contains a record that is already in the target). The message is informational rather than a true processing error.

Notes about the Effect of Updating an SXV4

When you update an SXV4, the new records are always appended to the end of the database tables. It is not possible to change the ordering of the tables in the SXV4 without rebuilding from scratch.

This has different implications for fact and classification tables:

Fact TablesIf the original database has ordered records (either based on primary key or foreign key constraints) then the ordering may no longer be intact following an update. This may have a performance impact on cross tabulation.
Classification TablesAny new values added to classification tables will be displayed at the end of the list of values in the field lists in the clients.

In addition to updating an SXV4 using the SuperCHANNEL GUI, you can also update using SNU on the command line. See Command Line Options - SNU for more details.

JavaScript errors detected

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

If this problem persists, please contact our support.