Data Upgrade Engine overview

The Data Upgrade Engine (DUE) is used to update the customer data after a Feature Pack (FP) upgrade.

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:

CompanyUpgrade program
410tcsptdll0901 - Upgrade of table tcfin020
410tcsptdll0902 - Upgrade of table tcfin015
410tcsptdll0905 - Upgrade of table tccom000
410tcsptdll1902 - Upgrade of table tccom710
411tcsptdll0901 - Upgrade of table tcfin020
411tcsptdll0902 - Upgrade of table tcfin015
411tcsptdll0905 - Upgrade of table tccom000
411tcsptdll1902 - Upgrade of table tccom710

 

Note

You do not have to upgrade all companies of a package combination in one run. You can define multiple runs for different companies of the same package combination. For example, you can define different runs for live companies and for test companies, and execute these runs at different times. See the following example.

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:

SituationDescriptionNote
1You 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.

2You 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.

3In 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:

  • If the new VRC belongs to a new feature pack, and therefore contains changed table definitions
  • If the new VRC is derived from a VRC that belongs to a new feature pack
4You 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:

  • Package combination A contains VRC tdYYYY, which is derived from an FP5 VRC. You change the derivation, so that tdYYYY is derived from an FP6 VRC, which contains changed table definitions.
  • You must create and execute a data upgrade run for package combination A.

 

Note

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:

  1. Upgrade Batch

    Each upgrade program belongs to one of these batches:

    • First
    • Middle
    • Last

    During a data upgrade run, first the upgrade programs of the First Batch are executed. Then the Middle Batch is executed. Finally the Last Batch is executed.

  2. 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 have been executed.

  3. Runtime Class

    If a batch contains multiple upgrade programs whose pre-requisites have been 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.

For details on how 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.