Skip to main content
Mitratech Success Center

Reports

User of Cloud Installations, or On-Premise Installations with the Advanced Reporting option, have access to Process Director's Reports component, a sophisticated report generation utility.

The report generator itself is fully documented in the Reports Reference Guide, which is located at: https://www.bplogix.com/support/WD/help2/Reports/.

The purpose of this section of the Implementer's Guide is to cover only how the report generator integrates into Process Director. Please refer to the Reports Reference Guide for detailed instructions on how to use the report generation utility to design and create reports.

Creating a report

image

Creating a report in Process Director is as easy as creating any other object. From the Content List, navigate to the folder where you'd like to create the report. Once you have done so, select Report from the Create New… dropdown located in the upper right portion of the screen.

image

The Create Report screen will appear. In this screen, enter the name of the new report, then select the report type you wish to create.

image

You have three choices of report type: Dashboard, Multi-page, and Portlet.

Dashboard

A layout with multiple “panels” in the report designer to assist you with spacing multiple charts on one page. It is approximately 10.75” x 5.5”.

Multi-Page

A report laid out on 8.5” x 11” letter sized paper designed for displaying pages of results and printing.

Portlet

A 5.7” x 2.5” layout designed for a quarter panel of a Process Director workspace.

Keep in mind that you can create custom sizes, but you would need to make sure that they show up correctly relative to your user’s aspect ratios and monitor resolutions.

Once you have selected the Report Type, click the OK button to create the report, and display the report properties.

Report Configuration

image

  1. The Design Report and View Report buttons allow you to create and view your report.
  2. The Options section:
    1. Prompt for variables before running report: The Variables that are sent to the reporting engine via Process Director (covered in section 3 below) may be changed by the end user when running the report, before the results are displayed.
    2. Use Flash Viewer: Reports can be created or viewed using HRML or Flash. Using Flash requires the Flash plug-in, available from Adobe. The two types of reports look very similar, but the Flash version is better suited to displaying Portlet and Dashboard reports, as the Flash viewer automatically resizes the report to the available space.
    3. Show Toolbar: Make the Bookmarks, Thumbnails, Find, and Full-Screen options available on the report.
    4. Show Export: Display an option on the report enabling the user to save it in a wide variety of file types.
    5. Show Navigation Buttons: Display page navigation buttons for multi=page reports, allowing the user to jump to a given page location within the report, rather than just viewing pages in succession.
    6. Show Print: This will display the print button, allowing the user to print the report.
    7. Show View Mode: Display options in the lower right hand corner of the report allowing the user to resize the report on the screen and show multiple pages at once.
    8. Show Zoom: The zoom controls enable the user to automatically size the report to fit his or her display.
  3. The Data Source Tab allows you to specify how and what information you send to the Report Designer.
    1. Knowledge Views: We allow you to import data from a previously constructed knowledge view in Process Director. It makes visually displaying your already constructed reportable information extremely easy.
    2. Data Sources: This is the preferred way to retrieve data for reporting purposes. Using a Data Source that has specific tables and views selected and then editing the SQL SELECT statements would help produce the fastest possible reports.
    3. Database Views: This will display not only our included views (tables constructed from joined data), but also the views that you can create in Process Director based on forms.
    4. Variables: Process Director sends variables to the reporting engine automatically, including current user information, the name and description of the report as stated in Process Director and many others. We also allow you to create custom variables and send them to the reporting engine.
  4. The Report URL will allow you to copy and paste a link directly to this report.

Selecting Report Data

The reporting component can use three different types of data to compose reports: Knowledge Views, Data Sources, and Database Views. The fields contained in all of the report data sources you choose from the options screen will be available inside the report component when you design the report.

Once you have chosen the data you want to incorporate into your report, click the Update button to save your selections.

Knowledge Views

Reports can be constructed using any knowledge view, and multiple knowledge views can be included in a report. To add a Knowledge View to a report, click the Knowledge View tab of the report's options screen. Next, click the picker control's Build button, to open the content list.

image

From the content list, select a Knowledge View to use for the report's data, then click the OK button to add the Knowledge View to the picker. The name of the Knowledge View will appear in the picker control's text box.

