Sign Up for Training |
Jet Express Support |
Jet Reports Company Site
Jet 365 Financials
Jet Professional
Jet Enterprise
Downloads
Community
Submit a Request
Feedback

Creating an Execution Package


Overview

Execution packages will automatically update the staging database, data warehouse, and OLAP cubes on a scheduled bases.

This article details the following:

 


Watch the Video!

 

 

Process

Create Notifications (Optional)

Notifications will alert specified individuals when the execution package was successfully run, or in case something caused it to fail. Notifications are most commonly set up as email alerts but can be saved to the Event Log as well.

1. On the Execution tab, right-click Notifications , and then select Add Notification .

A window will appear with the following settings:

 

2. In the Name field, type a name for the notification.

3. In the Type field, select the type of notification you want to create. You have the following options.

 

Option Description
Mail Creates an email notification
Event Log Writes a notification to the event log
Both Creates both an email notification and writes to the event log

4. In the Mail Server Name field, type the name of the mail server you want to send the email from. For secured servers you can input a specific Port as well as a User Name an Password.

 

Note: SMTP is currently the only supported email method.

 

5. In the From email field, type the email address you want to send the notification from.

6. In the To field, type the email address you want to send the notification to.

7. In the Cc field, type the email address you want to send a copy of the notification to

8. In the Subject field it is possible to use parameters to define the subject of the email. The supported parameters are:

Parameter Description
%Project% Inserts the name of the project
%Status% Inserts the status of the execution package (Success/Fail)
%ExecutionPackage% Inserts the name of the execution package

9. If relevant check the box for "Enable SSL/TLS" if SSL is required.

10. If relevant check the box for "Allow Invalid Certificate" is an invalid SSL certificate should be trusted.

11. Click OK .

The notification can now be selected when you create an execution package.

Creating an Execution Package

 

An execution package determines which elements of a project that will be deployed and executed.

1. On the Execution tab, right-click Execution Packages , and then select Add Execution Package .

 

 

2. In the Name field, type a name for the Execution Package .

3. Click and drag the Execute Project level from the All Steps tree on the left and drop it in the Selected Steps window on the right.

 

4. In the Action field, specify what should happen if the execution fails. You have the following options:

 

Option Description
FailPackage Cancels the execution in case of failure
RestartPreviousStep Restarts the execution from the previous step
RestartFirstStep Restarts the execution process from the beginning

If you select RestartPreviousStep or RestartFirstStep , specify in the Retries field how many times you want the execution package to restart, and then in the Wait field you specify the number of minutes to wait before retrying again.

 

5. In the Notification on Success / Notification of Failure select the notification to use when the execution package succeeds or fails. In this example we are only being notified if the execution package fails.

 

 

You have to create a notification before it is available from the list. See: Create Notifications

 

6. In the Managed Execution drop-down select a managed execution method.

When enabled the execution package will be managed internally, meaning the application will decide the order in which objects are executed based on dependencies and the degree of parallelism specified by the Max Threads setting.

You have the following options:

Option Description
Disabled No managed execution will take place.
Execution Number Based on the order of the objects in the project tree. The higher in the tree the sooner the execution.
Classification The JDM will choose the order of objects based on their table classification: The order will be
  • Fact Table - Large
  • Dimension Table - Large
  • Fact Table
  • Dimension Table
If two tables have the same classification the JDM will use the Execution number as the secondary Criteria.
Execution Time The JDM will choose the object based on the average historical execution time for the object. If two objects have the same average execution time (i.e. new objects), then the JDM will use Execution Number as the secondary criteria.

 

 

7. In the Max Threads box select the maximum number of tasks that the JDM can run in parallel.

 

Max. Threads is a feature available in the premium package. If you are not using the premium package Max. Threads will always default to 1 regardless of the number entered.

 

 

The number of threads you will choose depends on your environment and hardware configuration.
By default steps are executed in the order in which they are displayed. This behavior can be altered by selecting the Merge Steps option. For more information see: How to Merge Steps in a Jet Enterprise Execution Package

Excluding Objects from an Execution Package

The Execution Setup window has been updated in Jet Enterprise 2016 to include an “Exclude Steps” pane. Dragging objects into this pane will prevent these objects from being executed even if they are included in the Include Steps window. For example, this allows a user to drag “Execute Project” into the Include Steps pane and then drag in only those tables that the wish to exclude into the “Exclude Steps” pane which greatly simplifies the task of removing a small numbers of objects from the entire execution package.

Fully Loading Tables During a Scheduled Execution

