If multiple steps are added in an execution package, then these are treated as an ordered list. The steps will be executed in the order they appear in the list. When using multi-threaded execution, JDM 2014 will start steps in parallel without considering dependencies between objects. With the Merge option for execution packages, JDM 2014 will no longer respect the order in which the steps appear in the list but will instead execute the steps based on the dependencies between the steps.
In order to merge the steps in an execution package the user simply needs to check the Merge Steps box below the Managed Execution dropdown.
Below are some examples to help illustrate how the Merge Steps option works.
Since Managed Execution is disabled and only 1 thread is in use, the tables will be executed sequentially in the order they appear with no table starting until the previous table is finished: StagingTable1, StagingTable2, StagingTable3, DataWarehouseTable1, DataWarehouseTable2, DataWarehouseTable3
Selected steps will be executed in the order they appear. Since Managed Execution is disabled 3 tasks will be running in parallel, not respecting dependencies. StagingTable_1, StagingTable_2 and StagingTable_3 will start at the same time. When the first table is finished, DataWarehouseTable_1 will start. When the next table is finished, DataWarehouseTable_2 will start, etc.
Selected steps will be executed in parallel using a maximum of 3 threads. With "Merge Steps" enabled, the execution order is determined on dependencies. If multiple objects can run at the same time, then the Jet Data Manager will use “Execution Number” for prioritization. This means that the tables will be executed in such an order that the table dependencies are maintained, and so that a Lookup's source table is executed prior to the destination of the Lookup.
Selected steps will be executed in the order they appear. Each step will be executed in parallel using a maximum of 3 threads with the execution order based on dependencies between objects. In this example the Business Units will be executed using managed thread execution. When all business units have finished execution the execution of the data warehouses will start.
In this example, all tasks from “Execute Business Units” and “Execute Data Warehouses” are collected in a single list and executed in parallel using a maximum of 3 threads. The execution order is determined by dependencies between objects. In this example a data warehouse table can be execute before a business unit object if the dependencies allows it.