image

Now. Click the Add Knowledge View button to add the Knowledge View to the report. The Knowledge View will appear in the list of Knowledge Views in the report.

image

You can view the Knowledge View by clicking the button with the Knowledge View icon, or you can remove the Knowledge View by clicking the Remove Knowledge View button.

Data Sources

Just like Knowledge Views a report can use multiple data sources, and you can choose any data source in the content list. This gives you access to data from OData, social media, Microsoft Dynamics, or any other data source.

image

To add a data source, select the desired data source from the Please Choose Data Source dropdown. You can add the data source by clicking the Add Data Source Button. You can also test the data source to ensure the data source returns data by clicking the Test Data Sources button, which will cause a message to display, which shows the number of rows returned from the data source. You can also show the Advanced SQL syntax used to extract the data.

image

Database Views

Process Director internal database views of eForms and Workflows may also be used as report data sources.

image

Simply select the views you wish to use in the report by checking the box next to the view's name.

The Report Designer

Once you have selected the data sources you wish to use in your report, you can open the report designer by clicking the Design Report button on the options screen.

image

Inside the report designer, the data sources you've selected will be tied to the Data Band control, and will also be displayed in the Dictionary tab of the report designer's options panel, located on the right side of the report designer screen.

image

Again, for detailed information on designing reports, refer to the Reports Reference Guide