It's possible to add a business unit, data warehouse, OLAP server or the entire project to the list of objects that should be fully loaded when the execution package is run. This way, you can simply add e.g. a business unit to the list and all current and future incrementally loaded tables in that business unit will be fully loaded when the execution package runs.

The “Full Load” tab in the Execution Setup window enables the user to select tables to be fully loaded during the execution. This will truncate the valid table as well as the _I or _INCR tables for selected objects that are incrementally loaded. This enables fully loading tables directly from the JDM without having to rely on additional scripting. The user simply needs to drag over any tables from the “All Tables” pane to the “Full Load Tables” table to specify which tables should be fully loaded during the execution.

Specify an Execution Schedule

Projects can be executed several times daily, once a night, or several times during the week. When you specify an execution schedule, the execution process is started automatically at the specified time.

 

 

Specify a Daily Execution Schedule

1. Expand Execution Packages , right-click the Execution Package to which you want to add a schedule, and select Add Schedule .

 

A window will appear with the following settings:

 

2. Click the Daily radio button.

3. The Frequency option will allow the user to specify the time interval during which you want to execute the project throughout the day. This will run the execution at a specified interval during the specified hours.

4. In the Start time field, enter the start time of the time interval.

5. In the End time field, enter the end time of the interval.

6. In the Run every field, specify the number of hours and minutes between each project execution. The example below will run the execution package between 8:00AM and 5:00PM every two hours.

 

 

7. The Specified Hours option allows the user to select the exact times that the package will be executed.

8. If using Specified Hours , enter the exact time for the execution to run and then click Add Time . The example below will run the package at 10:00AM and 2:00PM.

9. Select Enabled to activate the schedule, and then click OK .

 

Specify a Weekly Execution Schedule

1. Expand Execution Packages , right-click the Execution Package to which you want to add a schedule, select Add Schedule . In the Schedule window select the Weekly radio button.

 

 

2. Select the day(s) when the project should execute.

3. Specify the start time for the execution, and then click Add Time to add the time to the schedule. Repeat this step for each day and time that you want to execute the project. A project can be executed several times a day and several times during the week.

4. To view the entire weekly schedule, click Show All .

5. Select Enabled to activate the schedule, and then click OK .

 

All events that happen during the execution are registered in the Windows Event Log

Usage Conditions on Execution Packages

When you have multiple environments, you will often want to execute different execution packages depending on the environment. For instance, you might not want to run a multi-hour full load in your development environment, while this is important to do in the production environment.

You can now add usage conditions to execution packages to make this situation easier to handle. First, you will have to define an environment variable using the Project Variables feature. Next, you can simply right click on the relevant execution package, click on Add Usage Condition and add the usage condition, such as a selection rule on a table.

When a usage condition is not met on a manual execution, you will be notified with a warning message. The Jet Data Manager will write the same message to the execution log.



Committing Execution Package Changes

When an execution package is modified the following message will be displayed:

To commit the changes we must save the project as a deployed version. To do this right click on the project name → Advanced → Save project as deployed version.

 

The scheduler will always open the latest deployed version of a project and check for schedules. A simple save of a project after creating a execution package will not create a deployed version, thus the scheduler will not know of the package.

If you are running a version of the Jet Data Manager prior to 15.11.1 you will not have the option to manually save the project as a deployed version. Instead you will have to deploy a single object such as a table to create a deployed version in the repository. It is recommend you locate a small table, i.e. the Company table and deploy and execute this after you have added or modified an execution package.

 

Starting the Jet Data Manager Scheduler Service

The scheduled execution packages are handled by a service on the machine named the Jet Data Manager Scheduler. This service is automatically installed during the Jet Data Manager installation process. This service needs to be started in order for the execution packages to run. The best practice is to identify a service account to be used to start this service as the "Log on As" for the service. This account should log in to the server once, open the Jet Data Manager, and point to the project repository database. This will create a configuration file for the account that will allow the service to start. The Start up type for the service should always be set to Automatic or Automatic (Delayed Start)

 

Note: An execution package will only execute the objects in the package, not deploy them. If changes have been made to the project but have not been successfully deployed then the scheduled execution package will most likely fail.

 

1. From the Tools tab click Windows Service Setup .

2. Right click the Jet Data Manager Scheduler service.

3. Set the start mode to Automatic or Automatic Delayed

4. Click Change User Name and Password . Assign a account that the service can run as. Click Update.

 

The account that will run the service must be granted permissions to all databases being used in the project. See Setting Permissions for a detailed list of required permissions.

 

5. Start the Service

 

If the service does not start see: Troubleshooting Execution Packages

 

 

 

 

 
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments