Data Upgrade Engine
To perform a data upgrade, you must execute a Data Upgrade Run. In some situations, LN automatically generates a data upgrade run. You can also manually create data upgrade runs.
Each data upgrade run belongs to a particular package combination and performs a data upgrade for one or more companies that are linked to that package combination.
A data upgrade run consists of upgrade tasks. Each task executes one upgrade program for one company. Each upgrade program upgrades a particular table.
Example
Companies 410 and 411 are linked to package combination b61ua6. Data upgrade run 19 is linked to package combination b61ua6 and contains these upgrade tasks:
Company | Upgrade program |
---|---|
410 | tcsptdll0901 - Upgrade of table tcfin020 |
410 | tcsptdll0902 - Upgrade of table tcfin015 |
410 | tcsptdll0905 - Upgrade of table tccom000 |
410 | tcsptdll1902 - Upgrade of table tccom710 |
411 | tcsptdll0901 - Upgrade of table tcfin020 |
411 | tcsptdll0902 - Upgrade of table tcfin015 |
411 | tcsptdll0905 - Upgrade of table tccom000 |
411 | tcsptdll1902 - Upgrade of table tccom710 |
Example
These companies are linked to package combination A:
- 901 - live data
- 902 - live data
- 903 - test data
- 904 - test data
You define these runs for package combination A:
- 1 - to upgrade data for company 901 and 902
- 2 - to upgrade data for company 903 and 904
See this figure:
Data upgrade runs are executed in these situations:
Situation | Description | Note |
---|---|---|
1 | You installed a new feature pack ( service pack) in a package combination. | A new data
upgrade run is generated automatically after this action. You must initialize and execute this data upgrade run. |
2 | You moved companies to another package combination through the Change Package Combination by Company (ttaad1101m000) session. | A new data
upgrade run is generated automatically after this action. You must initialize and execute this data upgrade run. |
3 | In a package combination, you replaced a VRC by another VRC. For example, in package combination A, you replaced VRC tdXXXX by tdZZZZ. |
An upgrade is only required if this change affects tables. In that case, you must manually create and execute a data upgrade run. Tables are affected, for example:
|
4 | You changed the VRC derivation structure. |
An upgrade is only required if this change affects tables. In that case, you must manually create and execute a data upgrade run. Tables are affected, for example, if you derive a VRC from a VRC that belongs to a new feature pack. For example:
|
If a data upgrade run is generated, or created manually, the involved companies are locked. Normal users cannot access these companies anymore. In the Companies (ttaad1100m000) session, these companies have the Upgrade Needed status.
You can start a run in simulation mode: the Data Upgrade Engine will run the upgrade without actualizing the transactions.
Execution
During a data upgrade run, various upgrade programs are executed. Some upgrade programs must have finished successfully before another program can start.
To enhance the performance of the data upgrade process, you can run the DUE using multiple bshells. In this case multiple CPUs can be utilized. The DUE gathers the list of upgrade programs that must be executed and spreads the work over the different bshells. When you start a data upgrade run, you can specify the number of bshells you want to activate.
The sequence in which the upgrade programs are executed depends on:
-
Upgrade Batch
Each upgrade program belongs to one of these batches:
- First
- Middle
- Last
- Unlocked
During a data upgrade run, first the upgrade programs of the First Batch are executed. Then the Middle Batch is executed. The Last Batch is executed after the Middle Batch. When the Last Batch is executed, the companies are released and the Unlocked Batch is started. When the companies are released, users can start using the companies again.
-
Prerequisite dependencies within batches
An upgrade program can depend on other upgrade programs in the same batch, which must have been executed successfully before the current program can start.
An upgrade program can only be started if its pre-requisites are executed.
-
Runtime Class
If a batch contains multiple upgrade programs whose pre-requisites are executed, these programs are started based on their runtime class.
Each upgrade program belongs to one of these runtime classes:
- Huge
- Large
- Medium
- Small
- None
First the upgrade programs with runtime class Huge are executed. Then the Large programs are executed. Subsequently the Medium programs are executed. Finally the Small programs are executed.
Upgrade programs with Runtime Class None do not have to be executed, but can be a prerequisite for other programs.
A task can have a higher runtime class than its prerequisite. During execution, the prerequisite gets this higher class.
To create and execute a data upgrade run, see Executing a data upgrade run
Simulation mode
You can start a run in simulation mode. During a simulation, the Data Upgrade Engine runs the upgrade without actualizing the transactions. This is useful for testing purposes.
See the online help of the Data Upgrade Engine (ttspt2201m000) session.
Performance and finetuning
You can optimize the performance of the Data Upgrade Engine. See Performance and finetuning.
Troubleshooting
If one or more upgrade programs fail during a data upgrade run, use the troubleshooting procedure. See Troubleshooting.
Error Recovery
Each upgrade program runs in a separate process. The upgrade programs can return status information about the success or failure of the execution. Some statuses interrupt a part of the upgrade process. Other statuses only inform you that something went wrong, or that the upgrade program was executed successfully. If a fatal error occurs, such as error 606, "reference not found", only upgrade programs that are dependent on the failing upgrade program cannot be executed anymore. All other upgrade programs can still be executed.
Logging
Upgrade programs can generate reports of errors and changes. When you start a data upgrade run, you can indicate that only errors should be reported.
You can access log information from the Data Upgrade Tasks (ttspt2520m100) session.