Inplace Changeset and Reverse Transaction Changeset
A changeset will change the key values in one or more dimension levels. The user can select criteria from any dimension that exist on the record.
Running a changeset using the inplace option allows the original records in the warehouse to be modified and there is no history that a change took place. This process will also remove and rebuild DSL data tables.
Running a changeset using the reverse transaction option, the original warehouse records are not modified; a mirror transaction is created with all the same dimension keys and data values. The difference is that the data values are all negative. This will effectively cancel the transaction but leave a historical record that the transaction took place. Then an additional transaction is created similar to the original transaction dimension key values and data values. The only differences in this transaction will be the dimension key values target to be changed by the change set operation. The reverse transaction will create two additional records in the warehouse; this can be a concern for DASD utilization.
Inplace and Reverse Transaction Changeset Recovery
You must first determine why the changeset failed by reviewing the logs and if any records were updated to the warehouse. No file should be truncated at any time. If the Changeset run/view log was cleared there will be no way to recover.
If you run a Reverse Transaction you can do recovery by changing the option to 1 for recovery.
If you run Inplace changeset, the only way to recover is to restore from backup. Silvon does not support inplace changeset recovery because we do not have commitment control (Journaling) turned on for the database and there is no way to roll back or roll forward the changes that were made updating multiple existing detail records and header records. When doing the changeset reverse transactions the load process can handle roll forward recovery because headers are never updated and details that are updated are unique per detail record enabling the ability to use what we call a runid check.