(https://www.bplogix.com/support/WD/help2/Reports/).

Included Views

We have included multiple pre-constructed Views for use with the reporting and they could also be used in your Knowledge Views. Here is a detailed description of each field in the Views. At the end of this section, there is a short explanation of some of the more advanced database concepts that are implicated by using these Views.

bpProcess View

COLUMN

DATA TYPE

LENGTH

NULLABLE

EXPLANATION

POSSIBLE VALUES

DefinitionName

nvarchar

256

No

The name of the process definition.

 

InstanceName

nvarchar

256

No

The name of the process instance

 

ID

varchar

36

No

The ID of the process definition.

 

INSTID

varchar

36

No

The ID of the process instance.

 

InitiatorUserID

varchar

36

Yes

The ID of the initiator of the process.

 

IsProcess Timeline

int

 

No

If this process is a Process Timeline.

1 = Process Timeline 0 = Workflow

ParentProject

varchar

36

Yes

The instance ID of the parent Process Timeline if this process has been launched as a sub-process of a Process Timeline.

 

ParentWorkflow

varchar

36

Yes

The instance ID of the parent workflow if this process has been launched as a sub- process of a workflow.

 

Status

int

 

No

Whether or not this process is active.

Pending = 0, the workflow is pending (not yet running)

Active = 1,the workflow is running

Inactive = 2, the workflow has been completed

TermReason

int

 

No

The reason this process is no longer active.

NotSet = 0, Not yet terminated

Normal = 1, normal termination

Timeout = 2, timeout occurred causing termination of step or workflow or project (ripple to "non-done" users in step)

DidNotFinish = 3,the user did not finish because enough users responded to transition to next step (e.g. approval %)

Cancelled = 4, admin cancelled workflow, a step, or a user in a step

Reassigned = 5, This user was reassigned to another user

NotNeeded = 6, the

project activity was not needed (because of rule)

Notified = 7, this indicates it was a notify step and the user was notified - this is so it shows up in the routing slip

StartTime

datetime

 

Yes

The date and time that this process was started.

 

EndTime

datetime

 

Yes

The date and time that this process ended.

 

PredictedEndTime

datetime

 

Yes

The date and time that this project is predicted to end. These dates are constantly updated to reflect changes to processes.

 

bpProcessTask View

COLUMN

DATA TYPE

LENGTH

NULLABLE

EXPLANATION

POSSIBLE VALUES

DefinitionName

Nvarchar

256

No

The name of the process definition.

 

InstanceName

Nvarchar

256

No

The name of the process instance.

 

TaskName

Nvarchar

128

Yes

The name of the task definition.

 

ID

Varchar

36

Yes

The ID of the process definition.

 

INSTID

Varchar

36

Yes

The ID of the process instance.

 

TASKID

Varchar

36

Yes

The definition ID of the task.

 

TASKINSTID

Varchar

36

Yes

The instance ID of the task.

 

IsProcess Timeline

Int

 

no

If this process is a Process Timeline.

1 = Process Timeline 0 = Workflow

Status

Int

 

No

Whether or not this process is active.

AnyValue = -1, For filters ... any value

Pending = 0, the workflow, step or user is pending (not yet running)

Active = 1,the workflow, step or user is running

Inactive = 2, the workflow, step or user has completed

TermReason

Int

 

No

The reason this process is no longer active.

NotSet = 0, Not yet terminated

Normal = 1, normal termination

Timeout = 2, timeout occurred causing termination of step or workflow or project (ripple to "non-done" users in step)

DidNotFinish = 3,the user did not finish because enough users responded to transition to next step (e.g. approval %)

Cancelled = 4, admin cancelled workflow, a step, or a user in a step

Reassigned = 5, This user was reassigned to another user

         

NotNeeded = 6, the

project activity was not needed (because of rule)

Notified = 7, this indicates it was a notify step and the user was notified - this is so it shows up in the routing slip

StartTime

Datetime

 

yes

The date and time that this process was started.

 

EndTime

Datetime

 

Yes

The date and time that this process ended.

 

DueTime

Datetime

 

Yes

The assigned / calculated due date for this task.

 

PredictedStartTime

Datetime

 

Yes

The date and time that this project is predicted to start. These dates are constantly updated to reflect changes to processes.

 

PredictedEndTime

Datetime

 

Yes

The date and time that this project is predicted to end. These dates are constantly updated to reflect changes to processes.

 

bpProcessTaskUser View

COLUMN

DATA TYPE

LENGTH

NULLABLE

EXPLANATION

POSSIBLE VALUES

DefinitionName

Nvarchar

256

No

The name of the process definition.

 

InstanceName

Nvarchar

256

No

The name of the process instance.

 

UserUID

Varchar

36

Yes

The ID of the assigned user.

 

TaskName

Nvarchar

128

Yes

The name of the task.

 

TASKID

Varchar

36

Yes

The task definition ID

 

TASKINSTID

Varchar

36

No

The instance ID for the task

 

ID

Varchar

36

Yes

The Definition ID for the process

 

INSTID

Varchar

36

No

The instance ID for the process

 

IsProcess Timeline

Int

 

No

If this process is a Process Timeline.

 

Status

Int

 

No

Whether or not this process is active.

Pending = 0, the task is pending (not yet running)

Active = 1, the task is running

Inactive = 2, the task has completed

TermReason

Int

 

No

The reason this process is no longer active.

NotSet = 0, Not yet terminated

Normal = 1, normal termination

Timeout = 2, timeout occurred causing termination of task (ripple to "non-done" users in step)

DidNotFinish = 3,the user did not finish because enough users responded to transition to next step (e.g. approval %)

Cancelled = 4, admin cancelled task in a step

Reassigned = 5, This task was reassigned to another user

NotNeeded = 6, the project activity was not needed (because of rule)

Notified = 7, this indicates it was a notify task and the user was notified - this is so it shows up in the routing slip

StartTime

Datetime

 

Yes

The starting time of the task.

 

EndTime

Datetime

 

Yes

The ending time of the task.

 

UserComment

Nvarchar

Max

Yes

These are the routing slip comments.

 

Result

Nvarchar

128

Yes

These are the results, or the branch taken in a task that has been completed.

 

bpUser View

COLUMN

DATA TYPE

LENGTH

NULLABLE

EXPLANATION

POSSIBLE VALUES

UserID

nvarchar

64

Yes

The user logon name.

 

UserName

nvarchar

128

Yes

The name of the user.

 

EmailAddress

Nvarchar

256

Yes

The email address of the user.

 

UserUID

Varchar

36

No

The ID of the user.

 

ADID

varchar

36

Yes

The active directory ID of the user.

 

AuthType

Int

 

No

The type of authorization used to allow the user into Process Director

BuiltIn = 0

Windows = 1

LDAP = 2

External = 3

LastActivity

Datetime

 

Yes

The last time the user was authorized inside Process Director.

 

LastLogin

Datetime

 

Yes

The last time the user logged in.

 

Disabled

tinyint

 

No

Whether or not the user is active or allowed to log in.

0 = Active

1 = Disabled

bpTaskList View

COLUMN

DATA TYPE

LENGTH

NULLABLE

EXPLANATION

POSSIBLE VALUES

TLID

varchar

36

No

The Task List ID. A unique identifier for this particular Task.

 

UserUID

varchar

36

Yes

The user that has been assigned this task.

 

TaskListType

int

 

No

The kind of task that has been assigned to the user.

NotSet = 0

WorkflowTask = 1 CheckOut = 2SavedFormInst = 3

ProjectTask = 4

ObjectID

varchar

36

Yes

The specific and unique object ID for this document or process instance.

 

ObjectType

int

 

No

The type of object that this task represents.

NotSet = 0

Document = 1

WfInstance = 7

ProjectInstance = 60

TASKID

varchar

36

Yes

The ID of the task definition.

 

TASKINSTID

varchar

36

Yes

The ID of the task instance.

 

TaskName

nvarchar

128

Yes

The name of the Task like “User Step 3” or “Notification”

 

TaskInstructions

nvarchar

1024

Yes

   

Priority

int

 

No

The assigned priority.

High Priority = 1 Medium Priority = 2 Low Priority = 3

AssignTime

datetime

 

Yes

The time that the task was assigned.

 

DueTime

datetime

 

Yes

The time that the task is due.

 

Notes:

What are varchar and nvarchar?

Varchar – variable length character string using the ANSI character set.

Nvarchar – variable length character string using Unicode UCS-2. This allows for multi-lingual information to be stored in character strings

Nvarchar (max) – an nvarchar that can reach up to 231-1 bytes ( ≈ 2.15 gigabytes).

What is 00000109-0000-0010-8000-00AA006D2ea4?

This is what all of our “ID” type fields look like. They are 128 bit, 36 character varchar values. They are a series of hexadecimal numbers that are created using algorithms that ensure uniqueness. What you really need to know about the ID fields is that if you are linking tables together, these are what you should use.

If you search for all Workflows of the type called “Capital Expenditure Workflow”, you may get any number of instances of different workflows back, just because they are all named “Capital Expenditure Workflow.” The displayed name is not unique. But if you search for the “Capital Expenditure Workflow” instances using the workflow definition ID of 00000109-0000-0010-8000-00AA006D2EA4, you are sure to only get instances of the right workflow.

Datetime

Datetime fields in SQL Server are displayed like this: 2007-10-28 22:11:19.7030000. How you display them while creating a report is up to you. You can just use the date or the time, or just the minutes if you wanted to.

Nullable vs non-Nullable fields

NULL = “Unknown” or “No value.” There are many fields in a database that do not have values, and some of those have never had values. Some were inserted into the table with the value of “no value” (NULL). What you need to know about null is that null is not the same as a blank field. If a field is null and you filter out the “blank” fields… you are not filtering out fields where the value is NULL. Because if you have an SQL statement and you say:

SELECT * FROM tableName WHERE fieldName <> '';

You are not filtering out fields where fieldName is NULL. Because NULL is not the same as ‘’ (a zero length string). Instead, use something like this:

SELECT * FROM tableName WHERE fieldName <> '' AND fieldName IS NOT NULL;

You can see here that this is for a string value or character field, as I am using the character field delimiter ‘ (single quote).

The thing you need to know about NULL is how important they are to datetime fields. Dates that appear blank are NULL. There is no such thing as a blank datetime field, that field doesn’t exist. So your filtering of date fields (and other nullable fields) is going to use the IS NULL and IS NOT NULL switches in SQL.

SELECT * FROM bpProcessTaskUser WHERE StartTime IS NOT NULL AND EndTime IS NOT NULL AND UserUID <> '' AND UserUID IS NOT NULL;

That statement will return all of the tasks that were assigned to a user and completed, as they have both a StartTime, an EndTime and an assigned UserUID.

  • Was this article helpful?