You are on page 1of 51

MANUAL

VERSION 1.54

Table Of Contents
SERVER............................................................................................................................................................................. 3
Introduction .................................................................................................................................................................................. 4
Requirements ............................................................................................................................................................................... 5
Installation ..................................................................................................................................................................................... 6
Server Configurator .................................................................................................................................................................... 7
Server Service............................................................................................................................................................................... 8
Licensing ........................................................................................................................................................................................ 9
Templates ................................................................................................................................................................................... 10
Calendars ................................................................................................................................................................................... 19

CLIENT ........................................................................................................................................................................... 20
Introduction ............................................................................................................................................................................... 21
Requirements ............................................................................................................................................................................ 22
Installation .................................................................................................................................................................................. 23
Troubleshooting ....................................................................................................................................................................... 24
Mail Recipients .......................................................................................................................................................................... 25
Preparation Actions ................................................................................................................................................................. 26
.NET Expressions ...................................................................................................................................................................... 28
Document Definitions ............................................................................................................................................................. 30
Schedules ................................................................................................................................................................................... 31
Schedule Groups ...................................................................................................................................................................... 38
Staged Templates .................................................................................................................................................................... 41
Dynamic Values ........................................................................................................................................................................ 43

APPENDIX ...................................................................................................................................................................... 45
Appendix A: Execution Overview ........................................................................................................................................ 46
Appendix B: Editions ............................................................................................................................................................... 49
Appendix C: Tutorials ............................................................................................................................................................. 50
Appendix D: Contact, Website, Support ........................................................................................................................... 51

-2-

SECTION 1

SERVER

-3-

INTRODUCTION
Mail & Deploy consists of two applications; the server, which will be described in this section of the
manual, and the client (see section Client).
The server is responsible for the actual schedule execution, report creation, communication with
QlikView, etc. The client, in contrast, is more or less only a user interface for the server and is not
involved in the actual report creation and distribution.

-4-

REQUIREMENTS
Mail & Deploy Server has certain requirements which need to be fulfilled in order to start and use
the server.

Technical Requirements
Microsoft .NET Framework 4.5
Please ensure, that Microsoft .NET Framework 4.5 is installed on the computer before installing
Mail & Deploy Server. If that is not the case, you can download an offline installer here:
http://www.microsoft.com/en-us/download/details.aspx?id=42642.

QlikView 11 Desktop Client


Mail & Deploy Server requires QlikView 11 Desktop Client to be installed on the computer that is
supposed to run Mail & Deploy Server.

Microsoft Excel / Word


If you want to use Microsoft Excel templates Excel has to be installed on the computer that runs
Mail & Deploy Server. The same applies to Word templates as well.

Other Requirements
QlikView License
The user account under which you want to run Mail & Deploy Server has to have a valid QlikView
license. If that is not the case, the server might not start or run properly.

SMTP Server
If you want to use the e-mail distribution functionality of Mail & Deploy Server, you have to have
access to an SMTP server (see chapter Server Configurator).

-5-

INSTALLATION
Before you start the installation of Mail & Deploy Server, please ensure that all requirements are
fulfilled (see chapter Requirements).
To start the installation, double-click the file Harrer Mail & Deploy Server Setup.exe. The following
dialog will appear:

Mail & Deploy Server setup

If an error message appears after double-clicking the file, it may be because of a missing
Microsoft .NET Framework 4.5 installation (see chapter Requirements).

Click Next to configure your installation: please make sure that the user you enter to run the
service has a valid QlikView license.

-6-

SERVER CONFIGURATOR
Introduction
The server configurator is a tool that allows you to set up basic properties of Mail & Deploy
servers. It is explicitly not a tool to set up reports, schedules etc., because these kinds of
configurations can be done using Mail & Deploy Client (see section Client). Whenever you make a
change to the configuration, make sure to restart Mail & Deploy Server Service.

Configuration Sections
SMTP Settings
In order to use e-mail distribution features of Mail & Deploy, you have to enter SMTP
configuration details.
The Sender Address is the e-mail address from which e-mails should be sent when distributing
reports. After entering SMTP settings, you can click Send Test Mail to see it these settings work.

Port
Here you can specify the port on which Mail & Deploy Server should run and listen for Mail &
Deploy Clients to connect to them.

Various Settings
The Maximum File Size Limit is used for caching purposes; whenever you set up reports and
schedules with Mail & Deploy Client, information about the QlikView documents used and the
QlikView documents themselves will be cached by Mail & Deploy Server. This ensures that you
only have to wait for the document to load the first time you access it; after that, wait times will be
much less. This limit defines the size of this cache.
When Mail & Deploy creates PDF reports it uses a PDF printer to do so; you can specify its name
with the PDF Printer Name setting.
If you activate Log Debug Messages, you will have a more detailed log file.

Administrator Addresses
You can enter none or more e-mail addresses here; whenever a schedule or schedule group
cannot be executed successfully, these mail recipients will be notified of this issue so they can have
a closer look at the log file to check what went wrong. In addition to that, these mail recipients will
receive report distribution e-mails when using a certain mode for immediate execution of
schedules and schedule groups (in section Client: see chapter Schedules, sub-chapter Immediate
Execution and chapter Schedule Groups).

QlikView Server
This is an optional setting; if you specify details of a QlikView Server installation here, you can
browse all available documents when editing document definitions (see chapter Document
Definitions in section Client).
-7-

SERVER SERVICE
Introduction
The server does not contain any user interface and runs as windows service with the name Harrer
Mail & Deploy Server.

-8-

LICENSING
There are basically two editions of Mail & Deploy (see chapter Appendix B: Editions); the lite
edition is active if there is no valid license file installed.

Lite Edition
If you dont have any license file installed, you are limited to the lite edition. This edition contains
most of the features, but is limited to only one schedule.

Requesting and Installing a License


If you need a registered edition, you have to purchase a license; in order to do this, create a
license request file (see chapter Server Configurator). Attach this file to an e-mail and send it to
info@mail-and-deploy.com.
Once the purchase process is completed, you will receive an e-mail with a license file (License.hlf)
attached. You can install it by simply copying it into the License sub-directory of the Mail & Deploy
Server installation directory.
Please note that you have to quit and restart Mail & Deploy Server in order to have the new
license recognized.

-9-

TEMPLATES
Mail & Deploy supports numerous formats of templates; these templates can be used to export
data from QlikView to other supported file types (e.g. Microsoft Excel etc.). Templates are stored in
the Templates sub-directory of Mail & Deploy Server.
You can easily create your own templates by creating it with the application required (i.e.
Microsoft Excel if you want to create Excel templates) and placing them in the appropriate subdirectory under the Templates sub-directory of Mail & Deploy Server.

Mail & Deploy already comes with a set of templates that are designed to work with the Car
Statistics example QlikView document which is also used in our tutorials. We strongly recommend
having a look at these templates to see a working implementation.
We strongly recommend going through all tutorials of Mail & Deploy; these tutorials also cover
expressions and loop expressions in templates (see chapter Appendix C: Tutorials).

CSV
The data table of a QlikView document can be exported to a CSV file by using CSV templates.
Staged templates (see chapter Staged Templates), however, are not supported for CSV files. CSV
templates are simple text files that contain three parameters (one in each line beginning in the first
line of the file).
<object_id>
<include_headers>
<field_separator>
Parameter

Description

<object_id>

The ID of the object in the QlikView document (the ID is displayed when you go into the
properties dialog of the object in QlikView Desktop Client).

<include_headers >

True: Column headers of the QlikView table will be exported as well.


False: Only data (no column headers) of the QlikView table will be exported.

<field_separator>

The character that should be used to separate field values from each other (e.g. ;).

HTML
In order to export data from QlikView to an HTML file, you need to create an HTML file that
contains the layout of your report; wherever you want Mail & Deploy to insert data from the
QlikView document, you can insert expressions; the following types of expressions are available:

Field Value
This type of expression will be replaced by the value(s) of a specific field of the QlikView document
at the time of report creation; all selections will already be applied at this stage (thus, only values
compatible to the current selection will be exported).
[[<expression_key>;field;<field_name>]]

- 10 -

Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<field_name>

The name of the field in the data model of the QlikView document whose value(s) you want to
replace the expression with.

Variable Value
This type of expression will be replaced by the value of a specific variable of the QlikView
document at the time of report creation; all selections will already be applied at this stage.
[[<expression_key>;variable;<variable_name>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<variable_name>

The name of the variable of the QlikView document whose value you want to replace the
expression with.

.NET Expression Value


This type of expression will be replaced by the return value of a specific .NET Expression (see
chapter .NET Expressions) at the time of report creation.
[[<expression_key>;expression;<expression_variable_name>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see
Staged Templates). If you dont want to create a staged template or this expression will be
replaced by the first schedule acting on the template, use expression key none.

<expression_variable_name>

The variable name of the .NET Expression whose value you want to replace the expression
with.

Chart Image
This type of expression will be replaced by the actual chart image of a QlikView object at the time
of the report creation.
[[<expression_key>;image;<object_id>;<pixel_width>;<pixel_height>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<object_id >

The ID of the object in the QlikView document (the ID is displayed when you go into the
properties dialog of the object in QlikView Desktop Client).

<pixel_width>

The width (in pixel) that you want to chart to have.

<pixel_height>

The height (in pixel) that you want to the chart to have.

Table
This type of expression will be replaced by the table of data that lies behind a QlikView object at
the time of the report creation. The cell that contains the expression is the upper left cell of the
table.
- 11 -

[[<expression_key>;table;<object_id>;<include_headers>;<table_class>;<header
cell_class>;<cell_class>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<object_id >

The ID of the object in the QlikView document (the ID is displayed when you go into the
properties dialog of the object in QlikView Desktop Client).

<include_headers >

True: Column headers of the QlikView table will be exported as well.


False: Only data (no column headers) of the QlikView table will be exported.

<table_class>

The CSS class name to use for the table.

<headercell_class>

The CSS class name to use for header cells.

<cell_class>

The CSS class name to use for cells.

Loopover Expression
This type of expression allows you to repeat contents of an HTML file for a certain array of values;
the structure of this expression looks like this:
<<#<expression_key>;loopover;<field_name>;<sort_type>;<sort_direction>;<include_all_values>#>>
... Content (with or without Expressions)
>>#<<

The first row contains the beginning of the loopover block. It contains the following parameters:
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<field_name >

The name of the field in the QlikView document data model that contains the values to loop over.

<sort_type>

text: The values will be sorted alphanumerically.


numeric: The values will be sorted numerically.

<sort_order>

ascending: The values will be sorted ascending.


descending: The values will be sorted descending.

<include_all_values>

true All values of that field in the QlikView document will be used
false Only selected values of that field in the QlikView document will be used.

The last row contains the end of the loopover block that contains no parameters. In between these
two rows any content can be placed. The content can also contain expressions. During the
execution of such a loop expression, the following steps will be processed:

The array of values to loop over will be evaluated by reading the values of the specified
field in the QlikView document data model. Please note that the QlikView data model is in
a state where it is already affected by preparation actions that were executed during the
schedule execution.
For every value, the QlikView data model will be filtered to this value; then, the content
between the beginning and the end of the loop will be copied and all expressions within
that content will be replaced (with the QlikView data model being filtered to the current
value of the loop).

- 12 -

Microsoft PowerPoint
In order to export data from QlikView to Microsoft PowerPoint, you need to insert expressions into
cells of your PowerPoint document wherever you want Mail & Deploy to insert data from the
QlikView Document.
Please note that Microsoft PowerPoint must be installed on the computer that runs Mail &
Deploy Server in order to make PowerPoint templates work.

Field Value
This type of expression will be replaced by the value(s) of a specific field of the QlikView document
at the time of report creation; all selections will already be applied at this stage (thus, only values
compatible to the current selection will be exported).
[[<expression_key>;field;<field_name>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<field_name>

The name of the field in the data model of the QlikView document whose value(s) you want to
replace the expression with.

Variable Value
This type of expression will be replaced by the value of a specific variable of the QlikView
document at the time of report creation; all selections will already be applied at this stage.
[[<expression_key>;variable;<variable_name>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<variable_name>

The name of the variable of the QlikView document whose value you want to replace the
expression with.

.NET Expression Value


This type of expression will be replaced by the return value of a specific .NET Expression (see
chapter .NET Expressions) at the time of report creation.
[[<expression_key>;expression;<expression_variable_name>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see
Staged Templates). If you dont want to create a staged template or this expression will be
replaced by the first schedule acting on the template, use expression key none.

<expression_variable_name>

The variable name of the .NET Expression whose value you want to replace the expression
with.

- 13 -

Chart Image
This type of expression will be replaced by the actual chart image of a QlikView object at the time
of the report creation. In order to add this expression, you have to add a textbox in PowerPoint
which will then be replaced by a graphic by Mail & Deploy.
[[<expression_key>;image;<object_id>;<pixel_width>;<pixel_height>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<object_id >

The ID of the object in the QlikView document (the ID is displayed when you go into the
properties dialog of the object in QlikView Desktop Client).

<pixel_width>

The width (in pixel) that you want to chart to have.

<pixel_height>

The height (in pixel) that you want to the chart to have.

Loopover Expression
This type of expression allows you to repeat slides of a PowerPoint presentation for a certain array
of values; the structure of this expression looks like this:
<<#<expression_key>;loopover;<field_name>;<sort_type>;<sort_direction>;<include_all_values>#>>
... Content (with or without Expressions)
>>#<<

The first row contains the beginning of the loopover block. It contains the following parameters:
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<field_name >

The name of the field in the QlikView document data model that contains the values to loop over.

<sort_type>

text: The values will be sorted alphanumerically.


numeric: The values will be sorted numerically.

<sort_order>

ascending: The values will be sorted ascending.


descending: The values will be sorted descending.

<include_all_values>

true All values of that field in the QlikView document will be used
false Only selected values of that field in the QlikView document will be used.

<number_of_slides>

The number of slides that you want to copy for each loop value.

Microsoft Word
In order to export data from QlikView to Microsoft Word, you need to insert expressions into cells
of your Word document wherever you want Mail & Deploy to insert data from the QlikView
document.
Please note that Microsoft Word must be installed on the computer that runs Mail & Deploy
Server in order to make Word templates work.

- 14 -

Field Value
This type of expression will be replaced by the value(s) of a specific field of the QlikView document
at the time of report creation; all selections will already be applied at this stage (thus, only values
compatible to the current selection will be exported).
[[<expression_key>;field;<field_name>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<field_name>

The name of the field in the data model of the QlikView document whose value(s) you want to
replace the expression with.

Variable Value
This type of expression will be replaced by the value of a specific variable of the QlikView
document at the time of report creation; all selections will already be applied at this stage.
[[<expression_key>;variable;<variable_name>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<variable_name>

The name of the variable of the QlikView document whose value you want to replace the
expression with.

.NET Expression Value


This type of expression will be replaced by the return value of a specific .NET Expression (see
chapter .NET Expressions) at the time of report creation.
[[<expression_key>;expression;<expression_variable_name>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see
Staged Templates). If you dont want to create a staged template or this expression will be
replaced by the first schedule acting on the template, use expression key none.

<expression_variable_name>

The variable name of the .NET Expression whose value you want to replace the expression
with.

Chart Image
This type of expression will be replaced by the actual chart image of a QlikView object at the time
of the report creation.
[[<expression_key>;image;<object_id>;<pixel_width>;<pixel_height>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<object_id >

The ID of the object in the QlikView document (the ID is displayed when you go into the
properties dialog of the object in QlikView Desktop Client).

<pixel_width>

The width (in pixel) that you want to chart to have.

- 15 -

<pixel_height>

The height (in pixel) that you want to the chart to have.

Loopover Expression
This type of expression allows you to repeat contents of a Word document for a certain array of
values; the structure of this expression looks like this:
<<#<expression_key>;loopover;<field_name>;<sort_type>;<sort_direction>;<include_all_values>#>>
... Content (with or without Expressions)
>>#<<

The first row contains the beginning of the loopover block. It contains the following parameters:
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<field_name >

The name of the field in the QlikView document data model that contains the values to loop over.

<sort_type>

text: The values will be sorted alphanumerically.


numeric: The values will be sorted numerically.

<sort_order>

ascending: The values will be sorted ascending.


descending: The values will be sorted descending.

<include_all_values>

true All values of that field in the QlikView document will be used
false Only selected values of that field in the QlikView document will be used.

The last row contains the end of the loopover block that contains no parameters. In between these
two rows any content can be placed. The content can also contain expressions. During the
execution of such a loop expression, the following steps will be processed:

The array of values to loop over will be evaluated by reading the values of the specified
field in the QlikView document data model. Please note that the QlikView data model is in
a state where it is already affected by preparation actions that were executed during the
schedule execution.
For every value, the QlikView data model will be filtered to this value; then, the content
between the beginning and the end of the loop will be copied and all expressions within
that content will be replaced.
Please note that nested loop expressions are not allowed in Microsoft Word templates.

Microsoft Excel
In order to export data from QlikView to Microsoft Excel, you need to insert expressions into cells
of your Excel workbook wherever you want Mail & Deploy to insert data from the QlikView
document.
Please note that Microsoft Excel must be installed on the computer that runs Mail & Deploy
Server in order to make Excel templates work.

- 16 -

Field Value
This type of expression will be replaced by the value(s) of a specific field of the QlikView document
at the time of report creation; all selections will already be applied at this stage (thus, only values
compatible to the current selection will be exported).
[[<expression_key>;field;<field_name>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<field_name>

The name of the field in the data model of the QlikView document whose value(s) you want to
replace the expression with.

Variable Value
This type of expression will be replaced by the value of a specific variable of the QlikView
document at the time of report creation; all selections will already be applied at this stage.
[[<expression_key>;variable;<variable_name>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<variable_name>

The name of the variable of the QlikView document whose value you want to replace the
expression with.

.NET Expression Value


This type of expression will be replaced by the return value of a specific .NET Expression (see
chapter .NET Expressions) at the time of report creation.
[[<expression_key>;expression;<expression_variable_name>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see
Staged Templates). If you dont want to create a staged template or this expression will be
replaced by the first schedule acting on the template, use expression key none.

<expression_variable_name>

The variable name of the .NET Expression whose value you want to replace the expression
with.

Chart Image
This type of expression will be replaced by the actual chart image of a QlikView object at the time
of the report creation.
[[<expression_key>;image;<object_id>;<pixel_width>;<pixel_height>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<object_id >

The ID of the object in the QlikView document (the ID is displayed when you go into the
properties dialog of the object in QlikView Desktop Client).

<pixel_width>

The width (in pixel) that you want to chart to have.

- 17 -

<pixel_height>

The height (in pixel) that you want to the chart to have.

Table
This type of expression will be replaced by the table of data that lies behind a QlikView object at
the time of the report creation. The cell that contains the expression is the upper left cell of the
table.
[[<expression_key>;table;<object_id>;<include_headers>;<insert_rows>]]
Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<object_id >

The ID of the object in the QlikView document (the ID is displayed when you go into the
properties dialog of the object in QlikView Desktop Client).

<include_headers >

True: Column headers of the QlikView table will be exported as well.


False: Only data (no column headers) of the QlikView table will be exported.

<insert_rows>

True: Rows should be inserted in Excel instead of overwriting cells below the expression.
False: Rows should not be inserted; cells below the expression will be overwritten.

Loopover Expression
This type of expression helps you if you want to create one sheet per value in the QlikView
document (e.g. you want to have one worksheet per year etc.). In this case, you have to design the
worksheet you want to clone per value and give if a name in the following format:
#<expression_key>;<field_name>;<sort_type>;<sort_order>;<include_all_values>#

Heres a description of all variables of this expression:


Parameter

Description

<expression_key>

The expression key that determines which schedule should replace this expression (see Staged
Templates). If you dont want to create a staged template or this expression will be replaced by
the first schedule acting on the template, use expression key none.

<field_name >

The name of the field in the QlikView document data model that contains the values to loop over.

<sort_type>

t The values will be sorted alphanumerically.


n The values will be sorted numerically.

<sort_order>

a The values will be sorted ascending.


d The values will be sorted descending.

<include_all_values>

t All values of that field in the QlikView document will be used


f Only selected values of that field in the QlikView document will be used.

- 18 -

CALENDARS
Calendars are simple text files that contain one date (formatted YYYY-MM-DD) per line. These
dates can be used to either limit schedule executions to only these dates, or to prevent schedules
from executing on these days. Please see chapter Schedules for more details.
You can easily create your own calendars by putting raw text files (containing one date per line,
formatted as YYYY-MM-DD) into the Calendars sub-directory of Mail & Deploy Server.

- 19 -

SECTION 2

CLIENT

- 20 -

INTRODUCTION
Mail & Deploy Client is an application that allows you to manage document definitions, schedules
and report creations. It connects to an instance of Mail & Deploy Server and acts as a user
interface for the server.

- 21 -

REQUIREMENTS
Mail & Deploy Client has certain requirements which need to be fulfilled in order to start and use
the client.

Technical Requirements
Microsoft .NET Framework 4.5
Please ensure, that Microsoft .NET Framework 4.5 is installed on the computer before installing
Mail & Deploy Client. If that is not the case, you can download an offline installer here:
http://www.microsoft.com/en-us/download/details.aspx?id=42642.

- 22 -

INSTALLATION
Before you start the installation of Mail & Deploy Client, please ensure that all requirements are
fulfilled (see chapter Requirements).
To start the installation, double-click the file Harrer Mail & Deploy Client Setup.exe. The following
dialog will appear:

Mail & Deploy Client setup

If an error message appears after double-clicking the file, it may be because of a missing
Microsoft .NET Framework 4.5 installation (see chapter Requirements).

First specify the Installation Path; this is the root directory to which all files of Mail & Deploy Client
will be copied.
The Server Details have to be set to the IP address / host and port on which Mail & Deploy Server
(see section Server) runs. If Mail & Deploy Server runs on a different computer, you have to specify
the IP address / hostname of that computer. The port is the one which can be configured with
Mail & Deploy Server Configurator (see section Server, chapter Server Configurator).
Please ensure that the chosen port is not blocked by a firewall. If that was the case, Mail & Deploy
Client might not be able to connect to Mail & Deploy Server.

Click Install Mail & Deploy Client to start the installation once you have entered all the necessary
information.
- 23 -

TROUBLESHOOTING
In some cases it can happen that the following error message appears when starting Mail &
Deploy Client:

If that is the case, please consult the QlikView License Troubleshooting Guide which can be found
in the installation package or in the documentation sub-folder of Mail & Deploy Client.

- 24 -

MAIL RECIPIENTS
Introduction
Mail recipients represent a pool of e-mail addresses that can be used to distribute reports to; the
actual assignment of mail addresses to report creations can be set up in the schedules (see
chapter Schedules).

Properties
Mail recipients have the following properties.

First Name
This is an optional field that contains the first name of the mail recipient.

Last Name
This is an optional field that contains the last name of the mail recipient.

E-Mail Address
This field contains the e-mail address of the mail recipient.

Match Code
This is an optional field that contains a match code. Match codes can be used if mail recipient
groups of schedules (see chapter Schedules, sub-chapter Send By E-Mail (Mail Recipient Groups))
make use of a dynamic evaluation of mail recipients.

- 25 -

PREPARATION ACTIONS
Introduction
Preparation actions are tasks that are executed after a QlikView document has been loaded and
before the report creation is initiated. In other words, preparation actions can be used to modify
the QlikView document for a specific report creation (e.g. by reloading it or filtering data etc).
Preparation actions do not change the saved version of the QlikView file; instead, they will be
executed in an in-memory version of the QlikView document, so the original file will not be
affected (unless you save the QlikView document back to this location).

Types of Preparation Actions


There are several types of preparation actions that can be used to manipulate a QlikView
document before the report creation starts; preparation actions will always be executed in the
exact order in which you have set them up.

Reload
This preparation action can be used to reload the data in the QlikView document; when this
preparation action is executed, it will run the standard load script (just as if you would click the
reload button in QlikView Desktop Client).

Reduce
When the QlikView document is reduced, all data that is not in accordance with the current
selection will be removed from the document.

Click Button
If you have buttons in a QlikView document, this preparation action allows you to simulate a click
on one or more of these buttons; this will then execute whatever code lies behind it (e.g. a macro
will be executed etc.). If you add this preparation action, you have to specify the Button ID, which is
the ID of the button in the QlikView document that you want to simulate a button click on.

Remove All Selections


This preparation action will remove all selections currently active in the QlikView document. This is
often necessary, because QlikView remembers selections when you save a document and reapplies them when you load it again if you want to start with a clean state (from which you can
then add your custom selections by using other preparation actions), you can use this preparation
action.

Remove Field Selections


This preparation action will remove all selections currently active for a specific field. If you add this
preparation action, you have to specify the Field for which you want to remove all current
selections.

Save Document
This preparation action saves the QlikView document to the location it was loaded from.
- 26 -

Select Bookmark
If you have bookmarks defined in the QlikView document, this preparation action allows you to
activate it (thus having selections applied as stored in the bookmark). If you add this preparation
action, you have to specify the Bookmark Name, which is the name of the bookmark in the
QlikView document.

Select Field Values


This preparation action type allows you to select specific values of a field in the QlikView
document; when adding this preparation action, you have to specify a Field; this is the field name
of the QlikView document data model. After selecting a field from the drop-down, you get a list of
all values of that field contained in the QlikView document from which you can select one or more
entries you want the document to be filtered to.
Alternatively, you can select an Expression; this will filter the chosen field to whatever the return
value of the .NET expression is (see chapter .NET Expressions). By selecting a Group Parameter,
you can select the current value of a loop (see chapter Schedule Group Loop).
You can also select on the available selection check mechanisms; these will be executed after all
preparation actions of a specific task have been completed (just prior to the report creation). They
ensure that the selection is still valid at that time and has not been corrupted (e.g. by another
selection that forced QlikView to remove the selection of the preparation action etc.).

Set Variable
This preparation action type allows you to set the value of a variable in the QlikView document.
You can either enter a fixed text to set the variable to, or select a .NET Expression or a group
parameters from the list.

- 27 -

.NET EXPRESSIONS
Introduction
In many scenarios, static values for the selection of data in a QlikView document are not enough;
for instance this is the case when you want to filter the current year (or month); this cant be
accomplished by a static select field values preparation action (see chapter Preparation Actions).
Therefore, Mail & Deploy offers the possibility to create dynamic expressions.
.NET Expressions are VB.Net methods (functions) that return a single value or a list of values. These
functions will be executed during the execution of a schedule and their return value(s) can then be
used to filter data in QlikView etc.

Managing .NET Expressions


.NET Expressions can be accessed by clicking the .NET Expressions item in the main menu. A list of
all existing .NET Expressions will be displayed and you can add, edit, and remove them.
There are three components to every .NET Expression; a name, which is simply used for
identification purposes, a variable name, which is used in templates (see Templates) and
preparation actions (see chapter Preparation Actions) to point to this .NET Expression, and code,
which is the actual VB.Net code that creates the dynamic value and returns it.
In the code field, you can enter any VB.Net code (in other words: you have all the functionality the
.NET Framework delivers), but you have to return either a single string value or a generic list of
string values.
Whenever you want to validate your code, you can click the Validate button. If youre expression
contains errors, you can see them listed below the code field. By clicking the Execute button you
can actually run the expression and see the return value(s) in a message box.

Examples
You can use the following expression to return the current year, formatted as a 4-digit string:
Return Date.Now.Year.ToString(0000)

If you want to return more than one value (e.g. the current and the previous year), you can create
a generic list of strings that contains all return values:
Dim lList As New System.Collections.Generic.List(Of String)
lList.Add(Date.Now.Year.ToString(0000))
lList.Add((Date.Now.Year-1).ToString(0000))
Return lList

- 28 -

Pre-defined .NET Expressions


We have included many examples of pre-defined .NET expressions. These can be found in the
Documentation\.NET Expressions sub-directory within the installation directory of Mail & Deploy
Client.

- 29 -

DOCUMENT DEFINITIONS
Introduction
Document definitions are connections between Mail & Deploy and a certain QlikView document;
in other words: whenever you want to use a QlikView document in Mail & Deploy, you have to
create a document definition.

Properties
Name
The name only serves identification purposes and can be freely chosen by the user entering the
document definition; however, at no time can there be two document definitions with identical
names.

DocumentPath
This is the full path to the QlikView document file. You can either manually enter the path
(including the file name and extension), or if you have a QlikView server configured (see chapter
Server Configurator in section Server) you can choose to click the Browse QlikView Server
Documents button to get a tree view containing all documents registered on the server.

Browse QlikView Server button

Section Access
If the document makes use of section access, you can specify the username and password to be
used by Mail & Deploy to open the document. If the document does not have section access, you
can leave these fields empty.

Preparation Actions
This list of preparation actions is always executed whenever this document is opened by Mail &
Deploy during a schedule execution, regardless of which schedule it is opened for (see chapter
Preparation Actions and Appendix A: Execution Overview).
A typical preparation action at this stage is the Remove all Selections action, so you can be sure
that there are no selections in the document before you apply report specific filtering.

- 30 -

SCHEDULES
Introduction
A schedule defines a specific execution of a report creation on either a regular or an on-demand
basis. Schedules can be executed on their own or within the context of a schedule group (see
chapter Schedule Groups).
Schedules can be set up by specifying general properties, including the document you want to
create a report from (see chapter Document Definition), the type of report you want to create
and how you want it to be distributed.
Schedules and schedule groups are a very powerful tool to create reports with custom selections,
templates, and parameters. We highly recommend consulting the included tutorials to get stepby-step introductions to schedules and schedule groups. Our tutorials cover a wide range of
examples, starting from simple reports to complex schedule groups (see chapter Appendix C:
Tutorials).

General Properties
Name
The name only serves identification purposes and can be freely chosen; however, at no time can
there be two schedules with identical names.

Group
The group only serves categorization purposes and can be freely chosen by the user entering the
schedule.

Document Definition
This is the document definition (see chapter Document Definitions) that defines the QlikView
document that contains the data required to create the report.

Regularity
The value of this field defines how often the schedule will be executed. The following values are
available:
Hourly
Daily
Daily (Weekdays)
Weekly
Monthly
Yearly

Weekdays
If you selected the regularity Daily, you have to specified all weekdays on which you want
the schedule group to be executed.
- 31 -

Next Execution
This date defines the next point in time at which the schedule shall be executed; from then on, all
other execution dates will be derived by using the regularity.

Calendar
You can specify a calender type; if you select (none), then the schedule will be executed at all times
defined by the regularity and next execution properties. If you select Execute Only, then the
execution will only take place if the current date is included in the calendar; selecting Dont Execute
means the exact opposite: the execution of the schedule will be cancelled if the current date is
included in the calendar.
Please see chapter Calendars to find out more about how to create calendars and where to store
them.

Retries
By specifying a retry count and a wait time you can configure how many times the execution of the
schedule should be repeated if an error occurred and how many seconds should be waited
between each execution.

Report Type Properties


Mail & Deploy supports many types of reports, each having their own properties and settings.

QlikView Document
This report type does not creation a separate report file but rather uses the QlikView document
(QVW file) itself as the output. This can be used to distribute a manipulated version of the original
QlikView document by applying preparation actions (see chapter Preparation Actions).

QlikView Document Report


This report type allows you to select one of the reports embedded in the QlikView document
(created by using the report designer of QlikView Desktop Client) which will be exported to PDF
and then distributed.

Microsoft Word
This report type allows you to select a Microsoft Word template, which will then be parsed; all
expressions found in the document that have to be replaced by the schedule will then be replaced
with QlikView data, images etc. For more information about templates, see chapter Templates and
chapter Staged Templates. Word templates can not only be distributed as word documents, but
also as PDF file, that will be created after all replacements have taken place.

Microsoft Excel
This report type allows you to select a Microsoft Excel template, which will then be parsed; all
expressions found in the workbook that have to be replaced by the schedule will then be replaced
with QlikView data, images etc. For more information about templates, see chapter Templates and
chapter Staged Templates. You can also choose to create a PDF file by either printing the
complete workbook or a single worksheet to PDF.

- 32 -

CSV File
This report type allows you to export the data lying behind one of the QlikView document objects
to a CSV file. For more information about templates, see chapter Templates.

Preparation Actions
This list of preparation actions is always executed whenever this schedule is executed, directly after
the preparation actions of the document definition are (see chapter Preparation Actions and
Appendix A: Execution Overview).
A typical preparation action at this stage is the Remove all Selections action, so you can be sure
that there are no selections in the document before you apply report specific filtering.

Send By E-Mail (Mail Recipient Groups)


These settings can be used to specify e-mail distribution for reports created by a schedule. E-Mail
distribution is organized in mail recipient groups; each of these mail recipient groups gets a
separate e-mail, with the report attached, a custom attachment name, subject, and body as well as
custom selections used to create the report.
Mail recipient groups can be cloned to make it easier to create a lot of mail recipient groups with
similar settings.

Clone Mail Recipient Group button

Name
The name of a mail recipient group can be any name you want and is used for identification
purposes only.

File Name
This is the file name of the attachment (i.e. the report that will be attached to the e-mail). You can
use one or more dynamic values to create a dynamic file name (see chapter Dynamic Values).
Please note that the file extension (such as PDF or DOCX) must not be entered here, because they
are added automatically by Mail & Deploy according to the report type chosen.
- 33 -

Subject
This is the subject of the e-mail that will be sent to mail recipients. You can use one or more
dynamic values to create a dynamic subject (see chapter Dynamic Values).

Body
This is the body of the e-mail that will be sent to mail recipients. You can use one or more
dynamic values to create a dynamic body (see chapter Dynamic Values).

Condition
This allows you to select a variable from the QlikView document; if the variable returns 1 at the
time of the execution of the report creation of this mail recipient group (after preparation actions
of this group have already been executed), the report distribution will be performed. Otherwise,
the report distribution will be cancelled and no e-mails will be sent for this mail recipient group.
This allows you to create conditional report distributions, because you can set the expression that
determines the value of the variable in QlikView; this way you have access to all the data in the
QlikView document and can use all features QlikView expressions support.
This feature can for instance be used to only send a report to certain mail recipients, when a
value in the QlikView document exceeds a certain thresholds; for example you could set up a
condition that will only send the monthly sales report of a store to the managers of the sales
region of which the store is part of, if the turnover of the current month is less than the turnover
of the previous month. Only if this condition is fulfilled, the report will be sent to the managers.

Mail Recipients
There are two ways to define mail recipients.
By using an Expression you can define a dynamic value (see chapter Dynamic Values) that returns
e-mail addresses or match codes of mail recipients. If the option Match expression results with
match codes of mail recipients is not used, the values return by the expression will be used as email addresses (in other words: Mail & Deploy expects to get e-mail addresses as return values
from the chosen dynamic value). If the option Match expression results with match codes of mail
recipients is used, Mail & Deploy expects to get match codes as return values from the dynamic
value; all mail recipients that have one of the returned match codes (see chapter Mail Recipients)
will get an e-mail with the report.
In addition to that, you can also select Fixed Mail Recipients by statically choosing one or more
mail recipients.
Please note that you can also combine these two ways to define mail recipients; you can define
fixed mail recipients and an expression.
This feature can for instance be used in the following scenario: lets assume that you have a
QlikView document that contains sales persons. However, the document does not contain the email address of sales persons but rather a personnel number. In this case you could add the sales
persons as mail recipients in Mail & Deploy (see chapter Mail Recipients) by using their
personnel number as match code. In a schedule, you can then define an expression to evaluate
the mail recipients; this expression should target the field that contains the personnel number of
sales persons. By using the Match expression results with match codes of mail recipients

- 34 -

option, Mail & Deploy will go through all the personnel numbers and match them with a
mail recipient; this way, a list of mail recipients is generated which will be used to send
the e-mail with the report attached to it.
Please also consult the tutorials to find examples of this feature (see chapter Appendix C:
Tutorials).

Preparation Actions
These preparation actions (see chapter Preparation Actions) will be executed for this group only
and will therefore only affect the report creation of this group. The execution takes place just
before the report creation.

Save Report (Report File Output Groups)


These settings can be used to save report(s) to the file system. This type of distribution is
organized in report file output groups; each of these groups can have custom selections to create
the report and one or more paths to which the created report will be saved.
Report file output groups can be cloned to make it easier to create a lot of report file output
groups with similar settings.

Clone Report File Output Group button

Name
The name of a report file output group can be any name you want and is used for identification
purposes only.

Condition
This allows you to select a variable from the QlikView document; if the variable returns 1 at the
time of the execution of the report creation of this report file output group (after preparation
actions of this group have already been executed), the report distribution will be performed.
Otherwise, the report distribution will be cancelled and no reports will be created and distributed
for this group.

- 35 -

This allows you to create conditional report distributions, because you can set the expression that
determines the value of the variable in QlikView; this way you have access to all the data in the
QlikView document and can use all features QlikView expressions support.
This feature can for instance be used to only send a report to certain mail recipients, when a
value in the QlikView document exceeds a certain thresholds; for example you could set up a
condition that will only send the monthly sales report of a store to the managers of the sales
region of which the store is part of, if the turnover of the current month is less than the turnover
of the previous month. Only if this condition is fulfilled, the report will be sent to the managers.

Output Paths
The list of output paths contains all paths (full file paths without file extension) to where the reports
of this report file output group should be saved to. Each output path can be constructed of fixed
text as well we dynamic values that will be replaced during runtime to allow the creation of
dynamic directories, paths, and file names (see chapter Dynamic Values).

Preparation Actions
These preparation actions (see chapter Preparation Actions) will be executed for this group only
and will therefore only affect the report creation of this group. The execution takes place just
before the report creation.

Immediate Execution
Schedules are normally executed according to their next execution date and regularity. However,
you sometimes want to execute a schedule only once (e.g. for testing purposes). This can be
achieved by selected the schedule in the list and clicking the Execute Immediately button in the
schedules section of Mail & Deploy Client.

Execute Immediately button

There are two options to immediately start a schedule.

- 36 -

Normal Mode
If you start an immediate execution in normal mode, the schedule will be executed exactly as
configured.

E-Mail to Administrators only Mode


If you start an immediate execution in this mode, the schedule will be executed, but created
reports will not be distributed as configured, but sent by e-mail to all administrators configured in
Mail & Deploy Server (see chapter Server Configurator in section Server). This way you can test the
execution and report content without actually distributing reports to the actual recipients.

- 37 -

SCHEDULE GROUPS
Introduction
Schedule groups allow more complex report creations than schedules. This includes, but is not
limited to the following scenarios:

If you want to guarantee a specific order of schedule executions; in this case, you can add
these schedules to the schedule group and they will be executed sequentially when the
schedule group is being executed.
If you want to create loops over an array of values (that can also be derived from QlikView)
and you want to execute one or more schedules for each of these values (e.g. one
schedule execution for every sales person in the QlikView document).
Schedules and schedule groups are a very powerful tool to create reports with custom selections,
templates, and parameters. We highly recommend consulting the included tutorials to get stepby-step introductions to schedules and schedule groups. Our tutorials cover a wide range of
examples, starting from simple reports to complex schedule groups (see chapter Appendix C:
Tutorials).

General Properties
Name
The name only serves identification purposes and can be freely chosen; however, at no time can
there be two schedules with identical names.

Group
The group only serves categorization purposes and can be freely chosen by the user entering the
schedule.

Regularity
The value of this field defines how often the schedule will be executed. The following values are
available:
Hourly
Daily
Daily (Weekdays)
Weekly
Monthly
Yearly

Weekdays
If you selected the regularity Daily, you have to specified all weekdays on which you want the
schedule group to be executed.

- 38 -

Next Execution
This date defines the next point in time at which the schedule shall be executed; from then on, all
other execution dates will be derived by using the regularity.

Retries
By specifying a retry count and a wait time you can configure how many times the execution of the
schedule should be repeated if an error occurred and how many seconds should be waited
between each execution.

Members
Schedules groups do not create reports themselves; instead, they have one or more members that
take care of the creation of reports. Members of schedule groups are always executed sequentially
(from top to bottom).

Schedule Group Loop


A schedule group loop allows creating a loop over an array of values. This array of values can
either be derived from a .NET expression (see chapter .NET Expressions) or from a QlikView
document. This can be controlled by the Access Document property of a loop; if its activated the
loop accesses the selected QlikView document to get the list of values over which to create a loop.
The Expression property of the loop then allows you to specify how to get the array of values to
loop over.
In addition to that, if the loop accesses a QlikView document, you can specify a set of Preparation
Actions (see chapter Preparation Actions) that will be executed before the array of values is
evaluated.
Lets say you have a QlikView document that has a field Year that contains three values: 2012,
2013 and 2014. If you want to create a loop over only two of these values, you would have to use
the Access Document option of the loop and select the QlikView document from the drop-down.
In order to derive the array of values from the QlikView document, the Expression has to be set
to the field value Year. However, we only want to create our loop over two of the years contained
in the QlikView document. To achieve this, you can add a Select Field Values preparation action
that limits the field Year to 2012 and 2013 only. The preparation action will then be executed
before Mail & Deploy evaluates the expression; therefore the array of values will only contain the
years 2012 and 2013.

All schedule group members within the loop (between the loop start and loop end) will be
executed for each value contained in the array of values. In addition to that, the current value of
the loop will be stored in a parameter which name you can define with the Parameter Name
property. You can access this parameter (e.g. to filter data in a QlikView document in a schedule
that is contained in the loop) when you insert dynamic values (see chapter Dynamic Values).
Its important to mention that the schedule group loop itself does not filter the QlikView
document to the current loop value; if you for example create a schedule group loop that
loops over years and you add a schedule to the group, the schedule will be executed for each
year in the array of values. However, when the schedule is executed, the QlikView document is

- 39 -

not automatically filtered to the current loop value. You would have to do that by adding a
preparation action at the schedule level (or below) where you can access the current loop
parameter in a dynamic value (see chapter Dynamic Values).

Schedule
Schedule groups can also contain schedules as members (see Schedules). A schedule group
without a schedule does not really make sense, because only schedules can actually create reports.
When a schedule is contained in a schedule group loop (i.e. its between the start and the end of
the loop) it will be executed once for each loop execution (i.e. once for each value of the array of
values of the schedule group loop).

Immediate Execution
Schedules groups are normally executed according to their next execution date and regularity.
However, you sometimes want to execute a schedule group only once (e.g. for testing purposes).
This can be achieved by selected the schedule group in the list and clicking the Execute
Immediately button in the schedules section of Mail & Deploy Client.

Execute Immediately button

There are two options to immediately start a schedule group.

Normal Mode
If you start an immediate execution in normal mode, the schedule group will be executed exactly
as configured.

E-Mail to Administrators only Mode


If you start an immediate execution in this mode, the schedule will be executed, but created
reports will not be distributed as configured, but sent by e-mail to all administrators configured in
Mail & Deploy Server (see chapter Server Configurator in section Server). This way you can test the
execution and report content without actually distributing reports to the actual recipients.

- 40 -

STAGED TEMPLATES
Introduction
Staged Templates can be used to combine data of different QlikView documents (or data from the
same QlikView document, but with different filtering criteria) into a single template. Information
about the basic structure and usage of templates can be found in chapter Templates in section
Server.
Please consult the tutorials that come with Mail & Deploy (see chapter Appendix C: Tutorials);
there is one specifically targeted to multi-stage templates.

Basic Principle
The following diagram shows the basic principle of multi-stage templates:

Template

Pre-Processed
Template

Schedule #1
This schedule takes the original template and replaces all
expressions with expression key none; it then savest he
pre-processed template in an internal cache.

Schedule #2
This schedule takes the pre-processed template (which
already contains data replaced by the previous schedule)
and replaces more expressions in the template
(expressions with the expression key defined in the
schedule). It then saves the report and distributes it.

The flow diagram above displays multi-stage templates processed by two schedules; however,
even more schedules could continue to work on the pre-processed template.

Schedules and Expression Keys


The first schedule (Schedule #1 in the diagram) takes the original template and replaces all
expressions with expression key none. Also, the option Use Pre-Processed Template that can be
defined when adding the schedule is not active on this schedule. In other words, this schedule
takes the original template, replaces all expressions with expression key none and then saves the
pre-processed template to an internal cache. Since the report is not completed yet (there are still
some expressions to be replaced by subsequent schedules), this schedule does not distribute the
report; therefore, no distribution groups (see chapters Send By E-Mail (Mail Recipient Groups) and
Save Report (Report File Output Groups)) are defined for this schedule.
- 41 -

The second schedule (Schedule #2 in the diagram) has the option Use Pre-Processed Template
activated; this means that the schedule will not take a copy of the original template but will take
the pre-processed template that was already processed by the first schedule. The option
Expression Key is used to define which expressions in the template should be replaced by this
schedule; only expressions with the same expression key as the one defined when adding the
schedule will be replaced (all others will have to be replaced by other schedules to complete the
report). Since this is the last schedule working on this template (and all expressions will have been
replaced the report is completed), this schedule also contains distribution groups (e.g. to send
the report by e-mail etc.).

- 42 -

DYNAMIC VALUES
There are many scenarios where a static value cannot be used and access to dynamic values is
required for instance the subject of the e-mail to be sent to a mail recipient during schedule
execution (see chapter Schedules, sub-chapter Send By E-Mail (Mail Recipient Groups)) cannot
always be a static text; sometimes you want to have it to be created dynamically based on values
from the QlikView data model or the return value of a .NET expression etc.
Wherever Mail & Deploy supports the insertion of a dynamic value, the Insert Dynamic Value
button is displayed next to the input field.

Insert Dynamic Value button

Clicking this button opens up a dialog that allows the selection of the dynamic value you want to
be inserted.

Select Dynamic Value dialog

.NET Expression
This dynamic value will consist of the return value(s) of the selected .NET expression (see chapter
.NET Expressions).

Variable
This dynamic value will contain the value of a variable in the QlikView document at the time of the
evaluation of the dynamic value. Depending on the context in which the dynamic value is used,
- 43 -

preparation actions will already be executed before the variable is read and these preparation
actions may influence the value of the variable.
If for instance the dynamic value is used in a mail recipient group of a schedule, all
preparation actions of this mail recipient group will already be executed before the variable is
read from the QlikView document. If these preparation actions change selections in the QlikView
document, this may affect the value of the variable when the dynamic value is evaluated.

Field Value
This dynamic value will contain the value(s) of a field in the QlikView document at the time of the
evaluation of the dynamic value. Depending on the context in which the dynamic value is used,
preparation actions will already be executed before the field value(s) are read and these
preparation actions may influence the value(s) of the field. The value(s) returned for that field will
not be the selected ones, but all values in accordance with the current selection in the QlikView
document (i.e. all selected or if no selection is active in that field all white values for that field).
If for instance the dynamic value is used in a mail recipient group of a schedule, all
preparation actions of this mail recipient group will already be executed before the field value(s)
are read from the QlikView document. If these preparation actions change selections in the
QlikView document, this may affect the value(s) of the field when the dynamic value is evaluated.

Group Parameter
If the dynamic value is evaluated in the context of a schedule group execution (see chapter
Schedule Groups) and the schedule group contains loops, group parameters can be used to
access the current value of loop variable.

- 44 -

SECTION 3

APPENDIX

- 45 -

APPENDIX A: EXECUTION OVERVIEW


Introduction
This chapter describes how a schedule and schedule group execution works.

Schedule Execution
This flow diagram shows how the execution of a schedule works.
Starting Schedule Execution
The schedule execution is being started either because an immediate execution was requested
or a regular execution is due.

Open QlikView Document


The document that was defined in the schedule (see chapter Schedules) is opened.

Execute Document Definition Preparation Actions


All preparation actions defined at the document definition level (see chapter Document
Definitions) will be executed.

Execute Schedule Preparation Actions


All preparation actions defined at the schedule level (see chapter Schedules, sub-chapter
Preparation Actions) will be executed.

Process every Mail Recipient Group of this Schedule


The following execution steps will be processed for every mail recipient group in the schedule:

Execute Mail Recipient Group Preparation Actions


All preparation actions defined at the mail recipient group level (see
chapter Schedules, sub-chapter Send By E-Mail (Mail Recipient Groups)).
will be executed.
Create Report
The report according to the report type (see chapter Schedules, subchapter Report Type Properties) is created. The data source used for the
report creation is the QlikView document in its current state (i.e. with all
preparation actions executed).

Distribute Report
The created report will be distributed to all selected mail recipients as
well as to all e-mail addresses derived from the QlikView document by
using an expression for mail recipients (see chapter Schedules, subchapter Send By E-Mail (Mail Recipient Groups)).

- 46 -

Process every Report File Output Group of this Schedule


The following execution steps will be processed for every report file output group in the
schedule:

Execute Mail Recipient Group Preparation Actions


All preparation actions defined at the mail recipient group level (see
chapter Schedules, sub-chapter Send By E-Mail (Mail Recipient Groups)).
will be executed.
Create Report
The report according to the report type (see chapter Schedules, subchapter Report Type Properties) is created. The data source used for the
report creation is the QlikView document in its current state (i.e. with all
preparation actions executed).

Distribute Report
The created report will be saved to all select output paths. Dynamic
values in those output paths will be replaced, before the final paths are
determined.

Schedule Group Execution


This flow diagram shows how the execution of a schedule group works.
Starting Schedule Group Execution
The schedule group execution is being started either because an immediate execution was
requested or a regular execution is due.

Execute every Schedule Group Member


All members of the schedule group (see chapter Schedule Groups, sub-chapter Members) are
executed sequentially from top to bottom.

Loop

Member Type

Execute Schedule Group Loop


The schedule group loop execution
starts.

Schedule

Execute Schedule
The schedule will be executed as
described above (sub-chapter
Schedule Execution).

Evaluate array of values


The array of values over which to create the loop will be evaluated. If the Access
Document option is used, preparation actions of the loop will be executed. Then the
array of values is constructed by evaluating the Expression of the loop.

- 47 -

Process every value of the value array


The following execution steps will be processed for every value oft he value array.

Set Group Parameter


The current value of the loop will be stored in the parameter named by
the Parameter Name property of the loop.

Execute Members
All members contained in the schedule group loop (between its start and
end) will be executed sequentially from top to bottom.
If the member is a schedule, then the schedule will be executed as
described before (see sub-chapter Schedule Execution).
If the member is another schedule group loop, it will be executed as
described in this chapter.

- 48 -

APPENDIX B: EDITIONS
This appendix contains an overview about the difference between the lite edition and a licensed
edition of Mail & Deploy.
Feature

Schedule Limit
Defines the maximum number of schedules / schedule groups that can be created.

Schedule Groups
This feature enables you to create schedule groups with loops and schedules.
Distribution: E-Mail
This feature enables you to distribute reports by e-mail.
Distribution: File System
This feature allows you to save created reports to the file system.
Report Type: QlikView Document Reports
This feature allows you to create PDF reports embedded QlikView document reports.
Report Type: QlikView Document
This feature allows you to save QlikView documents (manipulated by Mail & Deploy).
Report Type: Word Template
This feature allows you to fill Microsoft Word templates with QlikView data and charts.
Report Type: Excel Template
This feature allows you to fill Microsoft Excel templates with QlikView data and charts.
Report Type: CSV Template
This feature allows you to export QlikView data to CSV files.
Report Type: HTML Template
This feature allows you to fill HTML templates with QlikView data and charts.
Preparation Action: Reload
This feature allows you to reload QlikView documents before the creation of reports.
Preparation Action: Reduce
This feature allows you to reduce QlikView documents.
.NET Expressions
This feature allows you to create VisualBasic.NET expressions for dynamic filtering.
Multi-Installation
This feature allows you to install Mail & Deploy Server on as many servers you like.
Command Line Execution*
This feature allows you to execute schedules from the command line (without the Client).

* Please contact us (info@mail-and-deploy.com) to get more information and instructions on how


to use command line execution.

- 49 -

APPENDIX C: TUTORIALS
Mail & Deploy comes with tutorials that range from simple PDF reports to complex multi-stage
templates. You can find these tutorials in the Documentation sub-directory of the installation
directory of Mail & Deploy Client.
Tutorial #01 Setting up a basic PDF report
This tutorial explains how to set up a simple PDF report, using the Car Statistics example.
Tutorial #02 Using .NET Expressions
This tutorial explains how to set up a simple PDF report, using the Car Statistics example; in addition to that, the concept of .NET
Expressions is explained.
Tutorial #03 Dynamic Mail Recipients and Schedule Groups
This tutorial explains how to create schedule groups (with loops) and distribute resulting reports to dynamic mail recipients
(where e-mail addresses will dynamically be derived from the QlikView data model instead of providing a fixed list of recipients).
Tutorial #04 Multi-Stage HML Templates
This tutorial explains how to create multi-staged HTML templates where two schedules will replace expressions of an HTML
template; the second schedule will use the template already processed by the first schedule to create the final report.

- 50 -

APPENDIX D: CONTACT, WEBSITE, SUPPORT


If you want to purchase Mail & Deploy or you need support or have feature requests, our
consultants are happy to provide help wherever they can. Our website which also contains
information about upcoming releases, new tutorials, videos and learning material can be found
at http://www.mail-and-deploy.com.
Harrer Unternehmensberatung KG
Kollergasse 6/1
A-1030 Vienna
AUSTRIA
http://www.hpartner.at
info@hpartner.at

- 51 -

You might also like