BIC Process Execution

Welcome to the documentation of BIC Process Execution! BIC Process Execution is an application which is used to execute processes that have been defined and published within BIC Process Design. This enables you to actively implement modeled processes and make them available for your users to execute.

BIC Process Execution is a Progressive Web App (PWA) and therefore available on all end devices. In addition to the desktop version, you can also access the mobile view, for example via an icon on your tablet. The mobile view is optimized and differs slightly from the desktop version, but is similar in its operation. In this documentation, mainly the desktop view is described to avoid redundancies. In some sections the mobile view will also be discussed, in case differences between the mobile and the desktop view are relevant for the usage.

Quickstart

BIC Process Execution content structure

Your BIC Process Execution application contains processes that have been modeled in your BIC Process Design. For each of these processes cases can be created. Cases are concrete forms of a process flow. These include executable tasks, which represent the process steps of the corresponding process. The tasks can be executed automatically or manually by assigned, responsible user or user groups.

The processes for the productive work with BIC Process Execution are available for all users (as far as not restricted). The reason is that the processes are based on the published version of the corresponding diagrams. In accordance with the different stages in BIC Process Design, BIC Process Execution offers multiple environments to authorized users in order to track the development of a process.

First steps

How do I log in?

To be able to use BIC Process Execution you must be a registered user in BIC Process Design. If this requirement is met, you can log in to BIC Process Execution at any time.

The login in BIC Process Execution is executed in the same way as in BIC Process Design. After BIC Process Execution has been called up and the login is completed, you will automatically be directed to your tasks.

If you do not have active tasks, you will be redirected to the process overview.

Hint

In order to make the simultaneous use of BIC Process Design and BIC Process Execution as pleasant as possible, the login is done via Single Sign-On. This means that a single login to one of the two applications is sufficient to automatically be logged in to the other application. This means that you do not need to log in again when you call up the other application.

Warning

Please note that you will receive a notification when attempting to access the application with an unsupported browser. The message informs you that your browser is not compatible. It’s important to note that currently, only Internet Explorer is not supported.

How do I log out?

You can find the Logout function within the menu

Here the entry "logout" from the menu is shown.

After using this function you will be signed off from the BIC Process Execution application.

Note

With the single sign-on function, you are automatically logged out of BIC Process Design after signing off in BIC Process execution.

How is the interface of BIC Process Execution structured?

The interface of BIC Process Execution can be divided in three parts:

Header: The header displays the area which is currently displayed. In addition you will find some basic functionality like the burger menu icon that is used to hide or display the menu sidebar. In the mobile view you will also find, for example, the back arrow, which is used to navigate back through the different layers.

Main area: This area is the central area in which you can, for example, work on tasks, view processes or check the progress of the cases.

Sidebars: Navigation elements and functions, such as the menu, are provided via the sidebars of your desktop. By default, the functions are shown or hidden depending on your current screen size, your zoom setting and the level you are currently at. You can expand or collapse the menu as needed using the menu icon at the top left.

Here an exemplary screenshot from the BIC Process Execution application is displayed, that shows you the surface structure mentioned above.

How can I navigate through BIC Process Execution?

The fundamental structure for the navigation in BIC Process Execution is the Menu. You can find it on the left side of your screen in form of a sidebar. The entries of the menu will navigate you to the main areas of BIC Process Execution. For example, the menu contains the following main areas:

Tasks: Here you will find a list of all tasks from all cases that are currently outstanding for you as the person responsible or member of the responsible user group. This allows you to access your tasks collectively and clearly arranged.

My cases: This area displays you all cases which you have created and therefore are registered as the owner. This allows you to get a quick overview of the progress of all cases that are particular relevant to you.

ProcessApps: This section contains all processes that you can use in your BIC Process Execution application. Further information about which processes are available in BIC Process Execution can be found here.

This screenshot displays the menu with all it's entries.

With the help of the arrows you can move back and forward again through your history.

This screenshot displays the back and forward arrows.

Note

To disable the arrows if you are moving outside of BIC Process Execution, we recommend using the browsers Chrome, Opera, Edge and Samsung. The navigation arrows only work for moving within BIC Process Execution.

In the header, you can find the breadcrumb navigation. By selecting the desired name, you will be redirected from a case or case list to the higher level.

The breadcrumb navigation is illustrated here.

You can also use the Up button in the process flow of a case to navigate to the case list of the respective ProcessApp. Using the Up button in this list, you can go to the ProcessApp (Collections).

This screenshot displays the arrow with the "Back" function.

Tip

The menu can be hidden or displayed by using the burger menu in the upper left corner of your screen. If your screen does not offer enough space for the simultaneous display of the main area and the menu (e.g. in the mobile view), the menu is hidden by default.

How can I install BIC Process Execution as PWA on my device?

You can install BIC Process Execution as a Progressive Web App on your mobile device or desktop computer. This enables you to access the application even faster and allows you to receive push notifications on your mobile device even if the application has been closed. The PWA installation process can differ depending on the operating system and browser on your device. For detailed instructions on how to install a PWA on your device please refer to the corresponding help. For example you can find the instructions for an Android device with the browser Google Chrome here.

Where can I find the help?

In the menu click on the question mark to open the help. Here you can view the user documentation.

This screenshot shows the entry "help" from the menu.

Modeling

If you use BIC Process Execution, BIC Process Design will allow you more possibilities than before. You can enhance send tasks with an e-mail template or configure user tasks with an individual form to help users accomplish their tasks. Moreover, you can automate process steps by defining REST calls or script tasks.

If you model a process in BIC Process Design, you can test it in BIC Process Execution before you publish it.

Which processes are displayed in BIC Process Execution?

BIC Process Execution is directly connected to BIC Process Design. Processes that are displayed and can be executed in BIC Process Execution, have previously been defined as such in BIC Process Design. This can be done using the diagram attribute Executable process within the attribute group Automation of the diagram types “Business Process Model and Notation (BPMN)” and “Event-Driven Process Chain (EPC)”. This checkbox has to be activated to declare the process as executable. How to display the attributes of a diagram is explained in this chapter.

This screenshot shows the attribute "Executable process" in the attribute group "Automation".

In the productive environment, you will only see processes in BIC Process Execution as long as the corresponding diagrams in BIC Process Design are available in the publication. If so, the process will be available within BIC Process Execution within the ProcessApps. When you depublish a diagram in BIC Process Design, you can no longer see the associated process here, unless there are still running cases. After every change that has been made to a diagram, it has to be published again to make these changes also visible in the corresponding process of the productive environment.

Hint

In the development und test environment of BIC Process Execution, a process can already be tracked during its development. This reflects the modeling of the corresponding diagram in BIC Process Design.

Note

Note that access restrictions, defined in BIC Process Design, will also effect the visibility of processes in BIC Process Execution. This means that diagrams which have an access restriction in BIC Process Design, will only be visible to you as a process in BIC Process Execution, if you are part of the corresponding access restriction.

Additionally, ProcessApp Administrators have the option to determine whether other user groups are allowed to start tasks manually. To do this, the checkbox Allow users to start tasks manually can be activated. This enables the initiation of previously unstarted active segments of a task.

The screenshot shows the activated checkbox "Allow users to start tasks manually".

By selecting the option Hide Start Form, you can configure that when creating new cases for the process, you will be directly redirected to the process execution view, skipping the case start form. The new case will be named based on the process name and the timestamp.

The screenshot shows the activated checkbox "Hide Start Form".

How can I configure my ProcessApp icons?

The icon with which your process is displayed in the ProcessApp area in BIC Process Execution can be adapted in the attributes of the corresponding diagram in BIC Process Design. To configure an icon, navigate in BIC Process Design to the details of the relevant diagram. Here you will find the attributes ProcessApp color and ProcessApp icon under the attribute group Automation.

You can use the ProcessApp color attribute to determine the icon’s color. As value enter the RGB color code of your desired color, for example red via 255,0,0. Please note that hexcodes or color names are not supported. The task icon is always the same color as the ProcessApp.

The icon can be defined via the attribute ProcessApp icon. You can choose an icon provided by Font Awesome (v6.5.1) which is available for free. As the value of the attribute enter the name of the respective icon.

An example could be as follows:

The screenshot which is displayed here shows example values for the attributes "ProcessApp color" and "ProcessApp icon".

The result will then be displayed like this:

This screenshot demonstrates how the example has been executed.

The default icon for undefined processes is a diagram icon.

Note

You can choose from all Font Awesome icons in version 5.15.4 except the trademark-protected ones.

Form Editor

With the form editor, you can create the form of a user task. You can configure different form fields that will be displayed in the form of the task when the process is executed. The responsible of the task can fill the fields when completing the task.

How can I create and configure my own form?

In order to use the form editor, your diagram has to be marked as executable process in the attributes. The activity type of the task has to be User.

Now you can open the form editor. To do so first open the context menu of the activity with a right click on it. There select the entry Open Forms editor.

The context menu of an activity with the entry "Open form editor" is shown here.

Alternatively, you can open the form editor via the details of a task. To do that, select the activity and open the details on the right-hand side. There you can find the button Open Editor. Select this button and the form editor will open.

The screenshot shows the details view of an activity with an editor.

The form editor opens in a new dialog window. On the left side of the form editor you will find all available form fields that can be added or configured. In the middle of the editor you can see a preview of the form which contains all elements that have already been added to your form. If one of those elements has been selected you can see its details on the right side of the dialog.

The screenshot which is displayed here shows the form editor.

Within the form editor you can add new elements to your form, adapt the position of the different form fields within the form, change their attributes or remove single form fields from the form.

To apply your changes, confirm your entries by pressing the Save function in the top right corner of the form editor. With Cancel you can leave the form editor and the changes will be discarded.

On the screenshot the options "Save" and "Cancel" are shown.

As soon as you have saved your changes and the corresponding diagram meets all requirements to be displayed as process in BIC Process Execution, your form can be found in addition to the automatic generated form fields of the task.

This screenshot demonstrates the configured form within a task's form.

Be aware, that the relevant task must have been assigned to a user in order for your form to be editable in a case’s process flow.

You can use process variables in your form. They need to be enclosed by two curly brackets (e.g. {{variableName}}). If you received a data object via a rest call, you can use that as well in your form. The following example shows a JSON file with the data object ‘address’. To use the zip-code as a variable, you need to use address.zip. You can nest as many data objects as you like.

This screenshot demonstrates a JSON file with a data object.

Hint

If a data object in the JSON file without a nested structure is named with a dot, it will be replaced with an underscore. In this example, if address.zip is not nested, the name will automatically be renamed to address_zip. After the replacement, you need to use the underscore(s) to continue using the variable(s).

Warning

Remember to also save the diagram, after you have applied changes within the form editor. Otherwise your changes will be lost when leaving the diagram.

Note

If you have errors in your user form, the form will not close after saving. You will see an error icon on fields with errors. After solving them, the form can be saved and closed.

Which form fields exist and how can I add a new form field to my form?

You have the possibility to add these form fields into your form:

  • Text: A simple text field for the in- and output of alphanumeric strings.

  • Text area: Text field for the input of longer text such as descriptions and comments, which also allows formatting the text.

  • Formula: Formula for calculating numeric or logical values.

  • Number: Field for the in- and output of numeric values. Can store numbers with decimal places.

  • Single choice: Choice field where a user can choose exactly one option of several predefined options. This can be configured as a list or drop-down menu.

  • Multiple choice: Choice field where a user can choose one or more options of several predefined options. This can be configured as a list or drop-down menu.

  • Date: Field for the in- and output of dates.

  • Boolean: Field with a binary decision.

  • Email: Field, where user can enter an e-mail address or get an e-mail address as output to write an e-mail.

  • URL: Field for the in- and output of web addresses.

  • Users/User groups: Field to add a user or user group.

  • File: Field to upload files.

To add a new form field into the form, first open the form editor at the corresponding activity.

In the left sidebar, select the desired form field that you want to add to your form.

The screenshot that is displayed here shows the process of adding a new form field to the list.

A new entry will be created at the bottom of the form preview. If you select the new entry you can edit the form field according to your needs. Every form field has different attributes, which are explained in the following sections. Alternatively you have the option to add a form field via drag & drop into the designated position.

The screenshot that is displayed here shows how to add a new form field via drag & drop.

The field will be inserted underneath the blue line.

The screenshot which is displayed here shows the form editor after adding a new form field.

Which attributes does a form field have?

With attributes, you can configure your form fields in the right sidebar individually. For every form field there is a set of commonly available attributes:

  • ID: If you add a new form field it automatically gets an ID. This ID is available as a process variable in your process and is necessary. If you want you can change the ID of your form field. This can be helpful if you want to use your input again. Furthermore you have the option to use already existing process variables as ID’s. In this way you can get the current value of the corresponding variable in your process.

  • Label: With the label you enter a name for your form field, which is displayed to the user in the form field at the top left.

  • Placeholder text: Here you enter a text, which explains what kind of input is expected (for example a short description or an example).

  • Mandatory: If this checkbox is activated the user needs to make an input before being able to continue.

  • Read-only: Values of form fields which have activated this attribute cannot be changed by the user in BIC Process Execution. This means the corresponding process variable cannot be changed via this form field.

  • Hidden: This attribute can be used, if you do not want the user to see the form field. When a field is Hidden no validations (e.g. mandatory, min length, etc.) are performed.

  • Hint: This attribute can be used, to display a hint below the input field for the user.

  • Default value: This attribute can be used to define a default value. You can decide whether you use a value or a formula that needs to be evaluated. Process variables must be enclosed by two curly braces.

With some attributes you have the possibility to choose whether they should always behave as specified or just in some cases. You have this option on the form fields Hidden, Mandatory, and Read-only. There are two different options possible for this. Always ensures that the corresponding form field always behaves as specified. Conditionally lets you type in a formula which decides whether the attribute is applied or not.

In the following screenshot you can see an example where the field will be Hidden if the variable value is bigger than 5.

The screenshot which is displayed here shows the options to hide a form field.

After editing the attributes you can confirm your changes by using the function Save.

Note

Be aware that the values of the properties apply to all content languages and cannot be defined individually for each.

The following sections explain which additional attributes each form field has.

Text field

The screenshot which is displayed here shows the detail page of the text form.

The simple text field can be used for the in- and output of short alphanumeric strings.

It has the following attributes:

  • Pattern: Enter a regular expression the input must match in order to be valid.

  • Size: This value indicates how wide the input field is (measured in characters).

  • Min length: This value defines the minimum of characters needed to make a valid input.

  • Max length: This value defines the maximum of characters needed to make a valid input.

Hint

An example for a pattern could be ([a-z]\d\d)+. This regular expression indicates that a combination of a lowercase letter followed by 2 digits is valid. Those can be repeated several times. An example for a valid input would be a14b22 or q41c96b74e44. Other inputs like A54b41 or 1d23 would not be valid.

In a running case, the text field above results in:

The text field is shown in the form here.

Text area field

The screenshot which is displayed here shows the detail page of the text area form.

The text area field can be used for longer alphanumeric strings. For example it could be used to save or show descriptions or comments. It also allows to format the input (e.g. bold, italic, etc…).

It has the following additional attributes:

  • Height: This value indicates how high the text area is (measured in pixels).

  • Width: This value indicates how wide the text area is (measured in pixels).

In a running case of the example above, the text area is displayed as follows:

The text area field is shown in the form here.

Formula field

The screenshot which is displayed here shows the detail page of the formula form.

The formula field can be used to calculate a variable. It can be a numeric or logical value, even calculating with date values is possible. You can get an overview of all available formulas in this chapter.

It has the following additional attribute:

  • Formula: Here you select the formula you want to use. Possibly one or more parameters are necessary to calculate your formula.

Note

Please be aware that the attribute read-only is always active for the formula field.

When entering your formula, you must pay attention to the following:

  • The formula needs to be written in capital letters.

  • Parameters have to be in brackets and need to be separated by a comma.

  • If you want to use earlier defined process-variable, you need to put them between two curly brackets (e.g. {{VariableName}}).

  • Other parameters do not need to be enclosed by curly brackets.

In the example above, the formula computes the number of absence days. This is done in a running case as soon as both start and end date have been entered:

The formula field is shown in the form here.

Number field

The screenshot which is displayed here shows the detail page of the number form.

The number field can be used to save or show numeric values. The use of decimal numbers is also possible.

It has the following additional attributes:

  • Min value: Enter here a value which is the lower limit for the user input.

  • Max value: Enter here a value which is the upper limit for the user input.

  • Step: This value defines how much the input value increases or decreases when using the input form. The standard step is 1. Regardless of the step size, the user can write his own values, as long as they are between the min and the max value.

In the example above, the attributes min and max value of the number field “Contract number” are maintained in such a way that the user must specify a four digit number.

The number field is shown in the form here.

Single choice field

The screenshot which is displayed here shows the detail page of the single choice form.

The single choice field can be used when the user needs to choose exactly one of several predefined options.

It has the following additional attributes:

  • Options: A list of available options from which the user can choose. The options are separated by a line break.

  • Show single choices as a dropdown: If you activate this attribute, the user can select the desired option in a drop-down menu. Deactivating the attribute will lead to a presentation of the options in a list.

The single choice field “Reason for absence” in the example above is configured as a drop-down menu. In the following, the option “vacation” has been chosen:

The single choice field is shown in the form here.

Keys

You can define a key for each option that is stored as the value of the process variable instead of the actual option. You can add the key to the respective option using a semicolon as separator. If an option itself contains semicolons, the last one is detected as separator. For example, the form field “Department” will have the option-key pairs Development - dev, Human Resources - hr and Sales - sls:

The definition of a single choice form field with keys is illustrated here.

If the options Development is selected by a user in a case, the process variable “Department” is saved with the value "dev".

The screenshot shows the process variable of a single choice form field with a key.

Multiple choice field

The screenshot which is displayed here shows the detail page of the multiple choice form.

The multiple choice field can be used when the user needs to choose one or more of several predefined options.

It has the following additional attributes:

  • Options: A list of available options from which the user can choose. The options are separated by a line break.

  • Show multiple choices as a dropdown: If you activate this attribute, the user can select the desired option in a drop-down menu. Deactivating the attribute will lead to a presentation of the options in a list.

  • Save selected options as string array: This attributes indicates whether the process variable is saved as string or as a string array. If you deactivate the attribute, the process variable is saved as a string. If you activate the attribute, the process variable is saved as an array of strings. The array includes the selected answers. Note the possibility to define keys that are stored in the process variable array. You can find an explanation below the next screenshot.

The multiple choice field “Supported Locations” above is only visible in the form if the process variable contract.international has the value TRUE. The process variable can be set to TRUE via the boolean field “Does the company supply internationally?”. In a running case, the fields are displayed as follows:

The multiple choice field is shown in the form here.

Keys

If you activate the attribute Save selected options as string array, you can define a key for each option that is stored in the string array instead of the actual option. You can add the key to the respective option using a semicolon as separator. If an option itself contains semicolons, the last one is detected as separator. For example, the form field “Department” will have the option-key pairs Development - dev, Human Resources - hr and Sales - sls:

The definition of a multiple choice form field with keys is illustrated here.

If the options Development and Human Resources are selected by a user in a case, the process variable “Department” is saved with the value ["dev", "hr"].

The screenshot shows the process variable of a multiple choice form field with a key.

Date field

The screenshot which is displayed here shows the detail page of the date form.

The date field can be used when the user needs to input a date or get a specific date shown.

In the example above, two date fields are shown to the user. The desired dates can be chosen in a drop-down calendar:

The date field is shown in the form here.

Boolean field

The screenshot which is displayed here shows the detail page of the boolean form.

The boolean field can be used for binary (yes/no) or logical (true/false) decisions.

It has the following additional attribute:

  • Show boolean as checkbox: The appearance of the field will change and it will be displayed to the user as a checkbox instead of a slider.

In the example, the checkbox is activated so that the boolean field is displayed in the form as follows:

The boolean field is shown in the form here.

Note

If you mark a Boolean field as mandatory, users must check this field during a case in BIC Process Execution to proceed with their case. If they are not doing that, an error message will appear to inform users that they need to complete the task to proceed further.

Email field

The screenshot which is displayed here shows the detail page of the e-mail form.

The e-mail field can be used to input or display an e-mail address.

It has the following additional attributes:

  • Pattern: Enter a regular expression the input must match in order to be valid. If you do not enter a custom pattern, a standard pattern will check if the input matches an e-mail address.

  • Min length: This value defines the minimum of characters needed to make a valid input.

  • Max length: This value defines the maximum of characters needed to make a valid input.

  • Width: This value indicates how wide the e-mail field is (measured in pixels).

In the following example you can see an e-mail field with the option Read-only activated. In that case the e-mail address will be displayed as a link. When you are selecting the link, you will be redirected to your mail program, where you can send an e-mail.

The e-mail field is shown in the form here.

URL field

The screenshot which is displayed here shows the detail page of the URL form.

An URL field can be used to call or enter a web address.

It has the following additional attributes:

  • Pattern: Enter a regular expression the input must match in order to be valid. If you do not enter a custom pattern, a standard pattern will check if the input matches an URL.

  • Min length: This value defines the minimum of characters needed to make a valid input.

  • Max length: This value defines the maximum of characters needed to make a valid input.

  • Width: This value indicates how wide the e-mail field is (measured in pixels).

In the following example you can see an URL field with the option Read-only activated. In that case the web address will be displayed as a link. When you are selecting the link (Ctrl + mouse click), it will open in a new tab in your browser.

The url field is shown in the form here.

Users/User groups

This screenshot shows the detail page of the users/user groups form.

A Users/User groups field can be used to enter a user or user groups and include it into the case. Note that you can only add one user or group to a User/User groups field. If you start to enter a value into this field, a suggestion list appears where you can select a user (group). In case of a user, the e-mail address is stored as process variable and in case of a user group, the name is stored.

If the ID of the form field is the same as the identifier attribute (AT_IDENTIFIER) of a role in the process, then this role will be linked to the form field. This means, that the initial value of the form field will be the user (group) that occupies the role in the current case. Also, if a new user (group) is set in the form field, this user (group) will occupy the role after the completion of the corresponding task.

The users/user groups field is shown in the form here.

File

The screenshot shows the detail page of the attachment form.

The field for files can be used to upload files and embed them in the process.

Please note that the same identifier must be specified for the form field and the associated document for the form field to work. The document then represents either the input or the output document.

If you define a form field as read-only and the input document is linked to the same identifier as the form field, the actions of this input document will be applied to the read-only fields.

A not read-only form field allows data to be entered, while a conditionally read-only field is editable under certain conditions. If an output document has the same identifier as a form field, the actions of the document are applied to the field.

If multiple documents have the same identifier, only the actions of the document whose identifier is displayed in the form field will be visible.

If you are using a form with a file upload option and have selected a file for upload, a visual representation of the file name of the uploaded file is displayed. This makes it easier to identify the uploaded file in the context of the upload process.

Additionally, you have the option to view uploaded PDF files in the integrated browser PDF viewer by clicking on Download.

The screenshot shows the option to open PDF files directly in the integrated browser viewer.

If an uploaded file is not supported, the file will be downloaded directly.

The above field for a file is prepared in the following way in the current process:

The attachment field is shown in the form here.

How can I rearrange the position of my elements within the form?

You can change the position of your elements in the form in BIC Process Execution by changing the position of them within the form preview in the form editor. The position within the form preview can be changed individually. To do so drag the element over the rearrange symbol on the left side of the entry to the desired position within the form preview.

This screenshot demonstrates a form field which gets rearranged within the list.

How can I remove one of my form fields of the form?

To remove a form field from the form you need to select the option Delete Element on the right side of the field. The entry will be removed from the list of form fields within the form.

This screenshot demonstrates the function to remove single form fields from the list.

How can I create a signature task?

You can create your forms in a way that your users must authenticate themselves before they can complete the task. To create a signature task the activity must be of the type User. Open the form editor of the corresponding activity and choose the tab Settings.

The screenshot shows the page settings of the user form editor.

Here you have the option to select the checkbox Mark this task as a signature task. If you select this checkbox, your activity will be marked as a signature task and your users have to authenticate themselves before finishing the task. How the authentication process work can be found here.

Note

Please note that, this function is not activated by default in your System and must be configured first. To do that please contact your contact partner at GBTEC.

Service task with REST call

BIC Process Execution offers you the possibility, in interaction with your BIC Process Design, to exchange data via REST endpoints. The REST calls are defined in your BIC Process Design and automatically executed via the processes in BIC Process Execution. The data which is resulting from those REST calls will then be stored in process variables and can be used and displayed for further tasks during the process flow of the corresponding case.

Note

You have the possibility to define your REST request in the REST configurator, described further on. This request is executed prioritized. If you have defined a REST call in a previous version via the Service call attributes and did not set any configuration in the REST configurator, the Service call attributes will be used as fallback.

How can I define my REST calls?

In order to define the REST call, your diagram has to be marked as executable process in the attributes. The activity type of the task has to be Service.

Afterwards, right-click the activity to open the context menu. Select the option Open REST configuration.

This screenshot shows the context menu of a service activity with the "Open configuration" option.

Alternatively, you can open the editor by selecting the activity and choosing Editor in the Details menu. There you will find the button Open Editor. Select it and the REST editor will be opened.

A dialog window opens where you can define your REST call. You will be guided by the following three steps. Click the fields to edit them or select the desired option.

Tip

You can also define your REST calls dynamically via process variables. For example: Using variables, the header data or request body can depend on the data of each case.

1. Connection

The dialog window "REST configuration" is displayed. The first step "Connection" can be defined here.

  • HTTP Method: In this field enter the HTTP method which you want to use for your call. Supported HTTP methods are listed below. If no method has been specified the default value for this field is GET.

  • DELETE

  • GET

  • HEAD

  • PATCH

  • POST

  • PUT

  • OPTIONS

  • TRACE

  • URL: Enter here the URL path of your REST endpoint (e.g.: http://serviceUrl:port/service/1).

  • Authentication: Here you can select the type of authentication that is wanted for your REST Call. We offer you different options for authentication:

  • No Authentication: You do not need any authentication and therefore do not need to enter more details.

  • Basic Authentication: When you select this option, two new input fields will appear where you can enter your username and password for the desired service.

  • OAuth2: Three new input fields will appear when you select this option. You need to input the Client ID, the Client secret and the Authentication URL. Via the eye icon you can hide and show the Client secret.

  • API Key: After selecting this option, two input fields will appear: Key and Value where you can enter your corresponding API key and its value. Below the fields you have the option to add the key-value pair to your header or to your query parameters.

Go to the second step using the button NEXT. Alternatively, you can click the tabs Connection, Request and Response to switch between the steps arbitrarily.

2. Request

The screenshot shows the configuration of the "Request".

The input fields of the request options drop down if you select the respective option.

  • Request header: Here you can enter all header data that has to be transferred in the REST call. This data is in a key-value table. Click on the plus-sign to add new entries or select the recycle bin icon to delete an entry.

  • Body: Here you can enter the content that has to be transferred in the REST call. In the drop-down menu Type, choose one of the following options.

  • JSON: Here you can enter the content in the Request body field using JSON-structure.

  • Binary (file): Choose this type to read the request body from a file. In this case the body of the request only contains the contents of the file.

  • Multipart (file): The request body is also imported from a file. This type enables you to import the request body in a form-data request format.

If you choose one of the types that import the content from a file, another field appears where you can link the desired file. Use the process variable defined in the identifier attribute of the file. You can find a detailed explanation in the linked section.

3. Response

The screenshot shows the configuration of the "Response".

  • Connection timeout: Here the time limit (in seconds) for your REST call can be set.

  • HTTP status code: Here you can set the expected status code of your REST call.

  • Response Type: Here you can enter if your output is in the JSON format or if it is a file. An explanation regarding how to include files in REST calls can be found here.

  • Response Mapping: Here you can specify whether the returned data should be stored and used as process variables. The default setting is Automatic. If you select None, the response will not be processed as process variables.

Here the buttons "cancel" and "save" in the REST configuration header are displayed.

Click the equivalent button to save your configuration. If you do not want to save your changes, select cancel to close the dialog window.

Regardless of the Response Mapping, a _response variable is stored, allowing you to access Request header and HTTP status code. If you have configured multiple service tasks, the _response variable will be overwritten after their execution. You can access the _response variable, for instance, through _response.headers.NAME[0] or _response.headers["NAME-NAME"][0] for keys with a hyphen.

Hint

Please note that the _response variable can only be used for the active main process and its subprocesses.

How can I use variables to create dynamic REST calls?

By the use of variables from your API you can create dynamic REST calls. Within the definition of the REST configuration you can use your process variables in the Request body. Variables should be listed as follows: {{VariableName}}.

If, for example, you have called up the name and age of an employee using the GET REST call, you can use these values in the following REST call by using the corresponding variables. The result of the first GET REST call could be: {"name": "John Doe", "age": 35}. You can use those variables and their values then in the following POST REST call within the field Request body (if you select JSON in the Body field) as follows: {"managerName": "{{name}}", "managerAge": {{age}}".

The screenshot shows an exemplary REST call configuration with the use of process variables.

You can also use variables in the connection or response.

How can I configure my request body as file?

If you configure your REST call (i.e. a service task), you can read the request body from a file. The file has to be added to the case as an attachment of a previous task. Moreover, you have the possibility to define a REST call which returns a file. The system will save the file as an attachment of the service task. To configure your REST call using files, follow the next steps.

Request body as type file: Model an activity in your diagram in BIC Process Design and add a document node as output. Maintain the attribute Identifier.

The modeling of an output document at a preceding task is displayed.The attribute "Identifier" has the same value as the field "File" of the request body configuration.

In the process flow, the service task has to occur after the task with the output. When you configure the REST call request, choose the type Binary (file) (or Multipart (file) if it is a data-form format) in the drop-down menu of the Body. Enter the identifier you defined previously.

If you use JSON Body Type with a corresponding Request Body (e.g., { “file”: “{{fileID}}” }), you can utilize file identifiers as placeholders on service tasks. This functionality allows the substitution of the placeholder with the file content of the identifier, encoded as Base64 data.

To upload a file in your running case, you need to add a document as an output in a previous task. When the service task is executed, it will retrieve the latest version of the file data, incorporate it into the JSON body, and automatically replace the placeholder.

File as response: In order to link a file returned by a REST call to your case, the activity representing the service task in BIC Process Design has to be modeled with a document as output. The attribute Identifier has to be maintained for the document to link it to the REST call response. In the REST configurator choose the option File as Response Type and enter the identifier in the upcoming field. The Identifier needs to be enclosed by two curly braces.

The modeling of an output document at a service task is displayed.The attribute "Identifier" has the same value as the field "File ID in the process" of the REST response configuration.

After the REST call has been executed in your case, you can download the response file at the service task just as if it was uploaded manually.

How can I define multiple values as expected response status codes for REST calls?

As a process designer, you have the option of defining multiple values as expected response status codes for REST calls.

Suppose you have configured a REST call and defined the expected HTTP status codes as a pattern. If you receive a response from the API and the received status code matches the pattern, you can consider the response successful.

If you have configured a REST call and a list of expected HTTP status codes is defined, when you receive an API response whose status code does not match one of the expected ones, you should treat the response as an error and take appropriate action based on the received status code.

Note

The pattern also accepts numbers, pipes, dots and queries.

How can I automatically create an output document with a service task for reports?

Suppose you have modeled a Service task. When you open the editor, you have the option of configuring the document creation in addition to the REST call.

If you select the option REST call, the REST configuration is started. Alternatively, if you select the Reports option, the report configuration starts, where you can specify the output format (PDF or DOCX).

Assume that the report task contains an input. If this input has an attached file in your configured default language in DOCX format, this file is used as a template for the report.

If there is an output in the report task and it is executed, the result is added to the output. The name of the output file corresponds to the name of the template file.

Hint

Please note that if the input or output is missing or the input has no attachment, the report will not be created and the task will be marked as an error. If there is not exactly one input and one output in the report task, the report will not be created and the task will be marked as an error.

Additionally, assuming there is a Design Document in the input and the input does not have an Instance Attachment, the template for creating the report will be the Design Document.

If there is a Design Document in the input and the input has an Instance Attachment, the template for creating the report will be the Instance Attachment.

How can I create an e-mail template?

You can integrate send tasks in your process to enable users to send e-mails based on a template. In order to change the mail template, your diagram has to be marked as executable process in the attributes. The activity type of the task has to be Send.

Afterwards, right click the activity to open the context menu and find the entry Open Email template editor.

It is displayed how to open the e-mail-template editor in BIC Process Design via the context menu of the activity.

Alternatively, you can open the script editor via the details of the activity.

A click opens the editor. In the top fields, you can enter recipient, e-mail addresses as Reply to, Cc and Bcc as well as a subject. The template can be written in the text field below. Notice the different formatting functions in the header.

The screenshot shows the e-mail-template editor in BIC Process Design. The text, "Reply to" and recipient field contains process variables.

By using the Reply to function, you can specify an email address to which all responses to your sent email should be forwarded.

The screenshot shows the e-mail-template-editor in BIC Process Design and additionally the *Reply to* field.

Note

Please note that only if the option Send email automatically is activated, the Reply to-address can be taken into account. Otherwise, the Reply to configuration will be ignored for manually sent e-mails.

Process variables can be used in every field of the editor and result in a dynamic template that is automatically adjusted in BIC Process Execution. The variables are replaced by the case-specific values in the form of each case as soon as they are set in prior process steps. Integrate process variables via double curly brackets: {{VariableName}}.

Note

Note that you can include process variables with html formatted values in the text editor. For such values you need to add an ” -html” (attention: with a blank space!) to the process variable name. Otherwise the formatting is not processed. Consider a process variable {{CompanyName}} for which the values are given with a formatting (e.g. in bold via “<b>GBTEC Software AG</b>”). If you use the placeholder with the html tag {{CompanyName -html}} in the text editor of your template, the value will appear in the defined formatting (in bold in the example).

With the help of the editor you can configure that your mails will be sent automatically. To do that, activate the option Send email automatically. When you start this task in BIC Process Execution, your mail will automatically be sent from a no reply address. If you use process variables in your form they will be automatically substituted with their corresponding value.

The screenshot shows the e-mail-template editor and the checkbox *send email automatically*.

If the automatically sent e-mail is supposed to contain an attachment, the desired file can already be included to the case in BIC Process Execution. Model a preceding activity connected to an output object which is either a document, business object, norm or data store. Add the same object as input to the send activity. Then, the responsible of the corresponding task can upload a file in the form and complete the task. When the send task is started, the file is attached automatically.

Note

Please note that the input is only attached if the e-mail is sent automatically (option Send email automatically activated).

An activity typed as "send" with a document input is displayed here.

In the example above, the document “Invoice” is the output of the task “Create invoice” and the input of the send task “Submit invoice to customer”. The attachment of the e-mail will be the latest version of the file in case. Thus, if the responsible uploads a new file (version) when working on the task “Revise invoice”, this file is attached to the e-mail.

If your process variables are empty or not existing, BIC Process Execution will display an error icon and you have to send the mail manually via a human task. Alternatively, you got the option to replace these kinds of process variables with empty strings. For that you need to select the option Replace placeholders with empty values if process variables are missing.

The screenshot shows the e-mail-template editor and the checkbox *Replace placeholders with empty values if process variables are missing*.

Tip

Use the form editor to enable users to define the process variables in prior steps.

Warning

If an e-mail is sent manually, there is a restriction for the length of the template. If your template is longer than a certain length, BIC Process Execution will automatically truncate the mail and only a part of it will be displayed in your e-mail client. If the e-mail is sent automatically, this restriction does not hold.

How can I create a script task?

You can execute tasks automatically in your process by integrating script tasks. The supported script languages are JavaScript and Groovy. Starting from version 7.12.0, the JavaScript scripting language is based on the GraalVM Script Engine. The JavaScript ECMA version 5.1 is backward compatible, supporting the new components introduced in version 13.0. You can find detailed information about the used JavaScript Standard ECMA and the Groovy Engine in the following links.

Hint

The Nashorn JavaScript Engine is no longer supported starting from version 7.12.0.

Hint

The version of the Groovy engine used to execute and create script tasks has been updated to version 4.0.12.

In order to define a script task, your diagram has to be marked as executable process in the attributes. The activity type of the task has to be Script.

Afterwards, right click the activity to open the context menu and find the entry Open Script editor.

The context menu of an activity is displayed here. The option "Open Script editor" is selected.

A click opens the editor. You can select the desired script language in the drop-down menu and then write the script which will be executed during the runtime of a case. Use process variables to adapt the script to each case dynamically. In the example below you can see a groovy script where the process variable employee_name is used as an attribute of a new object user. This object is then returned as a new process variable in line 15.

The Script editor with a groovy script is displayed here.

Alternatively, you can open the editor by selecting the activity and choosing Editor in the Details menu. There you will find the button Open Editor. Select it and the script editor will be opened.

You can work with the process variables in a JavaScript in a similar way. The example below leads to the same behavior as above. The last statement of the script is the return. Thus, the new object user is returned to the process variables of the case in line 13.

The Script editor containing a script in JavaScript is displayed here.

Warning

If the result is declared with var result = ..., it is necessary to explicitly specify the result again in the ending line.

Afterwards, select Save to store your script and close the editor. If you click the button Cancel, the editor will close without saving your changes.

Hint

Please use the correct JavaScript syntax to add a list from a script task to the process variables. This is demonstrated in the following.

*JavaScript*
var userList = ["John Doe", "Max Mustermann"];
vars = {
    scriptListVar:userList
}

If you define your list via the syntax above, each entry of the list will be stored as a single process variable (of type string here). The following two alternatives should be used instead to include the whole list as one process variable of the type list.

*JavaScript*
var List = Java.type("java.util.List");
var userList = List.of("John Doe", "Max Mustermann");

vars = {
    scriptListVar:userList
}
*JavaScript*
var Arrays = Java.type("java.util.Arrays");
var userList = ["John Doe", "Max Mustermann"];

vars = {
    scriptListVar:Arrays.asList(userList)
}

Development and test environment

In addition to the productive environment where processes can be executed, BIC Process Execution offers two more environments where processes can be examined and tested while the diagram is still modeled in BIC Process Design.

A process in the studio or development environment is based on the version of its related diagram in the public workspace. If you have modeled a diagram as executable process in BIC Process Design, it will be visible in the development environment right after check-in.

As soon as this diagram is available in preview stage of BIC Process Design, it also appears in the test environment.

The development and test environment perform as follows: If there is a former version in the respective environment, it will be replaced when the corresponding diagram has changed in public workspace resp. the preview. All existing cases of the process in the environment will be deleted. This helps authors to view and examine changes in the process right after modeling the corresponding diagram.

Which environments are existing?

The execution of established processes is done in the productive environment of BIC Process Execution. This environment is accessible for all registered users of BIC Process Design. A process is displayed and usable in the productive environment if the corresponding diagram is published in BIC Process Design.

There are two more environments: the development and the test environment. Users with the user role ProcessApp Creator or higher can access these environments to test processes before publishing them. More information can be found in the chapter “Development and test environment”.

How can I change the environment?

You are viewing the productive environment if the URL of your browser contains the key word “app”:

https://XXX/process-execution/app/...

You can access the development resp. test environment by modifying the URL. Add the key word “studio” resp. “test” behind .../process-execution/:

  • Use https://XXX/process-execution/studio to enter the development environment/ the studio.

  • Use https://XXX/process-execution/test to enter the test environment.

The following table serves as a short overview of the environments:

Development environment

Test environment

Productive environment

Diagram version

public workspace

preview

publication

URL key word

studio

test

app

How can I test a process while it is modeled?

If you define a process by modeling a diagram in BIC Process Design, you can directly test it. You simply have to mark the diagram as executable process in the attributes.

As soon as you check-in the diagram, the Test ProcessApp button will appear.

The start button for a ProcessApp in public workspace is displayed here.

Select the button to open the studio of BIC Process Execution in a new browser tab. A new case of the modeled process will be created there automatically. The case name is maintained by the system with the name of the process and a timestamp. All roles will be assigned to you (even if the roles have a default allocation). This enables you to test the process flow quickly since no further configuration of the test case has to be done manually.

Testing a ProcessApp can be started from public workspace of the new user interface as well. If you open the diagram in the diagram view, the button is displayed in the upper right corner.

The start button for a ProcessApp in public workspace of the new user interface is displayed here.

How can I test a process before publication?

New processes modeled in BIC Process Design can be tested while the concerning diagram is in preview stage. This enables you to create a final test case in the scope of reviewing the diagram before it is published. Note that the diagram has to be marked as executable process in the attributes.

In the diagram view, you will find the button Test ProcessApp.

The start button for a ProcessApp in preview stage is displayed here.

Select the button to open the test environment of BIC Process Execution in a new browser tab. A dialog window to create a new case of the defined process will open there. Follow the steps as in the productive environment to configure your test case.

Testing a ProcessApp in preview stage can be started from the new user interface as well. If you open the corresponding diagram, the button is displayed in the upper right corner of the diagram view.

The start button for a ProcessApp in preview stage of the new user interface is displayed here.

How can I delete a ProcessApp?

If you tested a ProcessApp in the studio and test environment in different cases, you might not need these data anymore. In the administration, you can delete the ProcessApp including all cases. All started and future tasks of the cases will be removed too. The data are only deleted in your current stage (studio or test environment). This is irrevocable.

Navigate to the administration area and select the option ProcessApps. In the list of all ProcessApps of the environment, scroll to the desired ProcessApp. If you hover of the entry, you can select the three dots to open the menu.

The screenshot shows the list of ProcessApps in the administration with the option "Open menu".

Then choose the option Delete ProcessApp.

The selection of the option "Delete ProcessApp" is demonstrated here.

Confirm the deletion in the appearing dialog window via the DELETE button. Alternatively, you can cancel the deletion.

The confirmation to delete the ProcessApp data in the dialog window is demonstrated here.

Note

Note that only ProcessApp Administrators can access the administration area.

How can I define a default role allocation for the process instantiation?

In BIC Process Design you have the possibility to assign persons or organizational units to roles so that they will be set automatically during the process instantiation in BIC Process Execution. If it is known in advance that the same people or organizational units are nearly always responsible for all cases of a process, you can speed up the process instantiation for this particular process.

To use this function, navigate to the relevant role in the desired diagram in BIC Process Design. In the attribute Staffing enter the person or organizational unit. You can find this attribute within the attribute group Automation.

This screenshot shows the attribute "Staffing" from a diagram designed in BIC Process Design.

Users as well as user groups or organizational units can be entered. The diagram has to be published afterwards, to apply the changes to the process in the productive environment. Once the new version of the diagram has been published, the person or organizational unit is assigned to the role as responsible in the instantiation process by default.

Tip

During the instantiation process the allocation can then still be changed if needed.

Note

If no user or user group has been assigned to a role when the case was created, the case owner will be responsible for each task of the role as soon as the task is started. This means the user who created the case can complete the tasks of this role but is not assigned to the role. He receives the responsibility for the tasks one by one when a task is started.

How can I model a dynamic due date for my activities?

You can model your activities with a dynamic due date. This means that the resulting tasks have to be completed in a certain number of days or on a certain date. An explanation of how you can work with due dates in BIC Process Execution can you find here

To do that, go into the details of the activity, and there go into the attribute group automation. Here you can find the attribute Due date.

The screenshot shows the attribute group automation where you can set a dynamic due date.

Here you can enter how many days after the start of the task or at what date it is due. BIC Process Execution calculates the correct due date automatically.

Note

If you do not give any input in the field, the due date will be set to the same value as the case due date.

Tip

Declare at least one date field in advance in the form editor to determine a due date with this value as well.

In the following, some examples of how to determine the due date using at least one date field are provided. Here, two date fields are created in the form editor and declared with the IDs “DueDate1” and “DueDate2”. For these examples, DueDate1 is always set to 03/28/2023 and DueDate2 to 04/05/2023.

The screenshot shows the form editor with a declared date field ID.

The screenshot shows the set dates for the upcoming examples in PE.

Hint

You can also determine dates in ISO 8601 format when using the form field Text and millisecond timestamps by using the form field Number through the following commands.

To move the due date by X days/weeks/months/years, you can use the commands:

nameID.plusDays(X).plusWeeks(X).plusMonths(X).plusYears(X)

nameID.minusDays(X).minusWeeks(X).minusMonths(X).minusYears(X)
  • nameID here stands for your declared date field ID.

  • plusDays(X) / minusDays(X) allows you to move the due date back or forward by X days.

  • plusWeeks(X) / minusWeeks(X) allows you to move the due date back or forward by X weeks.

  • plusMonths(X) / minusMonths(X) allows you to move the due date back or forward by X months.

  • plusYears(X) / minusYears(X) allows you to move the due date back or forward by X years.

Examples:

DueDate1.plusDays(4)

gives the output 04/01/2023.

DueDate1.plusWeeks(2).minusDays(1)

gives the output 04/10/2023.

DueDate2.plusYears(1).minusMonths(2).plusWeeks(3)

gives the output 02/26/2024.

DueDate2.minusWeeks(3).minusYears(1).plusDays(10).plusMonths(6)

gives the output 09/25/2022.

To set the due date to the first day of the month, you can use the command

.withDayOfMonth(X)

Set X to the number 1 to give the first day of the month as the output.

Examples:

DueDate1.withDayOfMonth(1)

gives the output 03/01/2023.

DueDate2.plusYears(2).withDayofMonth(1)

gives the output 04/01/2025.

DueDate2.plusMonths(3).minusYears(1).withDayofMonth(1)

gives the output 07/01/2022.

Alternatively, you can choose any number between 1-31 for X.

DueDate1.plusYears(1).minusMonths(2).withDayOfMonth(15)

gives the output 01/15/2024.

Hint

Avoid numbers above 28, since not every month has the same number of days. For a number higher than 28, proceed as in the next example.

To set the due date to the last day of the month, you can use the command

nameID.plusMonths(X).withDayOfMonth(1).minusDays(X)

where nameID stands for your declared date field ID.

Examples:

DueDate1.plusMonths(1).withDayOfMonth(1).minusDays(1)

gives the output 03/31/2023.

DueDate1.plusMonths(2).withDayOfMonth(1).minusDays(1)

gives the output 04/30/2023.

DueDate2.plusMonths(1).withDayOfMonth(1).minusDays(1).plusYears(3)

gives the output 03/31/2026.

DueDate2.plusMonths(1).withDayOfMonth(1).minusDays(2)

gives the output 04/29/2023.

You can also use an if-else-then-statement to determine the due date if the output is determined by a Boolean value. For this, you need the operators ? and :, and a TRUE and FALSE condition. In addition, at least two date field IDs must be declared.

To compare two dates with each other, use the command:

nameID_1.equals(nameID_2) ? X : Y
  • equals() is the command to compare two dates with each other.

  • nameID_1 / nameID_2 stand for your declared date field IDs.

  • ? terminates the request, followed by the TRUE and FALSE conditions.

  • X is the output if the request is TRUE.

  • Y is the output if the request is FALSE.

  • : is inserted to separate the TRUE condition from the FALSE condition.

Examples:

DueDate1.equals(DueDate2) ? 5 : DueDate1.plusWeeks(1)

gives the output 04/04/2023, because the condition is FALSE.

DueDate2.equals(DueDate1) ? DueDate2.plusWeeks(2) : DueDate2.minusDays(3).plusMonths(1)

gives the output 05/02/2023, because the condition is TRUE.

DueDate1.equals(DueDate2) ? 5 : 10

adds 10 days to the date when the task was created since the condition is FALSE. For example, if this date is set to 01.04.2023, the output will be 04/11/2023.

To check whether a date is before or after another date, you can use the following commands:

nameID_1.isBefore(nameID_2) ? X : Y

nameID_1.isAfter(nameID_2) ? X : Y
  • isBefore() checks if the date (nameID_1) is before the other date (nameID_2).

  • isAfter() checks if the date (nameID_1) is after the other date (nameID_2).

Examples:

DueDate1.isBefore(DueDate2) ? DueDate1.plusMonths(1).withDayOfMonth(15) : DueDate2

gives the output 04/15/2023, because the condition is TRUE.

DueDate2.isBefore(DueDate1) ? DueDate2.minusDays(5) : DueDate2.plusWeeks(2).plusMonths(1)

gives the output 05/19/2023, because the condition is FALSE.

DueDate1.isAfter(DueDate2) ? 10 : DueDate2.minusMonths(1).withDayOfMonth(20)

gives the output 02/20/2023, because the condition is FALSE.

DueDate2.isAfter(DueDate1) ? 20 : DueDate2.plusYears(1)

adds 20 days to the date when the task was created because the condition is TRUE. For example, if this date is set to 04/01/2023, the output will be 21/04/2023.

Hint

If the output value of a TRUE or FALSE condition is deposited with a numeric number, this number will always be added to the date on which the task was created.

How can I set up a case creation restriction?

In BIC Process Design you have the possibility to define a case creation restriction for diagrams, which will be executed with BIC Process Execution. This enables you to decide individually for every process, which users have the possibility to create new cases.

To define such a restriction navigate to the details of the relevant diagram. You can find the attribute Case creation restriction within the attribute group Automation.

This screenshot shows you the attribute "case creation restriction" within the details of a diagram.

Analogous to the diagram or repository access restriction you can set the names of multiple users or whole user groups. As soon as you enter the first characters into the entry field a suggestion list will be displayed where you can select the intended entry.

This screenshot demonstrates the suggestion list of the attribute "case creation restriction" after the entry of several characters.

As soon as a case creation restriction has been set and the diagram fulfills all requirements in order to be displayed also in BIC Process Execution, the case creation restriction behaves as follows:

All users, who have been included in the case creation restriction, are enabled to create cases as usual for the corresponding process. Same goes for users who are part of user groups which have been included into the case creation restriction.

The process will still be displayed to all other users but they cannot create cases for this process. This means the function Create a new case will neither be displayed in the menu of the corresponding ProcessApp nor in the case list of the process.

How can I set a retention period for the archived cases of my process?

If you model a process in BIC Process Design, you can configure a retention period for all archived cases of the process. When a case is archived, it will be stored in the archive until this period is expired. Then, the case will be deleted automatically and irrevocably. You can set the period in the attribute Retention period which is part of the attribute group Automation. Enter a time period in days, e.g. “365” in order to store the archived cases for one year.

The screenshot shows the attribute group "Automation", where the attribute "Retention period" can be maintained.

When the retention period for a case is expired while you view the list of archived cases, the case will be removed from the list and you will be informed about this by a message. In case you view the process flow of an archived case and the retention period of this case expires, the case is deleted by the system and you will be redirected to the case list of the corresponding process. You receive an information message about this automatism.

Warning

Maintaining a retention period leads to the irrevocable deletion of archived cases. For each case, the period starts to expire from the time it was moved to the archive.

How can I add a process to a ProcessApp Collection?

If you want to add a process to a ProcessApp Collection you need to do the following.

Open the diagram of the process you want to add in BIC Process Design and open its attributes. In the attribute group Automation you can find the attribute ProcessApp Collections.

The screenshot shows the attribute *ProcessApp Collection* without a value.

Here you can enter as many ProcessApp Collection IDs as you want.

The screenshot shows the attribute *ProcessApp Collection* with the values *Sales* and *Costumer related*.

How can I model the process flow with gateways?

Usually, a process does not follow one exact flow linearly. Based on decisions, the path splits into multiple flows which might also run parallel. In BIC Process Design, you can model this with sequence flows and gateways. In a concrete case in BIC Process Execution, gateways result in decisions or introduce parallel flow (and reunite them). You can use the following three gateway types:

  • Exclusive gateway: After this gateway, exactly one sequence flow is followed. You may automate the decision which one to choose in a concrete case.

  • Inclusive gateway: After this gateway, one or more of the following sequence flows can be executed.

  • Parallel gateway: With a parallel gateway, all subsequent sequence flows are executed.

Note that it is possible to model multiple outgoing sequence flows at an activity without using gateways.

The screenshot shows the modeling of a process flow where the path is split directly at an activity.

In this case, you have to define expressions for an automatic decision about the course of the process flow. Otherwise, the process will stuck. If you do not want to work with expressions and automated decisions,you must model the process with a gateway (see below). Then, the case owner will get a manual decision task.

The screenshot shows the modeling of a process flow where the path is split after an activity in a gateway.

How can I model an automated decision?

During the execution of one of your cases, you can have decisions made automatically in order to archive the right result for your process. To use this function you must define expressions in the sequence flow in BIC Process Design, which specifies the conditions under which the respective decision is made.

To do so navigate first to the diagram in BIC Process Design, which represents the basis for the process in BIC Process Execution in which you want to have decisions made automatically. Here you have to define an expression for each sequence flow after a split gateway, which specifies the condition under which the following path is to be followed. To define the expression first select the corresponding sequence flow. Within the section Automation in the attributes of the sequence flow you will find the input field Expression.

Note

If you use the parallel gateway in your process, the definition of expressions is not necessary since every outgoing path is executed.

This screenshot shows the attribute "Expression" within the details of BIC Process Design.

Here you can define your expression using the syntax of the programming language Java (an overview about the notation can be found in the table below). The return value of this expression should then be of the type boolean. The basis for the conditions are always process variables which receive their value before they reach the gateway within the process flow in BIC Process Execution. For example you can use process variables from previously executed REST calls, or process variables from previously executed rule-based tasks.

As an example, the attribute "Expression" in BIC Process Design is demonstrated which can be used to create automated decisions in BIC Process Execution.

Overview about the notation

Symbol

Description

Symbol

Description

&&

logic and

<

smaller than

||

logic or

<=

smaller or equal

==

comparison of expressions (is used with true and false)

=

equal

true

expression is true

!=

not equal

false

expression is wrong

>=

bigger or equal

>

bigger than

Therefore, the expression (age >= 18) == true checks whether the value of the process variable age is bigger or equal 18. If this is true the corresponding path will be taken.

As soon as you have defined your expressions and the diagram meets all requirements, you can access the respective process with the automated decision in BIC Process Execution.

If in BIC Process Execution the value of a process variable changes, for example due to a change within a decision table or because of a manual change of a ProcessApp Administrator, all expressions which include this process variable are checked for their return value.

When the return value of the first expression returns the value true for a gateway of the type Exclusive Or, the corresponding path in the process flow of the case is selected and displayed. In case the next the return value is false, the next expression is checked.

With gateways of the type Inclusive Or, all expressions are checked regardless of their order. For all expressions that return the value true, the respecting path is displayed in the process flow.

If none of the expressions return the value true until the decision has been reached, the decision must be made manually by a user.

Warning

If you model an activity with one or more outgoing sequence flows without gateway, you must automate the decision via expressions. Otherwise, undesired behavior may occur since manual decision tasks are created at gateways only. Please find an example here.

Note

Be aware that only automated decisions can be changed, which are still open. This means that decisions which have already been set by starting a task in the respecting path, can not be changed anymore.

Hint

If a task is completed which is the last task before an automated decision, the following task, which results from the path of the decision, is started automatically.

How can I configure an automatic time event?

Start Timer:

You can manually create a new case in BIC Process Execution. Alternatively, you can model a timer in your process so your cases will be created automatically.

Hint

Please note that start timers are only executed in the productive environment (i. e. for published processes). The following Cron definition is not applied in the test and development environments.

Hint

Please note that start timers only apply to BPMN modeling, not to EPC modeling.

To do that, open the concerning diagram in BIC Process Design. In the attributes of the start event, select the event type Timer (in the attribute group Typing).

The screenshot illustrates the event type attribute of an event. It is set with the value "Timer".

Then open the context menu of the start event via a right click on the symbol. Choose the option Open start event settings.

The screenshot shows the context menu of a start event which includes the option "Open start event settings".

A dialog window opens. In the field Starting timer configuration, you can enter a Cron expression to define the (temporal) logic that will be applied to start new cases of the process in BIC Process Execution.

The dialog window "start event settings" is displayed here.

Save your configuration to close the dialog, or use the cancel button in order to discard your changes.

As soon as your process is published, it will automatically start a new case each time the timer is triggered. Such a case is always named by the start time of the case, and participating roles are assigned to their default staffing. Note that the case does not have an owner which implies that tasks without a default staffing have to be delegated manually. If there is no responsible user assigned for a started task, the task has to be delegated before you can complete it.

Note

If the diagram is depublished or no longer marked as executable, the automatic case creation will be stopped.

Tip

ProcessApp Administrators can edit the case name in the process variables.

Cron Expression:

A Cron expression is a chain of fields which are separated by blank spaces. The fields define the time units in the order

<Second> <Minute> <Hour> <Day-Of-Month> <Month> <Day-Of-Week> <Year>.

A field can consist of one or a combination of the following valid values and/ or characters.

Field

Rang of values

Valid characters

Second

0-59

, - * /

Minute

0-59

, - * /

Hour

0-23

, - * /

Day-Of-Month

1-31

, - * ? / L W

Month

0-11 or JAN-DEC

, - * /

Day-Of-Week

1-7 or SUN-SAT

, - * ? / L #

Year - optional

empty or 2022-2099

, - * /

Hint

Please note that support for specifying both a day-of-week and a day-of-month parameter at the same time is not implemented.

Combining these characters, you can configure the start event or intermediate event (“set a timer”) in such a way that cases are started at recurring times or continued at specific times. The following section gives an explanation for the possible characters, which is based on this page.

Tip

On Freeformatter.com, you can find a free tool to generate Cron expressions.

*: The timer is set for every <time-unit>.

Example: ‘*’ as <Month> means that a new case is started every month (JAN-DEC).

?The timer is set on each <Day-Of-Week> resp. on each <Day-Of-Month>.

Example: ‘?’ as <Day-Of-Week> means that a new case is started regardless of the day of the week.

-The timer is defined for a time span (from-to).

Example: ‘MON-SAT’ as <Day-Of-Week> means that a new case is started on each working day.

,The comma can be used to enumerate multiple values for one time unit. List the values without blank spaces.

Example: ‘8,15’ as <Hour> means that new cases are started at 8 AM and 3 PM.

/The timer can be defined using individual increments.

Example: ‘1/7’ as <Day-Of-Month> means that new cases are started every 7 days starting on the first day of a month.

LThe last value of the <time-unit>. It is also possible to combine this character with numerical values, e.g. using ‘L-2’ to get the second last value.

Example: ‘L’ as <Month> means that a new case is started on the last day of each month, i.e. on 31.01, 28./29.02., 31.03. usw.

WThe timer is set dynamically on the nearest week day (MON-FRI).

Example: ‘1W’ as <Day-Of-Month> means that a new case is started on the nearest week day to the first day of the month. If the first day of the month is a Saturday, the new case will already be started on Friday. If the first day of the month is a Sunday, the case will be started on the following Monday.

#<n>The timer is set to the <n>-th occurrence of the <Day-Of-Week> where <n> is a natural number.

Example: ‘2#1’ as <Day-Of-Week> means that a new case is started on the first Monday of a month.

Hint

Note that the system computes the case start times in the time zone of the server. If your local time deviates from the server time, be sure to take the difference into account when you define the Cron expression.

For example, if a case should start at 8 AM in Germany (UTC+1) but the server is based in the time zone UTC+0, you have to set the timer to 7 AM.

The following three examples show some possibilities to configure a recurring start using the values and characters:

0 30 8 ? * MON-FRI

New cases start each day from Monday to Friday at 8 AM.

0 0 15 1 * ?

New cases start each first day of a month at 3 PM.

0 0 12 ? JAN,JUN 2#1

New cases start at the first Monday of January and June at 1 PM.

Intermediate Timer:

You have the option to pause your case for a specified period before it continues. This can be especially useful, e.g., when waiting for a payment confirmation. This way, you to set the case to resume, for instance, after 3 days.

Hint

Please note that intermediate timers are only executed in the productive environment (i. e. for published processes). The following Cron definition is not applied in the test and development environments.

Hint

Please note that intermediate timers only apply to BPMN modeling, not to EPC modeling.

To do that, open the concerning diagram in BIC Process Design. In the attributes of the intermediate event, select the event type Timer (in the attribute group Typing).

The screenshot illustrates the event type attribute of an event. It is set with the value "Timer".

Then open the context menu of the intermediate event via a right click on the symbol. Choose the option Open intermediate event settings.

The screenshot shows the context menu of an intermediate event, which includes the option "Open intermediate event settings".

Selecting this option opens a dialog window. In the Timer definition field, you have the option of defining the duration using the ISO8601 format or a variable. This defines the time logic according to which a new case of the process is to be started in BIC Process Execution.

The dialog window "intermediate event settings" is displayed here.

Save your configuration to close the dialog, or use the cancel button in order to discard your changes.

Once an intermediate event is integrated into the corresponding process diagram, it becomes visible in the process flow. Subsequently, the publication date and time for the intermediate event and the configured timing will be displayed to you.

When the release time is reached, the intermediate timer event is marked as done, and the date and time of release are displayed.

The screenshot shows the intermediate event within the process flow with the date and time at which it was released.

Warning

When selecting an intermediate time event in the process flow of a process diagram, only the name and description of the event are displayed in the form.

After the diagram has been published, the case will only continue when the intermediate event is reached and the configured time is triggered. If you are in a different stage, the case will resume immediately. This also applies for incorrectly or not configured times and for times configured in the past.

Note

If the configured time is triggered while the servers are down, the case will only resume once the servers are restarted.

Hint

If an active case is aborted, all timers will be stopped.

ISO8601 format:

An ISO8601 format is a string of fields that specifies the time span of a time interval and is represented by the format P(n)Y(n)M(n)DT(n)H(n)M(n)S. The capital letters P, Y, M, W, D, T, H, M and S are identifiers for each of the date and time elements and are not replaced but can be omitted.

P : is the duration designator (for period) at the beginning of the duration representation.

Y : is the year designator that follows the value for the number of years.

M : is the month designator that follows the value for the number of months.

W : is the week designator that follows the value for the number of weeks.

D : is the day designator that follows the value for the number of days.

T : is the time designator that precedes the time components of the representation.

H : is the hour designator that follows the value for the number of hours.

M : is the minute designator that follows the value for the number of minutes.

S : is the seconds designator that follows the value for the number of seconds.

Examples:

PT15S - 15 seconds

P14DT1H30M - 14 days, 1 hour and 30 minutes

P3Y6M4DT12H30M5S - 3 years, 6 months, 4 days, 12 hours, 30 minutes and 5 seconds

Note

Please note that the n is replaced by the value for each of the date and time elements that follow the n.

The fields define the time units in order:

<year> <month> <day> <hour> <minute> <seconds> <milliseconds>.

Each field can contain one or a combination of the permitted values and/or characters.

Representation according to ISO 8601

Value range

Year (Y)

YYYY, four digits, shortened to two digits

Month (M)

MM, 01 to 12

Week (W)

WW, 01 to 53

day (T)

T, day of the week, 1 to 7

Hour (h)

hh, 00 to 23, 24:00:00 as end time

minute (m)

mm, 00 to 59

second (s)

ss, 00 to 59

Decimal fraction (f)

Fractions of a second, any accuracy

How can I start subprocesses from a process?

If you like to call another process from within a case, you can use call activities. This enables you to start arbitrarily many new subordinated cases. If you want to call a process in BIC Process Execution it needs to be marked as executable as well. If the called process is not marked as executable, the task will be handled as a normal user task and needs to be done manually.

Here you can find an explanation of how you can work with a call activity.

Model an activity in your diagram and set its process type to call activity. You will find the attribute in the attribute group Typing.

The screenshot shows the attribute "process type" of an activity with the chosen option "call activity".

You choose between two different types of call activities. Synchronous call activities will be executed instantly and stop the main case. The process variables will be handed over to the sub case. After the completion of the sub case the process variables will be handed back to the main case. If the ProcessApp Administrator manually completes the synchronous call activity, nothing will change in the existing subcase, and it can continue to be processed.

Asynchronous call activities are also started immediately but will not pause the main case. The process variables will also be handed over to the sub case at the start but they will not be handed back at the completion of the sub case. Furthermore, one can continue their work on the main case before the sub case is completed. If the main case is archived, nothing will change in the existing subcase, and it can continue to be processed.

Open the context menu of your call activity with a right click on it. Select Open Call activity settings.

The screenshot shows the settings of a call activity.

Here you can choose whether your call activity shall be synchronous or asynchronous.

Maintain the attribute Subprocess of the call activity with the desired process to link it. The following example shows the attribute of the call activity “Produce special order” which is part of an order process. The subprocess diagram “Custom-made product” is an executable BPMN diagram.

The screenshot shows the details section with the attribute "subprocess" of a call activity.

If the order process is executed in BIC Process Execution, a new case for the called process will be started automatically as soon as the task of the call activity is started. The case is named after the call activity plus “- name of the main case”. In the example the call activity “Produce special order” of the the main case “Order 2503” triggered the creation of a new case of the process “Custom-made product”.

Main case “Order 2503”:

The main case containing the call activity task is displayed here.

Sub case (new case of the process “Custom-made product”):

The sub case of the call activity task is displayed here.

Max Mustermann is responsible for the tasks of the sub case because he is the default assignee of the corresponding role.

How can I provide documents as input for my subprocess?

When dealing with a call activity task, if you model an input document for this call activity, the uploaded document becomes available for this input in the subprocess. Provided you have an input document in a subprocess. If the identifier of this document matches that of the input document for the corresponding call activity in the main process, the input document is available in the subprocess.

Hint

Several input documents can be modeled, all of which are available in the subprocess. In each case, the last uploaded document is used as the one that serves as input.

In both cases, whether within the same case or if the input comes from a parent case, the subprocess can either not overwrite the input or override it. This also applies if the subprocess decides to override the input or if parallel paths cause both an override and no override.

How can I integrate an application into a task’s form?

Application objects that you have modeled in BIC Process Design can also be integrated into BIC Process Execution. They are available to the users within the process flow. In order to be able to integrate an application object, it must have a connection to one activity object in your diagram in BIC Process Design.

This is an example diagram in which an application object is connected to an activity object.

Within the details of the application object you can link the application of your choice to make it accessible in BIC Process Execution. To do so use the attribute Integration link within the section Automation. Analogous to the attribute Attachment (URL) you can add links or alternatively upload documents.

On the screenshot that is shown here the attribute "Integration link" within the details of an application object is displayed.

When adding a link to one of your applications you can also integrate process variables if you know that these will be defined before the respective task has been reached. To do so add the respecting variable name in two curly brackets at the appropriate place in the path. Here you can see an example how such a path could look like:

mailto://{{emailRecipient}}?subject={{emailSubject}}&cc={{emailRecipientCC}}&body={{emailText}}

In this example, the process variables are “emailRecipient”, “emailSubject”, “emailRecipientCC” and “emailText”.

If you have defined your attribute and your diagram fulfills all requirements to be displayed in BIC Process Execution, the application will be displayed under the section Applications within the form of the task. If a title is available for the link, it will be displayed below the application name. Otherwise the URL will be displayed. You can access the application via the Integration Link.

This screenshot illustrated the section "Applications" within an automated form of a task. In this section a selectable integration link is visible.

Also multiple links can be integrated into an application. If so a context menu that contains all the links will be shown after the Integration Link has been selected. You can then open the desired with a click on the corresponding link.

The context menu of an application including multiple integration links is displayed here.

Formulas

Formulas can be used for different purposes. For example, you can use them in the form editor to calculate values. You can use them as well to make your forms more dynamic.

In this chapter you will find an overview of all existing formulas and how to use them correctly. At the end of this chapter, you will find a few examples of what you can calculate with these formulas. Additionally, you will find an example which explains how you can make your form dynamic.

The most formulas you can use in Microsoft Office Excel are supported and work the same as in Excel. It is also possible to write formulas with simple JavaScript syntax. E.g. 2+6 would also be a valid formula and return 8.

Some formulas use parameters. Of course, you can use existing process variables. If you want to use already existing process variables, you need to enclose them in two curly brackets (e.g. {{VariableName}}).

If you use dates or strings as a data type for parameters, you need to enclose them in single quotation marks (e.g. LEN('example')).

Tip

Formulas can be nested within each other. That means you can use a formula as an input parameter for another formula.

Which formulas exist?

Note

This section is currently under revision and therefore not complete. A complete overview of all usable formulas can be found in the documentation of FormulaJS.

The formulas can be separated into six different categories:

Date formulas

When you use date formulas, you will often need parameters in the datetime format.

The data type datetime can be written in different formats. If you are not using predefined process variables, you need to make sure to use the correct form. A datetime without time looks like the following: 'month/day/year' e.g. '06/14/2021' for June 14, 2021. Alternatively, you can use 'day-month-year' e.g. '14-Jun-2021'. Note that it is important to abbreviate the month according to the table below. If you want to use a timestamp as well, you need to use one of the formatting options above and append 'hh:mm:ss AM/PM'. The use of seconds is optional. E.g. '06/14/2021 10:47:32 AM' would represent 10:47 AM on June 14 2021.

Abbreviations for months:

Month

January

February

March

April

May

June

July

August

September

October

November

December

Abbreviation

Jan

Feb

Mar

Apr

May

Jun

Jul

Aug

Sep

Oct

Nov

Dec

Extract data from dates

There are various date formulas with which you can extract specific data out of a date.

  • YEAR({{datetime}}) returns the year of a datetime value in the range of 1900-9999.

  • MONTH({{datetime}}) returns the month of a datetime value in the range of 1-12.

  • WEEKNUM({{datetime}},[{{mode}}]) returns the week number of a datetime value in the range of 1-53. The parameter mode defines if the week starts on Sundays ( mode = 1) or if the week starts on Mondays ( mode = 2). If you do not use the parameter, the standard value is mode = 1.

  • ISOWEEKNUM({{datetime}}) returns the week number of a datetime value. The first week in the year is the week which has the first Thursday in it.

  • WEEKDAY({{datetime}}, [{{mode}}]) returns the number of the day of a datetime value in the range of 1-7. The parameter mode behaves equivalent to the one in the formula WEEKNUM.

  • DAY({{datetime}}) returns the day of a datetime value in the range of 1-31.

  • HOUR({{datetime}}) returns the hour of a datetime value in the range of 0-23.

  • MINUTE({{datetime}}) returns the minute of a datetime value in the range of 0-59.

  • SECOND({{datetime}}) returns the second of a datetime value in the range of 0-59.

Calculate time spans

The following table shows you the different modes and which parts of the week belong to the weekend.

<mode>

Weekend

<mode>

Weekend

1

Saturday and Sunday

11

only Sunday

2

Sunday and Monday

12

only Monday

3

Monday and Tuesday

13

only Tuesday

4

Tuesday and Wednesday

14

only Wednesday

5

Wednesday and Thursday

15

only Thursday

6

Thursday and Friday

16

only Friday

7

Friday and Saturday

17

only Saturday

With the following formulas you can measure the time span between two dates.

  • DAYS({{enddate}}, {{startdate}}) returns the difference in days between a start date and an end date. You can find a concrete example here.

  • WORKDAY({{date}}, {{k}}) returns the k-th next workday starting at date. Workdays are all days in a week except Saturday and Sunday.

  • WORKDAYINTL({{date}}, {{k}}, {{mode}}) returns the k-th next workday from date. mode defines which part of the week belongs to the weekend. Above you can find a table with an overview of all available weekend definitions.

  • NETWORKDAYS({{startdate}}, {{enddate}}, [{{listOfHolidays}}]) returns the number of work days (Monday-Friday) between two dates. Optionally, you have the possibility of adding holidays. They will also be excluded from counting. A more specific example can be found here.

  • NETWORKDAYSINTL({{startdate}}, {{enddate}}, {{mode}}, [{{listOfHolidays}}] returns the number of workdays between two dates. mode defines which part of the week belongs to the weekend. Above you can find a table with an overview of all available weekend definitions.

  • DAYS360({{start}}, {{end}}, {{method}}) returns the difference in days between a start and an end date. This formula assumes that a year has 360 days, therefore every month has 30 days. With the parameter method you can define if you want to calculate the difference with the US-american method ( method = FALSE() ) or with the european method (method = TRUE()). For example DAYS360('12/1/2021','1/1/2022',TRUE()) would return 30 days. The difference between the two methods is explained below:
    • European method: If the start or end date falls on the 31st of a month, the formula will calculate with the 30th day of the month instead.

    • US-american method: If the start date falls on the 31st of a month, the formula will calculate with the 30th instead. If the end date falls on the 31st of a month it depends on the start date what the formula will calculate. If the start date is earlier than the 30th of a month, the end date will be set to the 1st day of the following month. Otherwise, the end date will be set on the 30th.

  • YEARFRAC({{start}}, {{end}}, {{mode}}) returns the time span between two dates as a number. With the parameter mode you got five different options to calculate the difference.
    • mode = 0: The difference will be calculated with the 30-day month US-American definition (see formula DAYS360) and divided by 360.

    • mode = 1: The actual difference in days will be divided by the actual number of days in the year.

    • mode = 2: The actual difference in days will be divided by 360.

    • mode = 3: The actual difference in days will be divided by 365.

    • mode = 4: The difference will be calculated with the 30-day month european definition (see formula DAYS360) and divided by 360.

  • DATEDIF({{startdate}}, {{enddate}}, {{unit}}) returns the difference between two dates in a specified unit. You can choose between the following units:
    • Y: Difference of fully completed years.

    • M: Difference of fully completed months.

    • D: Difference of days.

    • MD: Difference of days; months and years are being ignored.

    • YM: Difference of months; days and years are being ignored.

    • YD: Difference of days; years are being ignored.

Current date

You can use the following formulas to get the current date.

  • TODAY() returns the current date in the datetime format.

  • NOW() returns the current date, including the current time in the datetime format.

Convert into datetime format

With the following formulas you can convert dates or other data types into the datetime format.

  • DATE({{year}}, {{month}}, {{day}}) lets you create a variable in the datetime format.

  • TIME({{hour}}, {{minute}}, {{second}}) returns a time span as floating point number in days. Therefore 24 hours correspond to the value 1, 12 hours to the value 0.5, etc…

  • DATEVALUE({{string}}) converts a string, if possible, into a valid datetime format.

  • TIMEVALUE({{string}}) converts a string, if possible, into a time span as floating point number (see TIME).

Adding timespans

  • EDATE({{start}}, {{k}}) will add k months to start and return the result. k can be negative to calculate dates in the past. E.g. EDATE('2/5/2021',3) will return the 5th May 2021.

  • EOMONTH({{start}}, {{k}}) will add k months to start and return the end of the corresponding month. k can be negative or zero. E.g. EDATE('2/1/2021',3) will return the 31st May 2021.

Logic formulas

Logic formulas can be used for evaluating logical expressions.

Note

Logical expressions are always TRUE or FALSE.

  • TRUE() returns the logic value TRUE.

  • FALSE() returns the logic value FALSE.

Logic gates

  • AND({{log_a}}, {{log_b}}, ...) returns TRUE if all expressions are TRUE. Returns FALSE otherwise.

  • OR({{log_a}}, {{log_b}}, ...) returns TRUE if at least one expression is TRUE. Returns FALSE otherwise.

  • XOR({{log_a}}, {{log_b}}, ...) returns TRUE if exactly one expression is TRUE. Returns FALSE otherwise.

  • NOT({{log_a}}) negates the parameter. TRUE becomes FALSE, FALSE becomes TRUE.

Conditional expressions

  • IF({{cond}}, {{value1}}, {{value2}}) returns depending on the condition a different value. If cond evaluates to TRUE, value1 will be returned, otherwise value2 will be returned.

  • IFS({{cond1}}, {{value1}}, {{cond2}}, {{value2}}, ...) allows the possibility of multiple evaluations. It will be checked if one of the conditions evaluates to TRUE, the corresponding value will be returned. If a condition is FALSE the next condition will be checked until a condition which is TRUE is found. But only the first condition that evaluates to TRUE will return a value. IFS(TRUE, 2, TRUE, 5) returns 2.

  • SWITCH({{value}}, {{check_1}}, {{return_1}}, {{check_2}}, {{return_2}}) compares the parameter value with check_1, check_2, etc. until a match is found. The formula returns the corresponding return value then. E.g. SWITCH(7,9,'nine',7,'seven') would return seven.

  • IFERROR({{formula}}, {{expression}}) evaluates the inner formula formula and returns their return value. If the formula returns an error, expression will be returned. E.g. IFERROR(8/2,'Error') would return 4 but IFERROR(8/0,'Error') would return Error. Of course it is possible to nest any other formula into this formula.

String formulas

If your formula needs a parameter of the type string, then it needs to be enclosed by single quotation marks, e.g. LEN('Example'). Alternatively, you can use pre-defined process variables. You can find an explanation for that here.

String extraction

With the following formulas you can extract strings or specific information out of a string.

  • RIGHT({{string}}, {{num}}) returns the num right characters of string. E.g. RIGHT('Profit margin',6) would return margin.

  • LEFT({{string}}, {{num}}) returns the num left characters of string.

  • MID({{string}}, {{startPos}}, {{num}}) returns a part of string. Starting at startPos, num characters will be returned. E.g. MID('Pete drives his car', 6, 6) returns drives.

  • LEN({{string}}) returns the number of characters in string.

  • REPT({{string}}, {{num}}) repeats string num-times. E.g. REPT('x',5) returns xxxxx.

  • SEARCH({{searchTerm}}, {{string}}) searches in string for searchTerm and returns at which character index the searched string starts. E.g. SEARCH('margin', 'Profit Margin') would return 8. If the string cannot be found, the formula will return an error.

  • FIND({{searchTerm}}, {{string}}, [{{startPos}}]) searches in a string string for a search term searchTerm and returns the first occurrence of it. startPos allows you to let the search start at a different character. E.g.: FIND('i','Pete drives his car',10) would return 14. If you do not use the parameter startPos the formula starts searching at the first character.

  • REGEXEXTRACT({{string}}, {{expression}}) searches in string for the regular expression expression and returns the index of the first occurrence.

String manipulation

With the following formulas, you can manipulate a string.

  • LOWER({{string}}) converts string into lowercase letters.

  • UPPER({{string}}) converts string into uppercase letters.

  • PROPER({{string}}) converts the first character of string into an uppercase letter and the following characters into lowercase letters. E.g. PROPER('bicYCle') returns Bicycle.

  • TRIM({{string}}) deletes multiple spaces in string.

  • CLEAN({{string}}) returns string without non-printable characters.

  • CONCATENATE({{string1}}, {{string2}}, ...) concatenates two or more strings into one string. E.g. CONCATENATE('John', ' ', 'Doe') returns John Doe.

  • REPLACE({{string}}, {{pos}}, {{num}}, {{replace}}) replaces a character in a string with another character. Starting with the character at the position pos, num characters are replaced by the string replace. E.g. REPLACE('abcdefghijk', 6, 5, '*') will return abcde*k

  • SUBSTITUTE({{string}}, {{old}}, {{new}}, [{{pos}}]) substitutes in string the character old by new. If you do not want to replace all occurrences of old, you need to add the parameter pos. This will define which character gets replaced. E.g. SUBSTITUTE('Q1-2011', '1', '2') would replace all 1’s by 2’s therefore returning Q2-2022, but SUBSTITUTE('Q1-2011', '1', '2', 1) would only replace the first occurrence of 1 therefore returning Q2-2011.

  • SPLIT({{string}}, {{delimiter}}) will split string at every position where delimiter is. Returns the results as a list. E.g. SPLIT('Peter&Max&Antonia', '&') will return [‘Peter’, ‘Max’, ‘Antonia’].

String comparison

With the following formula, you are able to check whether two strings are the same or not.

  • EXACT({{string1}},{{string2}}) checks if two strings are the same. This function is case-sensitive. It will return TRUE if the strings are the same, otherwise it will return FALSE.

  • REGEXMATCH({{string}}, {{expression}}) checks whether the regular expression expression is in string or not. It will return TRUE if the regular expression matches at least once and will return FALSE otherwise.

  • T({{var}}) checks if var is a string. If var is a string, it will be returned, otherwise an empty string will be returned.

Convert strings

With the following formulas, you can convert numbers into strings and vice versa. These formulas use the unicode standard.

  • UNICHAR({{number}}) formats a value and converts it into a string.

  • UNICODE({{character}}) formats a string and converts it to a number.

  • ARABIC({{string}}) converts a roman number string into the Arabic number system. E.g. ARABIC('XVI') would return 16.

  • ROMAN({{number}}) converts an Arabic decimal number number into the roman number system. E.g. ROMAN(16) would return XVI.

Math formulas

Round numbers

With the following formulas you can round numeric values.

  • ROUND({{number}}, {{n}}) rounds number to n decimal places.

  • ROUNDDOWN({{number}}, {{n}}) rounds number down to n decimal places.

  • ROUNDUP({{number}}, {{n}}) rounds number up to n decimal places.

  • INT({{number}}) rounds a number down to the next integer.

  • FLOOR({{number}}, {{i}}) rounds number down to the nearest multiple of i (E.g. FLOOR(3.1415,2) will return 2)

  • FLOORMATH({{number}}, {{i}}, {{mode}}) rounds number down to the nearest multiple of i. mode decides whether you want to round away or towards zero. mode = 0 rounds away from zero FLOORMATH(-12.1,1,0) returns -13. mode = 1 rounds towards zero FLOORMATH(-12.1,1,-1) returns -12.

  • CEILING({{number}}, {{i}}) rounds number up to the nearest multiple of i (e.g. CEILING(3.1415,3) returns 6).

  • CEILINGMATH({{number}}, {{i}}, {{mode}}) rounds number up to the nearest multiple of i. mode decides whether you want to round away or towards zero. mode = 1 rounds away from zero CEILINGMATH(-4.1,1,1) returns -5. mode = 0 rounds towards zero CEILINGMATH(-4.1,1,1) returns -4.

  • TRUNC({{number}}, {{n}}) truncates a number to an integer by removing the decimal.

  • ODD({{number}}) rounds number up to the nearest odd number.

  • EVEN({{number}}) rounds number up to the nearest even number.

  • SIGN({{number}}) determines the sign of a number. Returns 1 if the number is positive. Returns -1 if the number is negative and returns 0 if the number is 0.

Arithmetic operations

  • QUOTIENT({{dividend}},{{divisor}}) performs division and returns only the integer portion of the division result. Use this function when you want to discard the remainder of the division.

  • MOD({{dividend}}, {{divisor}}) returns the remainder after a number is divided by a divisor.

  • POWER({{number}},{{power}}) returns the result of number to the power of power.

  • FACT({{number}}) returns the factorial of number.

  • ABS({{number}}) returns the absolute value of number.

  • SQRT({{number}}) returns the square root of number.

  • SQRTPI({{number}}) returns the square root of {{number}} * Pi.

  • MAX({{num1}},{{num2}},...) returns the largest number value of the parameters. Logical values and text are being ignored.

  • MAXA({{num1}}, {{num2}},...) returns the largest number value of the parameters. Logical values and text are not being ignored.

  • MIN({{num1}},{{num2}},...) returns the smallest number value of the parameters. Logical values and text are being ignored.

  • MINA({{num1}}, {{num2}},...) returns the smallest number value of the parameters. Logical values and text are not being ignored.

  • SUM({{num1}},{{num2}},...) returns the sum of all parameters.

  • SUMIF({{range}}, {{criterion}}, {{[sum_range]}}) returns the sum of numbers in a list that meet a specific criterion. The criterion is applied to the list range. If that is not the list that should be summed up, the parameter sum_range must be used.

  • SUMPRODUCT({{list1}}, {{list2}}) returns the sum of the products of the lists.

  • SUMSQ({{num1}}, {{num2}} …) returns the sum of the squares of the numbers.

  • SUMX2PY2({{list1}}, {{list2}}) returns the sum of the sum of squares of corresponding values in two list.

  • SUMXMY2({{list1}}, {{list2}}) returns the sum of squares of differences of corresponding values in two arrays.

  • PRODUCT({{num1}},{{num2}},...) returns the product of all parameters.

  • LCM({{num1}}, {{num2}}, ...) returns the least common multiple of all parameters.

  • GCD({{num1}}, {{num2}}, ...) returns the greatest common divisor of all parameters.

Information functions

  • ISEVEN({{number}}) returns TRUE when number is even. Otherwise it will return false.

  • ISODD({{number}}) returns TRUE when number is odd. Otherwise it will return false.

Trigonometric functions

  • RADIANS({{number}}) converts degrees into radians. E.g.: RADIANS(180) returns 3.14159.

  • SIN({{number}}) returns the sine of number.

  • SINH({{number}}) returns the hyperbolic sine of number.

  • COS({{number}}) returns the cosine of number.

  • COSH({{number}}) returns the hyperbolic cosine of number.

  • COT({{number}}) returns the cotangent of number.

  • COTH({{number}}) returns the hyperbolic cotangent of number.

  • CSC({{number}}) returns the cosecant of number.

  • CSCH({{number}}) returns the hyperbolic cosecant of number.

  • SEC({{number}}) returns the secant of number.

  • SECH({{number}}) returns the hyperbolic secant of number.

  • TAN({{number}}) returns the tangent of number.

  • TANH({{number}}) returns the hyperbolic tangent of number.

  • ASIN({{number}}) returns the inverse sine of number.

  • ASINH({{number}}) returns the inverse hyperbolic sine of number.

  • ACOS({{number}}) returns the inverse cosine of number.

  • ACOSH({{number}}) returns the inverse hyperbolic cosine of number.

  • ACOT({{number}}) returns the inverse cotangent of number.

  • ACOTH({{number}}) returns the inverse hyperbolic cotangent of number.

  • ATAN({{number}}) returns the inverse tangent of number.

  • ATANH({{number}}) returns the inverse hyperbolic tangent of number.

Logarithm functions

  • LN({{number}}) returns the natural logarithm of number.

  • LOG({{number}}, {{base}}) returns the logarithm of number to the base. If the parameter base is not given, the standard value will be 10.

  • LOG10({{number}}) returns the logarithm of number to the base 10.

Random numbers

  • RAND() returns a random decimal number between 0 and 1.

  • RANDBETWEEN({{num1}},{{num2}}) returns a random integer between num1 and num2.

Finance formulas

In the finance formulas, some variables will be used regularly.

Variable

Meaning

nper

describes the number of periods

npery

describes the number of periods per year

PV

describes the present / current value of an investment

FV

describes the future value of an investment

type

describes, whether a payment is due at the end of the payment (type = 0) or at the beginning of the payment (type = 1)

per

describes the period you want to inspect. The value can only be between 1 and {{nper}}

pmt

describes the payment made each period

Other variables will be explained with the formula.

  • ACCRINT({{issue}}, {{first_interest}}, {{settlement}}, {{rate}}, {{par}}, {{frequency}}, {{[basis]}}, {{[calc_method]}}) returns the accrued interest for a security that pays periodic interest. Issue is the security’s issue date. Settlement is the date after the issue date when the security is traded to the buyer. Frequency describes the number of payments in a year.

  • CUMPINT({{rate}}, {{nper}}, {{pv}}, {{start_period}}, {{end_period}}, {{type}}) returns the cumulative interest paid on a loan between start_period and end_period.

  • CUMPRINC({{rate}}, {{nper}}, {{pv}}, {{start_period}}, {{end_period}}, {{type}}) returns the cumulative principal paid on a loan between two dates.

  • DB({{cost}}, {{salvage}}, {{life}}, {{period}}, {{[month]}}) returns the depreciation of an asset using the fixed-declining balance method. cost describes the initial cost of the asset. Period describes the periode for which you want to calculate the depreciation. It must have the same unit as the variable Life.

  • DDB({{cost}}, {{salvage}}, {{life}}, {{period}}, {{[factor]}}) returns the depreciation using the double-declining balance method. The needed variables are the same as in the formula DB.

  • DOLLARDE({{fractional_Dollar}}, {{fraction}}) converts a number expressed as an integer part and a fraction part into a decimal number, e.g DOLLARDE(1.02,16) returns the value 1,125 (1 + 2/16).

  • DOLLARFR({{decimal_Dollar}}, {{fraction}}) converts a decimal number into a number that has an integer and a fraction part, e.g. DOLLARFR(1.125,16) returns 1,02.

  • EFFECT({{nominal_rate}}, {{npery}}) returns the effective annual interest rate.

  • FV({{rate}}, {{nper}}, {{pmt}}, {{[pv]}}, {{[type]}}) returns the future value of an investment.

  • FVSCHEDULE({{Principal}}, {{Schedule}}) returns the future value of an investment, where interest rates are not constant. The variable Schedule must be given in list form.

  • IPMT({{rate}}, {{per}}, {{nper}}, {{pv}}, {{[fv]}}, {{[type]}}) returns the interest payment for a given period.

  • IRR([{{value1}}, {{value2}}, ...], {{guess}}) returns the internal rate of return of an investment. guess is used to determine at which return rate the algorithm starts to calculate. The closer guess is to the real rate, the preciser is the value calculated by the formula. Normally, 0.1 (10%) is a good estimation for the IRR.

  • ISPMT({{rate}}, {{per}}, {{nper}}, {{pv}}) returns the interest over a specific time, with even interest rates and principal payments.

  • MIRR({{values}}, {{finance_rate}}, {{reinvest_rate}}) returns the modified internal rate of return for a series of periodic cash flows. values must be given in list form. finance_rate is the interest rate you pay on the money, reinvest_rate is the interest rate your receive from the cashflows as you reinvest them.

  • NOMINAL({{effect_rate}}, {{npery}}) returns the nominal annual interest rate.

  • NPER({{rate}}, {{pmt}}, {{pv}}, {{[fv]}}, {{[type]}}) returns the number of periods for an investment.

  • NPV({{rate}}, {{value1}}, {{value2}}, ...) returns the net present value of an investment by using the discount rate rate. value1, value2 … represent the corresponding cashflows.

  • PDURATION({{rate}}, {{presentValue}}, {{futureValue}}) returns the number of periods needed by an investment presentValue to reach futureValue. rate is the interest rate per period.

  • PMT({{rate}}, {{payments}}, {{presentValue}}) calculates the payment for a loan based on constant payments and a constant interest rate rate. payments denotes the number of payments. presentValue is the amount of the loan.

  • PPMT({{rate}}, {{per}}, {{nper}}, {{pv}}, {{[fv]}}, {{[type]}}) returns the payment on the principal for a given period.

  • PV({{rate}}, {{nper}}, {{pmt}}, {{[fv]}}, {{[type]}}) returns the present value of an investment.

  • RATE({{nper}}, {{pmt}}, {{pv}}, {{[fv]}}, {{[type]}}, {{[guess]}}) returns the interest rate per period of an annuity.

Conversion into different numeral systems

The formulas to convert numbers into different numeral systems are similar to each other: XXX2YYY. Here stands XXX for the original numeral system and YYY for the target numeral system. In the table below you can find the abbreviations and the usable numbers and characters of the different numeral systems. For example, BIN2DEC({{number}}) will convert number from the binary system into the decimal system.

Numeral system

Abbreviation

Usable characters

Binary

BIN

0-1

Decimal

DEC

0-9

Hexadecimal

HEX

0-F

Octal

OCT

0-7

Additionally, there are two more general formulas which you can use to convert numbers into different numeral systems.

  • BASE({{number}}, {{base}}) converts a decimal number into a number of a numeral system with the base.

  • DECIMAL({{string}}, {{base}}) converts a number of a different numeral system with the base base into the decimal system.

Therefore, the formula DECIMAL('101',2) and the formula BIN2DEC(101) have the same output.

Statistic formulas

Basics

  • AVERAGE({{num1}}, {{num2}}, ...) returns the arithmetic mean of all numeric parameters.

  • AVERAGEA({{num_1}}, {{num_2}}, …) returns the average of all variables. Logical values and texts are not ignored.

  • AVERAGEIF({{range}}, {{criteria}}, {{[average_range]}}) returns the average of the parameters that meet the given criterion. The parameter with the exception of the criterion must be given in form of a list.

  • AVERAGEIFS({{average_range}}, {{criteria_range1}}, {{criteria1}}, {{criteria_range2}}, {{criteria2}}, …) returns the average of the parameters that meet the given criteria. The parameter, with the exception of the criteria, must be given in form of lists.

  • MEDIAN({{num1}}, {{num2}}, ...) returns the median of all numeric parameters.

  • COUNT({{num1}}, {{num2}}, ...) returns the number of values.

  • COUNTIF({{range}}, {{criteria}}) returns the number of elements in a list, that meet a given criterion.

  • COUNTIFS({{criteria_range1}}, {{criteria1}}, {{criteria_range2}}, {{criteria2}}, …) returns the number of elements in a list, that meet the given criteria.

  • LARGE([{{num1}}, {{num2}}, ...],{{k}}) returns the k-th largest number. For example: LARGE([2,3,5],2) would return the second largest number 3.

  • SMALL([{{num1}}, {{num2}}, ...],{{k}}) returns the k-th smallest number.

Examples for formulas

How do I calculate a leap year?

If you like to calculate whether a year is a leap year, you cannot use a predefined formula. But you can easily create your own formula to do that. First, you need a number input field in your form. In this case, the variable is called year. In BIC Process Execution you can enter the year you would like to check in the number field.

Now use the following formula:

This screenshot shows the formula to calculate if a year is a leap year or notEXACT(MONTH(DATE({{year}},02,29)),2)

As you can see, the formula consists of multiple formulas nested in each other. First, you create with DATE({{year}},02,29) a valid variable in the datetime format. Depending on the year, the date will be March 1 (if the year is not a leap year) or February 29 (if the year is a leap year).

With using the formula MONTH, you will get the month of the corresponding date back as an integer. As already explained, the return value will be 2 (if the year is a leap year and therefore the month is February) or 3 (if the month is March).

Last but not least, we use the formula EXACT to check whether our result is 2 or not. If it is true and the year is a leap year, it will return TRUE, otherwise it will return FALSE.

In BIC Process Execution it will look like the following:

This screenshot shows the form editor and how it returns false

This screenshot shows the form editor and how it returns true

How do I calculate work days?

In the following we provide an example of how to use different formulas (e.g. how to calculate the number of work days between two dates).

In this example, you want to carry out a project and want to calculate how many work hours the company can offer in a given time.

This example is deliberately kept simple and does not reflect all relevant activities and aspects. It is just to give you an overview of what you can accomplish with formulas.

First you could use form fields to enter some key aspects of our project. Alternatively, you can get the data from other processes as well. This example considers only the start and end date of the project, the number of participating employees and their average working hours related to the project.

This screenshot shows our form fields to input data needed for our calculation

The start and end date fields are date fields. The fields to input the number of employees and their average work hours are number fields. The IDs of the corresponding form fields in this example are:

  • start date: start

  • end date: end

  • number of employees: people

  • number of working hours: hours

With these values, it is now possible to calculate the following variables.

This screenshot shows the formulas used in our example to calculate our data

The first formula calculates the number of workdays (the variable ID will be workDays) between the start and the end date. Here you can find the details of the formula NETWORKDAYS.

Secondly the calculation of available work power per day happens (variable: workPower). To do this, we simply multiply the number of employees times their average work hours per day.

Finally, the total project capacity is calculated, for this purpose the number of working days is multiplied by the manpower available per day.

If you now open your process in BIC Process Execution, it will look like the following. The three calculated values will refresh automatically as soon as you input new values.

This screenshot shows our user form in BIC Process Execution

Create dynamic forms

With formulas you can also create dynamic forms i.e. the attributes of form fields can be manipulated by user input. In the following example a process to sell car insurance is used. Our form in the form editor looks like the following:

This screenshot shows the form editor with the input fields that make up our form.

The name of a legal guardian or parent will only be needed if the person to be insured is younger than 21. For this we use the attribute Hidden and choose the option Conditionally. Here we can enter a condition or formula under which circumstances the field should be hidden. In this example, it will be the case if the variable age is bigger or equal to 21. If the person is younger than 21, the field will be mandatory.

This screenshot shows the details of the form field "legal guardian".

Another option to make your form dynamically is by using the attribute read-only. In the following you see a form field of the type boolean, which is used to indicate whether the insurance includes fully comprehensive or not. As you can see, the field is read-only (And therefore not changeable) if the person is younger than 25 i.e. you can only choose fully comprehensive cover if the person to be insured is older than 25.

This screenshot shows the details of the form field "comprehensive cover".

In BIC Process Execution it is possible to start this case and see the form. In the following you can see that the field comprehensive cover is not changeable because the person is younger than 25. But due to the fact that the person is older than 21, you cannot insert the name of a parent or legal guardian.

This screenshot shows the form in BIC Process Execution.

Tasks

BIC Process Execution offers you a variety of functions that you can use to manage the tasks, which result from your processes. When using these functions, the following questions may arise.

Where do I see my tasks?

Switch to the Tasks section via the menu.

The entry "Tasks" in the menu is shown here.

On the right side of the menu entry you can already see how many of your tasks are still open. As soon as you select the menu entry you will be directed to the area My tasks.

The "My tasks" list is displayed here.

In the main area you will see all tasks, which have been assigned to you. Under the name of each task you can see the name of the corresponding case. The second line of each entry shows the start date of the case, the state and the due date of the task if the latter has been defined in BIC Process Design. If the state of a task changes, the entry will be updated. An explanation of the different states can be found at the next question.

You can filter your task list by ProcessApps on the right side of the main area. If you select the facet ProcessApps, the filtering options will be displayed. As soon as you select an application, only the respective tasks are shown in the task list.

The screenshot shows the ProcessApps filter options.

Additionally, you can filter your tasks on the right side of the main area using predefined date range options. If you select the facet Due Date, the different date range options will be displayed. Once you select a predefined date range, your task list will be updated. You will only see the tasks that are due within the chosen time frame.

The Screenshot shows the filter option by due date.

The chip of a task is based on the icon of the underlying ProcessApp. You can directly navigate to the case list of the ProcessApp by a click on the chip.

The screenshot explains the navigation options in the tasks list: select the ProcessApp icon (top) to navigate or the task entry (bottom).

A click on the list entry itself leads you to a popup window of the task. Alternatively, you can select Navigate to case flow to see the full case flow view.

An optically highlighted and selected task is shown in a case, after the task has been selected within the "My tasks" area.

Your personal task list contains all started tasks, which have been assigned to you during a case creation process. In addition this list also contains tasks that have been delegated to you or group tasks which you have claimed. If you created a case and did not specify a responsible for a role, the corresponding tasks will appear in your task list (one by one) as soon as they are started. Moreover, if you created a case which includes a task without a responsible role, this task will be delegated to you as soon as it is started. This also applies to failed script tasks.

Personal tasks are part of your list until they have been completed.

Your task list may contain tasks which demand manual decisions. Such tasks are created by the system if a gateway has not been modeled with an automation. Decision tasks are assigned to the case owner.

Note

If you are working on your task list and the state of a task has been changed, it will be displayed in your task list automatically.

How can I sort the task list?

When you view a list of tasks, you have the option to sort the tasks by a specific column. To do this, click on the heading of a column.

The screenshot shows the sorting option for the task list.

If no sorting was applied before, the tasks will be sorted in ascending order based on the selected column. At the same time, you are scrolled to the top of the task list.

If you have already sorted by a column and the tasks are displayed in ascending order, you can change the sorting direction by clicking on the same column heading again. This will reverse the sorting, and you will be taken back to the top of the task list.

Hint

Please note that when entering the task list, tasks are sorted by default according to their creation date in ascending order. This serves as the starting point if no specific column sorting has been selected.

Note

Sorting is done for one column at a time.

How can I perform a full-text search for task names in my task list of a ProcessApp?

In the task list of a ProcessApp, while the filter panel is open, an input field is available at the top right to perform a full-text search in the Enter term to filter task list name field.

If you perform a full-text search for the Task name field, the list of tasks will be updated and you will see all the results of this search. If there are no search results, you will receive a notification that there are no results in the content area for your search. In the full-text search, you also have the option of using both ‘a AND b’ and ‘a OR b’ to display all results that contain either ‘a’ and/or ‘b’.

Note

If you have applied a filter, the search will take into account the search term and all selected filter options.

Note

If you reset the search, you will again receive results that correspond to the previously selected filter options.

What is the state of my task?

In your personal task list, each task has the entry State. This state gives you one of the following information:

The screenshot shows tasks in the task list which have different states.

  • Open: This task has been started and you have to work on it or delegate it to another user.

  • In progess: This task has been started and you have started to work on its form fields. But the task has not been completed yet.

  • Done: If the task has been completed by you or another user, the task name is displayed crossed out. The completed task will disappear from the list as soon as you leave the personal task area.

  • Overdue: The task has an exceeded due date. The urgency is emphasized in red color.

If you are currently in your personal task area and the state of a task changes, this change is automatically displayed to you. This means you will always have a good overview on which tasks you have to work on.

In case that an error occurs at your task, the entry will be marked by a red error mark on the right side. Next to this error icon, you can navigate to the corresponding case where you receive further information about the error (if available).

The screenshot shows a task with an error.

However, if a new task is started for you or if an existing task is delegated to you, you will see that task at the top of the task list.

Hint

If you are in the popup window of your task and someone else completes the task, the Complete Button will be disabled and you will receive a tooltip about the completion of the task.

When is my task due?

The due date of a task is shown in the task list. If the date has been exceeded, the state becomes overdue.

The screenshot shows the task list with a due date that is exceeded.

Moreover, you can see the due date in the case flow view.

The screenshot shows the case flow with a due date that is in the future.

If your task is overdue the due date will be shown in red.

The screenshot shows the case flow of a task that is overdue. Therefore the due date is marked red.

Note

If you want your tasks to have a due date, you have to model it in BIC Process Design first. An explanation of how to do this can be found here.

How am I notified about my tasks?

BIC Process Execution informs you about currently upcoming tasks by e-mail. The notification rhythm described in the following includes your personal tasks as well as open group tasks if you are a member of the group and no member has claimed the respective task yet.

You receive an e-mail at the start of the week which informs you about tasks that are Overdue, Due today, Upcoming and New tasks. Upcoming hereby indicates the tasks that are due within the current week. There is also a link to BIC Process Execution in the e-mail, which takes you directly to the corresponding tasks.

Furthermore, you receive an e-mail on the other workdays, which informs you about tasks that are Overdue, Due today or New tasks. Tasks, which are longer overdue than others will be presented at the top of the list.

At the weekend you will not receive any task reminder e-mails. But the e-mail on friday also lists all tasks that are due on the weekend or monday.

If you receive a reminder email regarding the due date or a new task on Monday, no information about Friday and Saturday is received in the default configuration.

Hint

In order to receive daily reminders also on weekends, an update of the default configuration is required. This means that on Saturday and Sunday the reminders of the previous days (Friday and Saturday respectively) can be received.

If a new task is assigned to you that is already overdue or due in the next 24 hours, you will be notified by e-mail instantly.

Where can I find my group tasks?

Navigate to the area Tasks via the menu. You will get access to all your group tasks over the register card My groups.

The screenshot displays the register card "My groups".

This area lists all started tasks, which have been assigned to user groups you are part of. Under the name of each task you can see the name of the corresponding case, when it was created and the due date of the task. The due date is empty if the corresponding attribute has not been maintained in BIC Process Design. In case there is a chip with initials on the right side of the entry, the task has already been claimed by a user.

The screenshot displays the area "My groups".

Once one of these tasks has been completed successfully by one of the users, it will disappear from the personal task area of all users involved.

How can I claim a group task?

If you want to claim a group task first navigate to the group tasks list or to the relevant case. Both views give the information whether the task has already been claimed. If some group member claimed the task, this user is assigned as the responsible in the task form in the case flow view. The corresponding entry in the group task list also shows the initials of this user.

A group task, which has already been claimed by a user, is displayed here.

Tasks which can be claimed have a context menu on the right side of the entry instead.

A group task, which has been started and therefore has the context menu to claim the task, is displayed here.

With a click on the context menu you can select the option Claim task. As soon as you have claimed a task your initials will be displayed at the entry and the context menu disappears. From that point on you will find this task also in your personal list of tasks.

If your group task has not been claimed yet, you will also find the button Claim task in the tasks’ form when you view the process flow of the corresponding case. By clicking this button, you can directly claim the task in the case.

The screenshot shows a task in a case, which has been assigned to your group. The task has been started, thus there is a button to claim the task in its form.

If you complete the group task and another task for this group is started in the same case, this task is assigned to you automatically. You do not have claim it manually. Note that this is only the case for tasks arising from the same role. Consider the following example: In a case, the group “Team Development” is responsible for the roles “Software developer” and “Software tester”. As a member of this group, you have claimed and completed the first group task which was defined for the role “Software developer”. If another group task of the case is started and this role is responsible for it, this task is assigned to you automatically. But if a task with the responsibility “Software tester” is started in the case, this task has to be claimed by a group member - unless a user has completed a previous task as software tester and thus will be assigned here as well.

Note

If you claim a group task, delegate it to a user afterwards and the user completes the task, the next task of this group in the case will be assigned to this user.

How do I start a task?

In BIC Process Execution tasks are usually started automatically as soon as the corresponding step in the process flow has been reached. This means if a task is in the first place within the process flow, it is automatically started as soon as the case was created.

This screenshot displays a new case in which the first task of the process flow has been started automatically.

All subsequent tasks are automatically started as soon as the direct predecessor task in the sequence has been completed.

This screenshot displays a case in which the first task of the process flow has been completed so the second one started automatically.

This way, several tasks can also be started automatically at the same time. For example, by using parallel gateway. If the task that is located in front of this gateway is completed, all directly following tasks are started at the same time.

This screenshot displays a case in which the first task of the process flow has been completed and the following tasks after a parallel gateway have been started automatically.

Depending on the definition of your process, it might occur that the first task of a process has to be started manually because the user can decide the first task. However, it should be noted that this can only be done if the Allow users to start tasks manually checkbox is selected. As a ProcessApp Administrator, you have the ability to manually start any task. Tasks are shown and can be started in the process execution view of a case as soon as the first task of their segment is started, i.e., when the segment is active.

To start a task manually, navigate to a task in the process execution view for which you or another user has role responsibility. You can recognize this by the user name, which is displayed below the task in small letters. When selecting the entry of the task and given that the segment of the task is active, you can see the option Start task manually within the form of the task.

Tip

If you are a ProcessApp Administrator you can start every task manually.

Hint

Additionally, there is an option to either use a link or share it to access the form for starting a task.

In the case “A new offer”, you cannot start the task “Verify order” manually until the case has proceeded up to the corresponding segment:

Here the option "Start task manually" within the automatic form of a task is shown.

The task will be started manually as soon as this function has been activated. After the manual start the chip with the user’s initials is filled.

This screenshot shows the chip of a task that has been started and displays the initials of the responsible user.

Now all users can directly see here, that this task is started in this case. The task also appears in the tasks of the responsible person, who can now work on it.

Hint

If a group is assigned to a role and the first task of this role is started, the group task has to be claimed by a group member. Subsequent tasks of this role will be assigned to this member automatically (as soon as they are started). Further information about this rule can be found here.

Note

A segment of the process flow is defined by the corresponding diagram and consists of a sequence of activities (the tasks) between gateways and events.

How do I complete a task?

In general, a task can be completed after it has been started and assigned to a user. You can see your own started tasks in “Tasks”. In BIC Process Execution tasks are completed via the task’s form. The form gives more information and links to applications that are relevant for your task. Moreover, you might have the possibility to up- or download files or enter other data at a user task. There are two ways to find the form of a task. The popup window allows you to complete single tasks faster because you do not need to open the corresponding case flow view of each task.

In a popup window:

Navigate to your tasks where you can find your own tasks that have already been started. If you select a task, it will be opened in a popup window and you can see the form of the task. At the end of the form, you can find a comment field where you can enter a note before completing the task via the complete button. The popup window closes automatically.

Hint

The possibility to complete a call activity is only available to the user who has the role of the ProcessApp Administrator. If you are the owner of a task but do not have the ProcessApp Administrator role, you cannot complete the task manually.

The screenshot shows a user task form in a popup window.

In a case flow:

Alternatively, you have the possibility to open the case flow view. To do that, select the button Navigate to case flow. The affected task is highlighted in the case flow by a filled chip showing your initials. If you are using the mobile view of BIC Process Execution, the form will be opened when you select the task. In the desktop view you will find the form in the right side bar.

An optically highlighted and selected task in a case is displayed here, after the task has been selected within the "My tasks" area.

In the form of your task, you can find a comment field where you can enter a comment before completing the task via the Complete button.

After completing the task, the check mark is displayed in the chip of the task and the task text turns grey, which is directly visible to all users at this point. In the form, the possibly submitted comment can be viewed. The task is not listed in your tasks anymore. This cannot be undone.

This screenshot shows a completed task.

If a task has been started but no user has been assigned, it cannot be completed. The hint No user assigned will be shown in the Responsible section of the form. In this case, ProcessApp Administrators can delegate the task to a user (group). Then, this user (group) can complete the task as described above.

When a task has been completed, the next task in the sequence is automatically started and thus appears in the task list of the responsible user. This will be done, if the next task is clear successor or the following activity. If the following task is already done, the next task in the sequence is started.

If the last task of a case has been completed, the case will be finished.

Hint

Please note the difference between a role being responsible for a task and an explicit user being assigned to the task. A user can be assigned to a role during the case creation or subsequently in the case details. Then, the user is automatically assigned to a task of the role when it is started. If the responsible role of a task cannot be assigned to a user during its start, it cannot be completed.

Tip

As a ProcessApp Administrator, you can complete every task by delegating it to yourself and then completing it as described above.

Note

A started task without an assigned user can occur in cases started by the system. These cases have no owner who would be responsible if no other role responsibility has been defined.

Warning

Please note that only users with the ProcessApp User role can work on tasks. If a task is assigned to you and you do not have the ProcessApp User role, you will not be able to perform any actions with this task. You will receive a notification with details to understand that the required role is missing. Assuming you do not have the ProcessApp User role. When you open BIC Process Execution and have been assigned tasks, you can view them on the list of your tasks. A notification is displayed on the task forms indicating that the required role is missing. If you have not been assigned any tasks, you will not be able to access the Task list menu item.

How can I make a manual decision for a gateway?

If a gateway has not been modeled with an automation, the case owner receives a task to decide which path will be executed.

As a case owner, you can find the manual decision task in your task list as soon as the previous task has been completed. Select this task to open its pop-up window. Based on the options shown in the window, you can see whether your decision is an Exclusive Or or an Inclusive Or gateway. Gateways of the type Exclusive Or only allow the selection of one decision option.

In this screenshot, a decision based on an exclusive gateway in the pop-up window of the corresponding task is shown.

On the other hand, Inclusive Or gateways have checkboxes for the decision-making options, which allow multiple selections.

In this screenshot, a decision based on an inclusive gateway in the pop-up window of the corresponding task is shown.

Mark (depending on the gateway type) one or more desired options and confirm your selection using the complete button.

Warning

If an activity is modeled with one or more outgoing sequence flows without a gateway, the decision must be automated via expressions. Otherwise, undesired behavior may occur. Please find an example here.

How can I delegate a task?

If a task is assigned to you and has already been started, you can delegate this task to another user. As a ProcessApp Administrator, you can delegate all started tasks, i.e. tasks owned by you or other users. The delegation option will also be displayed to ProcessApp Administrators if a task has been started but not yet assigned to a user. A delegation only affects the respective task. All other tasks keep the assignment that was defined when the case was created.

In your tasks list, navigate to the pending task you want to delegate. If you click on that task, the form of that task will open as a popup window. Within the form you will find the section Responsible. Next to your user name, you can select the function Delegate task on the right side.

This screenshot shows the section "responsible" of a task popup with the function "Delegate task".

Alternatively, you can find this function in the form of the started task in the case flow view. ProcessApp Administrators can delegate the tasks of other users this way.

This screenshot shows the form of a task in the case flow view with the function "Delegate task".

If you use this function, a window appears where you can then search for a user (group) using the input field. You can then select a search result from the suggestion list.

This screenshot shows the dialog in which you can choose a user or user group to who a task gets delegated.

Your selection is then displayed as a chip. If you have inadvertently not made the desired selection, you can remove the chip via the x or select and delete it on the desktop with the backspace key. In general, you can choose between all users and user groups for delegation. If you want to Cancel the delegation, select the corresponding option.

This screenshot shows the dialog in which a user has been selected, to whom the task should be delegated.

Otherwise, click on Delegate to complete the delegation. The window will close and you will no longer find the task in your tasks list. In the process flow of the concerning case, the initials of the newly assigned user (group) are displayed now. In addition, the task appears in the tasks list of the affected users.

Where can I see comments of completed tasks?

When completing a task, the users can set additional comments. These comments can then be seen by all users. To see a comment, first navigate to the tasks of a running case. On the right side of the entry you will find a Show comments icon.

The option "Show comments" on the right side of an entry of a completed task is shown here.

A click on this button will open the comment window. Next to the comment itself, this window displays the author of the comment and the comment timestamp. The comment is available here in read mode and can therefore not be edited.

An exemplary comment in read mode is displayed here.

Click on Close to return to the original view.

How can I be informed if one of my tasks has been started independently of me?

You have the option of being informed in BIC Process Execution every time one of your tasks has been started independently of you. That means that if one of your tasks was started automatically or by another user, you will receive a push notification.

This screenshot shows a notification which informs the user that one of his tasks has been started.

If you then select this, you will navigate directly to the relevant case and the corresponding task will be highlighted with a short visual animation. In order to be able to use this function you must first configure some settings on your device. Since these settings differ depending on whether you are using a mobile device or the desktop version, both types are discussed separately below.

Desktop version:

If you are using the desktop version, you have to allow push notifications in your browser when using the BIC Process Execution Application. Depending on which browser you are using, you will find this setting on a different place in your browser. The documentation on how to find this setting has been linked below for the three most common browsers.

Mobile version:

If you have a mobile device and you are using the application via the browser of your device, you also need to allow notifications to be displayed. Please refer to the help of your respective application/browser to find out how you can activate the notifications.

In case you have BIC Process Execution installed on your mobile device, you will receive notifications about your started tasks even if your application has not been opened. In that case it can be that your application must first be granted authorisation to send notifications. The documentation on how to find this setting has been linked below for the two most common operating systems.

Hint

If you use a desktop computer and the PWA has been installed, you will only receive the messages when the application is open.

Note

If a new task is started for you that is overdue or due within the next 24 hours, you will also be informed via e-mail.

How do I identify signature tasks in my task list?

If you check your task list and a task is configured as a signature task, you can recognize this directly in the task list. This can be identified by a tooltip that appears as soon as you move the mouse over the task icon.

The screenshot shows a tooltip that indicates a signature task.

How do I work with a signature task?

There are tasks that are marked as signature tasks. To successfully complete these tasks, you need to authenticate yourself. To authenticate yourself you need to login again. After a successful login you will be redirected back to your task.

As long as the authentication was not successful, the task can not be marked as finished. If you are assigned to more than one signature task, you need to authenticate yourself for each one individually.

Note

If you work with a signature task while being in the popup window the popup will automatically close after you have authenticated yourself.

How can I send the e-mail of a send task?

Tasks typed as Send can be linked to sending an e-mail in BIC Process Execution. This section explains how to create a template for these tasks.

If a send task has been assigned to you, navigate to the process flow of the case by a click on the task. The form of the corresponding step contains an e-mail preview provided by the created template.

The screenshot shows the e-mail preview in the form of the task in BIC Process Execution.

If process variables have been included to the template, they are replaced by the actual values defined in the case. The form can show a section Input. You can upload a file there which will be attached to the e-mail automatically.

Click Send Email to open a new e-mail in your e-mail client which equals to the preview. You can (if necessary) edit the e-mail and send it there. Afterwards, you can finish your task by clicking complete in the form.

The usage of the button "Complete" in the form of the send task is displayed.

Note

If the option Send mail automatically is activated, the task will start automatically. The e-mail will be sent and the task will be set to done. If an error occurs during automatic sending you will receive an error notification in the process overview. Here you have the option to send the mail manually.

Hint

If you send an e-mail manually as explained above, you should check the formatting in your e-mail client. The preview in BIC Process Execution shows the e-mail formatted according to the definition in the editor but some settings can be lost when it is converted to the text in your client. Indentations and tables will be lost and bullet lists will be marked with the character “*” instead. E-mails that are sent automatically do not lose their formatting. They are formatted according to the html definition in the template editor.

How can I execute a script task?

Script tasks are executed by the system. If an error occurs thereby, the task will be marked by a red chip containing an exclamation mark. In this case, the tasks is assigned to the responsible role and appears in the task list of the corresponding user. If the role has not been modeled or set, the task is assigned to the case owner.

The screenshot shows the error icon at a failed script task.

You can click the error mark to open a dialog showing the error message of the system. In the bottom of the dialog, you can close it.

The dialog containing an error message is shown here.

Failed script tasks can be restarted or completed manually. To restart a task, select the button Retry in the error dialog or next to the script task in the case view.

The screenshot shows the button "Retry" to restart a failed script task manually.

Alternatively, complete the task manually via a click on the equivalent button.

How do I work with the task of a call activity?

If the task of a call activity in a case is started, a new case of the called process will be created automatically. The responsible of the task will be the owner of the case. In case that a group is responsible for the task, the case will be owned by the case owner of the main case instead. The case is named after the call activity plus “- name of the main case”.

If the call activity is synchronous, the main case is blocked as long as you are working on the called sub case. You can only continue working on the main case once the called sub case has been successfully completed.

If the call activity is asynchronous, the main case will not be blocked. Therefore, you can work on both processes independently and parallel. The call activity will instantly be marked as complete.

The process variables of the main case are copied to the sub case and can be edited there. If The roles of the main case are present in the sub case as well, they are inherited from the main case. New roles will be assigned to the default user (group) if the attribute has been maintained or can be set in the details of the sub case.

If the call activity was synchronous and the sub case is completed, the process variables are handed over to the main case. If they have been changed, the process variables of the main case are up-to-date again. Variables that have been defined in the sub case exclusively will not be copied to the main case. Moreover the sub case is automatically archived after its completion.

If the call activity was asynchronous the process variables will not be handed back to the main case.

Note

As a ProcessApp Administrator or case owner you can complete the sub case manually as well. In this case you will get a warning which tells you about an ongoing call activity task.

How will my REST calls be executed?

If you have defined REST calls and the corresponding diagram has been published in your BIC Process Design, they can be executed automatically in BIC Process Execution. This means that tasks, which execute REST calls do not have to be started manually, but are started automatically as soon as the previous task has been completed or if they are the first tasks in line.

You can identify tasks which are executed automatically at their labels Automated task below the corresponding entry and the robot icon within the task chip.

This screenshot demonstrates the entry of an automated task within the process flow.

The REST call will be executed as soon as the task has been started. If the status code of the REST call matches the status code, which has been defined in your BIC Process Design for this task, the task will be marked as done analogous to the manual execution. The data, which is resulting from that REST call, will be stored in process variables within the corresponding case. They can then be used for further processing, for example in other REST calls.

If the transmitted status code does not match the expected status code, the task will be marked as incorrect. This will be indicated by a red chip with an exclamation mark on the right side of the entry.

This screenshot demonstrates the entry of an automated task within the process flow that could not be executed.

Tasks which have been executed incorrectly can be restarted at anytime. So with that you can run your REST call at any time later. To manually start an incorrectly executed task click on the red Error chip of the relevant entry in the case overview.

You will receive a message which will inform you about the failed attempt. Click on Retry to start the task again. You can also select this button in the form of the task.

This screenshot shows the message concerning the failed service call. It includes the "Retry" button.

The REST call will then be restarted.

If the automated service task is a task that has not been configured, it can also be completed manually by the responsible user (the linked role or the case owner) after the first failed attempt to execute it automatically. To do this use, as usual, the Complete task on the right side of the entry. For more information about how to complete tasks manually, see here.

Cases

How is the case’s process flow view organized?

The process flow of a case corresponds to that of the default case. In contrast to the default case, you can use the process flow of one of your cases to design its specific sequence. Therefore, this is the central view if, for example, you are editing tasks, changing decisions or want to see the current state of the case.

To get to the process flow of a case, simply select the entry of the desired case in the case list of the corresponding process. If you are the case owner you will also find the case in your personal case list.

As soon as you have selected the entry, the process flow of that case appears in the main area of the application. Analogous to the default case, the process flow here consists of tasks, decisions and the start and end events. The process flow of a running case shows the completed and next up process steps (tasks of the active segment). In addition, there might be more steps coming up and the end event might not be visible yet.

Depending on the fully completed cases of the active process, a forecast is generated upon subsequent runs. The forecast is based on the sequence of archived cases. The most frequently completed task among all possible subsequent tasks is identified, and the process flow of the active process is supplemented accordingly. If a different path is taken in the process that has not been completed by any other completed case of the same process version, or if the process is run for the first time, no forecast can be made. Additionally, forecasts are not applicable across different process versions.

If you select one of the elements you will get further information about this element and the possibility to edit or change it via the right sidebar. This bar is called the form. In the mobile view these options will appear as soon as you select one of those elements.

The case owner can choose a desired start if there are several start events in the corresponding process modeling. The selection can be made via a single choice field in the form of the start event in BIC Process Execution. If you are the case owner, select the desired start and confirm by clicking the complete button.

The screenshot shows the process flow view of a case. In the form of the start event, the case owner can choose a start point.

The path of a case can be changed by decisions (so-called gateways). The gateways Inclusive Or, Exclusive Or and Parallel are taken from the process modeling in BIC Process Design and displayed as an entry in the process flow. You can recognize these entries by the diamond-shaped symbol with an arrow in the middle. Thus, the gateways divide the process flow into segments, which contain the decisions and resulting tasks. This means that you can always see at which point in the process flow a decision has to be made.

Note

Gateways of the Parallel type are only recognisable by the segmentation in the process flow, as no decision can be made there.

Ideally, decisions can be executed automatically at inclusive or exclusive gateways due to predefined expressions that determine the outcome. If the modeling does not support automated decisions, they have to be made manually. In this case, the case owner will receive a decision task as soon as the previous task has been completed. His decision will determine the further the path of the case after the gateway.

In BIC Process Execution, several users can work simultaneously on the same process flow. To ensure this parallel working, your case is updated automatically if a task has been changed by another user (e.g. completed or delegated). Thus, you can always keep track of the current state. When the case is archived while you view it, the application will show you the corresponding case in the archive.

Tip

We recommend to automate decisions using expressions. You may use process variables which are set (for example) in a user task. In the end, this configuration prevents that manual decisions are overlooked and further automates your process flow.

Depending on which decision is made at the gateways, the path of the process flow changes and can therefore lead to different results. The changed path is displayed automatically. If the path calculation is not immediately resolved, it is indicated with a loading indicator in the gateway step.

Note

When a process is executed and a throwing event occurs, a message with the associated event ID is sent. At the same time, the event is thrown with the corresponding identifier and the step is marked as completed.

Note

If a task, which is positioned after a decision in the process flow, has been started, then the decision can no longer be changed.

How is the default case structured?

The default case displays the standard process flow, which is the basis for every case that is created for the respective process.

To display a default case first navigate to the process overview. Open the menu of the desired ProcessApp and select the option Navigate to default case.

This screenshot displays an entry of the process overview and also the "Navigate to default case" option.

This view shows you the process flow from the first task of your process to its end event. Here you can navigate through the process, for example by making decisions and being shown the corresponding tasks of the process. The chronological sequence of process flow is shown from the top to the bottom.

Each process flow consists of tasks, gateways and the start and end events. You can distinguish these elements from each other by the chip symbol on the left side of the respective entry. End events are represented by a chip with a flag icon in it. You can recognize gateways by a diamond-shaped symbol with an arrow in the middle. In contrast, tasks are displayed with a number indicating when a task has to be done in the process.

Note

When a process is executed and a throwing event occurs, a message with the associated event ID is sent. At the same time, the event is thrown with the corresponding identifier and the step is marked as completed.

By selecting individual entries you will receive further information and options for the respective element via the right sidebar. For example, you can display the form of a task to see the role which is responsible for this task. Gateways and decisions can also be adapted so that alternative paths of the process can be displayed.

Since this is the default view, which is not based on a running case, no tasks are assigned to users here, nor can you start or complete tasks here. To do this, you first need to create a case for the process.

How can I define a correlation key for a throwing event?

In a process initiated by a throwing event, there is an option to access specific configurations through the Details menu of the editor. Here, you can set a JUEL expression as a Correlation key.

The screenshot shows the *correlation key* definition via the editor.

Once the predefined throwing event occurs, a message is automatically generated. This message includes a specified event ID and the previously defined correlation key. Simultaneously, upon the occurrence of the event, the associated process step is triggered and marked as completed.

Note

The defined correlation key is retrievable in the context of the process instance.

How do I automatically activate a task after receiving a message via an intermediate event in a case?

There is a possibility that the subsequent task will be automatically activated when an intermediate event intercepts a message in a case, especially when opening the Quick Editor. In this context, the event includes an attribute called correlation key.

If your process includes a catching intermediate event, and this event has an identifier reached in a case, the sequence is automatically paused at this event.

If an event that triggers a message is executed in any process, the message is received if the message event has the same identifier and the same correlation key. The entry is then marked as completed and the process flow is continued.

What is a task’s form and what is it used for?

In BIC Process Execution a form is generated for every task as soon as the corresponding case has been created. This serves as a source of information for a specific task, but also offers you many options to carry out the necessary steps to complete the corresponding task. The information is derived from the information that was provided in the corresponding diagram in BIC Process Design for the corresponding task. But be aware that this form cannot be compared to the profile that you know from BIC Process Design. The form offers you much more. For example, you can see the responsible users and the task’s attributes, or you can access its inputs and outputs. To help you get a better picture of what the form is, the following explains a few of the options available and how you can access the form.

You can access the form of your own task in your task list as soon as the task has been started. Simply select the desired task there and the form will open as a pop-up window.

To be able to access the form of any task, you have to navigate first to the process flow of the corresponding case. There select the desired task. The form of the task now opens in the right sidebar. If you use the mobile view of the application, the form of the task is automatically displayed after selecting the task.

In this screenshot the form of a task within a case is shown.

Here you will find among other things, the name of the task, the responsible user or the responsible roles, a description and other attributes of the task. The basis for this is the correspondingly modeled task with its properties in the respective diagram of BIC Process Design.

In addition to the information that you can get, it also provides you with some functions. So for example you can download input documents or upload output documents for the task.

This screenshot shows the input area within the form of a task. There a document can be downloaded.

You can also access document services and other web applications or websites by selecting individual attachments. Depending on the hyperlink, e.g. the download of a document is started automatically if it is a link to a document service. If a hyperlink is activated which contains an URL to a website, it will automatically be opened in a new browser window.

In this screenshot the form of a task within a case is shown.

You can also make use of decision tables within the form. This provides you users with decision making aids, under which they can adequately work on their task.

A decision table within the form of a task is displayed here.

In addition to these functions and information you can also make decisions and (provided that you have the permission) delegate tasks within a task’s form.

This screenshot demonstrates the configured form within a task's form.

The majority of the form fields in the form of a task are obtained automatically from the information derived from your diagram in BIC Process Design. In addition, the form of a user task can be enhanced by further form fields using the form editor. The responsible of the task can fill these form fields when the case is executed.

How can I use decision tables within my case?

If in BIC Process Design a task is of the type “Business Rule” the defined decision table can then also be found at the task’s form within BIC Process Execution.

In the processes you will see the Input variables in the form of input fields in the form of the corresponding task. To use the input fields within the decision table, the task has to be started. As soon as you have filled in all input fields with valid data, the result is automatically displayed in the output field of your decision table.

A decision table within the form of a task is displayed here.

For each of your input fields there exists a process variable which contains the value of your input. Thus, in addition to the information you can receive from the table, you can further use the individual data, for example in automated decisions.

If the value of the process variable has been defined before the Business Rule task has been reached, the corresponding input field is automatically filled with the value of the process variable. Thus, for example REST calls can be used to automatically provide information that is then used in a decision table. If you change the input fields manually in such a case, the corresponding value of the case’s process variable will also be changed.

For Business Rule tasks in which all input fields have been filled in automatically, the output of the decision table is determined and the task is then automatically completed.

Tip

Within the default case you can also make use of the decision tables without the need to start the corresponding tasks. This enables you to access these tables without the need of a specific case.

Note

Be aware that the output value can be different, in case you use the COLLECT hit policy. This depends on whether the hit policy was selected with or without aggregation. In case the COLLECT hit policy was chosen with aggregation, the output value is equal to the result out of the matching rules output values. The result can be the greatest matching value (MAX), the minimum (MIN), the number of matching rules (COUNT) or all the matching values combined (SUM). Otherwise, the value of the output variable is a comma separated string with all the results for the matching rules, when the COLLECT hit policy has been chosen with no aggregation.

How can I use attachments in BIC Process Execution?

In BIC Process Execution you can use attachments, which have been defined at the corresponding objects in BIC Process Design. You can use all attachment types that are available for the attribute *Attachment (URL)* in BIC Process Design. In BIC Process Execution these are displayed in the form of the relevant task at various points.

If the attribute Attachment (URL) has been defined for an activity, you will find these attachments in BIC Process Execution in the form of the corresponding form under Attachment (URL).

The screenshot shows two attachments under the section "Attachment (URL)" within the form of a task.

If you have defined an attachment in the attributes of a document object that represents an input or output of an activity, you will find the attachment in the Inputs or Outputs section of the corresponding task’s form. The attachment is represented by a paperclip icon. If you click on the paperclip icon you can access the attachment.

The screenshot shows the paperclip icon with which you can access/download an attachment.

How can I upload or download inputs and outputs in my tasks?

If inputs or outputs have been modelled in your diagram in BIC Process Design, you can make use of them in BIC Process Execution to download or upload documents in the tasks of your case. This enables you to provide important documents for the process flow. You can also use these files for a rest call. These are always assigned to individual tasks in your case. The following section explains in more detail how you can use these functions.

Outputs

If an output document was modeled for an activity in BIC Process Design, you will find a corresponding entry in the form of your task in BIC Process Execution. In order to upload a document, you have to be the responsible of the relevant task and it has to be already started. If that is the case, you can use the Upload file function to select and upload the desired document via a corresponding dialog window.

This screenshot demonstrates how the function "Upload file" is used to set an output document.

As soon as you have successfully uploaded a document, the document icon on the left side of the entry is displayed in white to indicate the completed upload process. Documents that have been uploaded as output can be downloaded at any time using the Download function.

The screenshot shows the use of the "Download" function, which is used to download an output that has been uploaded before.

If the function Upload file is used when a document has already been uploaded, this document will be replaced by the newly selected one. This means that only one file can be provided per output entry. As soon as the corresponding task has been completed, the function Upload file is greyed out and no further files can be uploaded for the relevant output.

Here you can see a screenshot where the "Upload file" function of an output is greyed out and can not be used.

Inputs

Like the outputs, you will find inputs in the form of the corresponding task. If an input exists for a task, you can access the relevant document by using the Download function.

The screenshot shows the use of the function "Download" of an input is used.

All inputs result from outputs of previously processed tasks in the process flow. You can download the document only if the task that contains the output has successfully been completed and the task containing the input has been started. If that is not the case or no file has been uploaded for the input, the Download function is greyed out and cannot be used.

The screenshot illustrates that the "Download" function of an input can be greyed out and cannot be used.

Note

You can use the following objects to upload or download files: Document, Business object, Norm, and Data store.

Tip

Attachments that have already been added to the document object in BIC Process Design can also be accessed via the corresponding input/output entries.

How can I create a new case for a process?

Cases represent the concrete executable form of your processes. In BIC Process Execution and BIC Process Design, you initiate the case creation at different places.

In the public workspace and preview, the capability to initiate a new case is restricted to users holding the ProcessApp Creator user role. However, in the published version, this option is exclusive to users with the ProcessApp User user role.

To start a new case via the ProcessApp directly, go to the area ProcessApps and navigate (possibly into a Collection) to the desired ProcessApp. Via a click on the three dots at the desired ProcessApp, you can open its menu.

The screenshot shows how to open the menu by selecting the three dots at a ProcessApp.

Now select the function Create a new case to start the creation.

This screenshot displays the function "Create a new case" in the menu of a ProcessApp.

As an alternative you can initiate the case creation process by using the Create a new case function. You can find this function within the case list of a process.

This screenshot shows the function to create a new case within the case list.

Moreover, you can start the creation process for a new case when you are viewing the corresponding diagram in BIC Process Design in publication stage. The button Create case is displayed in the upper right corner of the diagram view but it is only shown to users who are authorized to create a case for this process.

The screenshot shows the button "Create case" in BIC Process Design.

The button is also available in the diagram view of the new user interface. Select this button to trigger the opening of BIC Process Execution in a new tab where you are directed to the case creation.

The screenshot shows the button "Create case" in the new user interface of BIC Process Design.

As soon as you have started the creation process in any of the above explained ways, a dialog appears where you have to assign a name of your new case. You can set a due date for this case in the second field. Furthermore, you can select representatives from your users for every role occurring in the process. This user is then displayed as responsible person for every task that is assigned to the corresponding role. Entire user groups can also be set as responsible persons. In such a case all users of that user group are able to see the tasks of the role they have been assigned for, in their personal task area.

This is the dialog that is displayed after using the "Instantiate process" function.

Users and user groups can be assigned as a default person in charge within BIC Process Design. They will be automatically set, when creating a new case of the corresponding process. If no user is assigned to a role, the case owner will automatically be responsible for the tasks of this role as soon as they are started. You as a case owner are not assigned to the role itself but each started task of the role will be delegated to you.

A filled dialog that is displayed after using the "Instantiate process" function is shown here.

A new case will be added, as soon as you confirm your entries by clicking on Create. You will be taken directly to the process execution view of the case. If the process always starts at one possible starting point, the first task is automatically started. If there are multiple starting points, you (as the case owner) have to choose a starting point in the form of the start event and confirm your choice via the complete button. Then, the first tasks after the starting point will start automatically.

The screenshot shows the process flow view of a case. In the form of the start event, the case owner can choose a start point.

Hint

If the option Hide Start Form was selected during modeling, no dialog will be displayed. Instead, you will be directly redirected to the process execution view of the case. The name of the case will be named after the process name and the timestamp.

Note

In case the corresponding diagram has been depublished within BIC Process Design, you will receive a corresponding message when you tap the plus icon or hold your mouse over it. In this case, you can still edit and terminate all existing cases, but you cannot create new ones. If the plus icon is not visible a case creation restriction has been set.

Tip

In case you want to create cases via other applications you can either use run links or the BIC Process Execution REST API.

Where do I find my cases?

You can display all cases that you have created yourself to have a collective overview. To do this, use the menu entry My cases .

The menu entry "My cases" is emphasised here.

In the main area you will now see a list of your running, not yet completed cases. For each case, the creation and due date as well as the progress of the case are displayed next to the case and process name. The list is sorted descending by creation date whereas the oldest case is at the top.

The area "My cases" is shown here.

The Progress defines the percentage of the total progress of the respective case. The percentage is calculated based on the currently selected path in the case and the tasks completed in that path. The progress bar shows how many tasks have been completed, started (color gradation) and not yet started (dotted line). In the desktop version, a tooltip shows you the number of completed tasks as soon as you hold the mouse over the progress bar.

With a click on an entry you will be forwarded directly to the process execution of the running case. Furthermore, the Details are available for each case. You can access these by clicking on the i on the right of the entry.

This screenshot shows the function "Detail" within the entry of a case.

In the details, the owner, the due and creation date as well as the name of the case are displayed. In the Team section, you can see all roles that are involved in the process and the assigned users for this case.

Where do I find the list of cases of a process?

In the ProcessApps section, navigate to the desired process in the listing and click on the corresponding entry. You are then forwarded to the case list of this process.

As an example this screenshot shows the case list of a process.

All running cases where you are involved are listed here. This means that you can see every case if you have the user role *ProcessApp Administrator*, if you are assigned to a role or task of the case, or if you are part of a user group that is assigned to a role or task. For every entry within the case list you can see the following information:

  • Name: Name of the case

  • Creation date: Start date of a case

  • Owner: User, who has started the case

  • Progress: The Progress defines the percentage of the total progress of the respective case. The percentage is calculated based on the currently selected path in the case and the tasks completed in that path. The progress bar shows how many tasks have been completed, started (color gradation) and not yet started (dotted line). In the desktop version, a tooltip shows you the number of completed tasks as soon as you hold the mouse over the progress bar.

  • Due date: Date when the case should be completed

The list is sorted descending by creation date whereas the oldest case is at the top.

Furthermore, you have the possibility to filter the entries by specific case owners. To do that, choose the filter facet OWNER on the right-hand side and select the corresponding owners whose cases you want to view. The case list refreshes automatically. This function is also available for the overview of archived cases.

The screenshot illustrates the selection of an owner in the filter panel.

Additionally, you can filter the entries by the due date of the case. If you select the facet Due Date on the right side, you will see the different date range options. Once you have selected a predefined date range, your case list will automatically update. You will only see the cases that are due within the chosen time frame.

The screenshot shows the filter option "Due Date" for cases.

Click on an entry in the list to open the process execution view of the case. Use the Back arrow to go back to the list of cases.

The "Back" arrow of a case, that can be used to bring you back to the case list of a process is illustrated here.

In addition, you can access a case’s details view over the circled i icon. In addition you can use the Create a new case function to create a new case for this process.

Note

If there are no cases for a process, you will navigate to an empty list when selecting this entry.

How can I sort the case list of a process?

When you view the case list of a process, you have the option to sort the cases by a specific column.

The list can be sorted by Name, Creation date, Owner or Due date.To do this, click on the heading of a column.

The screenshot shows the sorting option for the case list of a process.

If no sorting was applied before, the cases will be sorted in ascending order based on the selected column. At the same time, you are scrolled to the top of the case list.

If you have already sorted by a column and the cases are displayed in ascending order, you can change the sorting direction by clicking on the same column heading again. This will reverse the sorting, and you will be taken back to the top of the case list of the process.

Note

Sorting is done for one column at a time.

How can I apply a filter facet for a creation date range in the case list?

Suppose you are on the case list page and there are multiple cases with different creation dates listed. When the filter option Creation Date is called, predefined date options should appear as follows:

  • This week

  • This month

  • Last 3 months

  • Last 6 months

  • This year

If you have selected the filter option Creation Date and have selected a predefined date range, such as This Month, the list of cases should be updated accordingly. Only cases created within the selected date range should be displayed.

How can I sort the case list?

When you view a list of cases, you have the option to sort the cases by a specific column. To do this, click on the heading of a column.

The screenshot shows the sorting option for the case list.

If no sorting was applied before, the cases will be sorted in ascending order based on the selected column. At the same time, you are scrolled to the top of the case list.

If you have already sorted by a column and the cases are displayed in ascending order, you can change the sorting direction by clicking on the same column heading again. This will reverse the sorting, and you will be taken back to the top of the case list.

Hint

Please note that when entering the case list, cases are sorted by default according to their creation date in ascending order. This serves as the starting point if no specific column sorting has been selected.

Note

Sorting is done for one column at a time.

How can I perform a full-text search for case names in my case list of a ProcessApp?

In the instance list of a ProcessApp, while the filter panel is open, an input field is available at the top right to perform a full-text search in the Enter term to filter instance list field.

If you do a full text search for the Case name field, the list of cases will be updated and you will see all the results of this search. If there are no search results, you will receive a notification that there are no results in the content area for your search. In the full text search, you also have the option of using both ‘a AND b’ and ‘a OR b’ to display all results that contain either ‘a’ and/or ‘b’.

Note

If you have applied a filter, the search will include the search term and any filter options you have selected.

Note

If you reset the search, you will again receive results that match the previously selected filter options.

How can I export an event log of the cases of a ProcessApp?

In the case list of a ProcessApp, you can download an event log of the cases. Navigate to the case list of a ProcessApp and open the options in the ride side bar. By filtering the list before you trigger the export, you can create the event log for a restricted case list.

Select the option Export completed cases by clicking on the icon Export cases to Excel file. Then the event log is generated for you.

The option to create an event log in the side bar of the case list for a ProcessApp is displayed here.

As soon as the export is available, you will find a download button at the Export completed cases option. Note that this event log is only available for you. Other users have to create an event log themselves to download it. Select the arrow button to download the created event log.

The screenshot shows the download button for the event log.

In the file you will find the following data for each process:

  • Case ID

  • Case name

  • Activity ID

  • Activity name (in your content language)

  • Task start date (in ISO format)

  • Task end date (in ISO format)

  • Task due date (in ISO format)

  • Activity performer role (in your content language)

Hint

If your UI language is not maintained, the default template is English.

Note

The export function is not available in the mobile version of BIC Process Execution.

Tip

If your user role allows this, you will find additional tabs in the process list of your ProcessApp. You can view archived cases and a monitoring cockpit to analyse the status of active cases.

How can I access the case’s details view?

In the details view of a case, you can get detailed information about a specific case. To access a case’s details view, you got two options. The first option is via the case list. To do that, navigate first to the case list of the corresponding process.

Then use the Details function to get to the details view of the desired case. You will find the function in form of a circled i icon on the right side of the list entry.

This screenshot shows the function "Detail" within the entry of a case.

The second option is via the case itself. You can open the context menu next to the title of your process. Click here on the menu entry View Case Details and the details of your process will appear.

This screenshot shows the context menu of the case overview where you can click on details.

The following information will be displayed in the details view: the owner, the creation date, the optional due date and the name of the case. In addition, in the section Team you will see all roles, which are included in the corresponding process, and all users which have been assigned to these roles.

This screenshot shows a case's details area.

Here you can also reassign the team members.

How can I set or change the due date of a case?

The due date defines when a case should be completed. When the date has exceeded but the case has not been completed yet, the progress of the case is emphasized in red color in the personal as well as in the case list of the corresponding process.

The screenshot shows an entry of the case list whose progress is colored in red.

If you create a new case, you can directly set a due date in the corresponding field. This statement is optional. Enter a date in the format MM/DD/YY or click the calendar button and choose a date in the appearing calendar.

This is the dialog that is displayed after using the "Instantiate process" function.

As a ProcessApp Administrator or case owner, you can set and change the due date of your case subsequently. Navigate to the details of your case. You can find the due date below the owner. If no date has been set before, the field will be empty. Click the placeholder due date to enter a date or click the calendar to choose a date there.

The screenshot shows the entry "due date" in the details below the entry "owner".

In case there was a due date before, you can change it here. Click the date to enter a new one or use the calendar as stated above.

How can I reassign team members of a case?

As a case owner, you can reassign team members of your case at any moment. To do so first navigate to the case’s details view.

Here you can see all roles of the corresponding process. Below the role description you will find the name of the user or user group currently assigned to the role. If no one has previously been assigned to the role, the lettering Add team member is displayed.

This screenshot shows the option to assign a user to a case's role within the case details.

To reassign a role of your team just click on the name of the currently assigned user or user group, or if nobody has been assigned yet click on Add team member. A dialog appears in which you can reassign the corresponding role.

In this picture a dialog is displayed in which you can enter a user's name to assign that user to a specific role.

Just enter the name of the user or user group into the input field and then select the corresponding entry from the drop-down menu.

In this screenshot displays the suggestion list that is used to select a user for the role assignment.

By using the ADD button your changes will be adopted and the role will be reassigned. The name of the assigned user or user group is now displayed below the relevant tasks within the case’s process flow and in the details view of the case.

Note

Tasks, that have already been started before the reassignment, will not be reassigned. These tasks will still be visible in the personal task list of the corresponding user. If you want them to be processed by the newly assigned user or user groups you have to delegate them.

Note

If no user or user group has been assigned to a role when the case was created, the case owner will be responsible for each task of the role as soon as the task is started. This means the user who created the case can complete the tasks of this role but is not assigned to the role. He receives the responsibility for the tasks one by one when a task is started.

When is a case finished?

A case is finished as soon as all tasks within the process flow have been completed. From that moment on, elements from that case can no longer be changed. It is noted for every finished case at which end event the case has been finished.

Once your case is finished it will be archived and the sequence of events is stored in the system. These are used for predicting subsequent flows of new cases for the same process.

Note

The completion time or end time of a task is displayed when a step is completed in a given case.

Note

In a given case, the start time is displayed if the step is considered as an activity in progress. The start time is also displayed if the step has an error.

How can I archive cases?

By default, cases will be archived as soon as they are completed.

How can I archive unfinished cases?

You also have the option to archive cases even if they are not finished yet. To do so open the case list of the corresponding process and open the case you want to archive.

Here the end event "End of process" is displayed.

There click on the context menu with the three dots on the right side of the entry and select the option Move to archive.

This screenshot displays the option "Move to archive" within the context menu of an end event.

A dialog appears which informs you that some tasks have not been finished yet. If you still want to archive the case, select the option Do it anyway. All uncompleted tasks are then canceled and the case is archived.

The dialog, that is needed to definitely archive a case, is displayed in a screenshot.

After your case has been archived, you will be informed about the successful completion by a message. The case will disappear from the case lists. Instead it appears in the archive.

Warning

If you abort a synchronized call activity prematurely and therefore archive the case, its subcases will be archived as well.

Note

If the case was the last case that has not been archived of a depublished diagram of your BIC Process Design, the corresponding process will also disappear from the process overview.

Where do I find archived cases?

The archive enables you to view archived cases. There is an archive for your personal cases as well as for each process.

The screenshot shows the case list with the tab "Archive".

If you view your case list, you can navigate to the list of archived cases via the tab Archive in the upper right corner.

The screenshot shows the archive of the case list.

For each archived case, you can view the details by a click on the i button and the process flow by a click on the case name - just like with regular cases. Click on the tab Cases to navigate back to your current cases.

If you would like to view the archived cases of a process, navigate to the case list of your process.

The screenshot shows the tab "Archive" at the case list of a process.

Then click on the tab Archive to see all cases that have been created and archived for this process. The process flow and details can be displayed for each listed case as stated above. Click on the tab Cases to navigate back to current cases of the process.

What are process variables used for in my cases?

In BIC Process Execution you have the option of using process variables in your cases in order to process data dynamically during the process flow. Some process variables are created by default while others will be generated by executing REST calls, script tasks or decision tables of rule based tasks.

These process variables can be used during the process flow to provide users with data, with which these users can then successfully complete their tasks. Process variables can be used in user forms. In addition, the provided data can also be used in further automated tasks, like new REST calls or script tasks.

Note

Note that the values of process variables change locally in the task until the task is completed.

Which process variables are created by default?

In BIC Process Execution, a set of process variables is provided by default for each case. The following process variables, with the associated values, are therefore available for each case:

Name of the variable

Default value

createdDate

Date when the case was created

creatorEmail

E-Mail of the user, who created the case

creatorName

Name of the user, who created the case

caseName

Case name

Additionally, a process variable will be created for every role used that has an Identifier. The name of the variable will be the used Identifier, the value will be the corresponding e-mail of the assigned role.

Within the process flow of a case, you can view the values of all process variables. ProcessApp Administrators can also change the case name there (value of caseName).

How can the standard process variables be grouped as smart variables in a case object?

When an instance of a new process is created, a case-object is automatically created that contains all the required process variables.

The following variables are available in the _case object:

  • “name” (changeable)

  • “dueDate” (changeable)

  • “creationDate” (not changeable)

  • “creator” object (not changeable)

Note

In this context, it should be noted that the variables creator.name and creator.email belong to the creator object.

The variables are accessible in the following way:

  • _case.name

  • _case.dueDate

  • _case.creationDate

  • _case.creator.type

  • _case.creator.id

  • _case.creator.ATTRIBUTE

You can set a new value for a process variable. If this variable is modifiable, the adjustments will be reflected throughout the application. If the process variable is not modifiable, the changes will not be saved, and the process variable will remain unchanged.

When viewing the process variables of a case, the attributes of the case-variable as well as the “old” standard variables become visible. If you open an older case where the case-object did not exist, only the “old” standard variables will be displayed when checking the process variables.

Hint

Please note that the new object applies only to newly created cases. Existing cases do not have this updated element. While the previous method to access these variables is still supported, it is deprecated.

How can I see process variables for archived cases?

If a case is archived, there are different authorizations for accessing the process variables dialog:

As a ProcessApp Administrator, you have the option to open the process variable dialog and view the process variables in all stages.

As a ProcessApp Creator, on the other hand, you can open the process variable dialog to read the process variables only in the public workspace and the preview stage.

How can I find and edit process variables within the process flow?

Within the process flow of a case users with the user role ProcessApp Administrator have the possibility to display and change the value of your process variables. This enables you to adapt the data of your process variables to your needs, in case something changes during the case completion.

To do so first navigate to the process flow view of the corresponding case. There open the context menu in the upper right corner of the main area.

This screenshot shows you a case's context menu with which you can reach the case's process variables.

You can then click on the option Edit process variables.

Here the option "Edit process variables" of a case's context menu is displayed.

A dialog appears where you will find all available process variables, their data type and their values for this case. In this dialog you can edit the values of the process variables. In case you have edited the value of a process variable you can confirm the changes by using the button Save.

The screenshot shows a dialog that contains all process variables of a case.

If you just want to exit the dialog or in case you don’t want your changes to be adopted, click on the button Cancel.

Note

By default, every case has a set of standard process variables.

How do the values of process variables change when working on a task?

When a task is started, the current values of the process variables are loaded to a local scope. If you work on the task and change the variables for example by editing or adding values in the form, the variables will be updated locally. The list of process variables still shows the values set before the task was started. Completing the task will transfer the local variables to the process variables of the case. Then they are available in following tasks.

ProcessApps

In the ProcessApp overview, you can find all processes of your organization that are relevant (for you) as ProcessApps. They can be grouped according to departments, teams or other structures using ProcessApp Collections. ProcessApp Administrators have a list of all available ProcessApp Collections in the administration and can edit the Collections as well as create new ones.

Where are all available ProcessApps displayed?

Go to the ProcessApps using the menu.

The screenshot shows the menu entry "ProcessApps".

Depending on the configuration, this area can differ. However, you can find all executable, published processes (BPMN and EPC) of your tenant which are displayed as ProcessApps.

If there are ProcessApps Collections defined in your tenant, you will see the ProcessApps grouped into these Collections. The Collections are arranged alphabetically from left to right and top to bottom. Depending on your device and zoom factor, they are displayed in a single or multi-column list. The first Collection in the upper left corner is always the favorite tile.

The area "ProcessApps" with ProcessApp Collections is displayed here.

Each Collection can appear with an individual icon and color. Note that a Process App Collection only appears in this area if at least one ProcessApp has been assigned to it. Therefore, not all Collections that have been created in the administration might be involved here.

If you have ProcessApps which are not grouped into a ProcessApp Collection, you will see a Collection called More ProcessApps as the last Collection on this screen.

As a preview, the assigned ProcessApps with the highest number of running cases are shown for each Collection. Thus, you can access frequently used ProcessApps quicker. If you select a ProcessApp in the preview, you will be navigated to the list of all running cases of the corresponding process.

This screenshot illustrates the selection of the "Go to" function of a Collection.

If you select the header of a ProcessApp Collection or the button Go to at a ProcessApp Collection, all ProcessApps of this Collection will be presented to you as a list.

This screenshot illustrates the selection of a ProcessApp in the preview of a Collection.

Each ProcessApp is represented by an icon and the name of the process in the chosen content language. In addition, the number of the running cases you are involved in, is noted. The ProcessApps are displayed in a multi-column list which is depending on your device and zoom factor.

This screenshot shows the list of all ProcessApps belonging to the previously selected Collection.

If you select the ProcessApp itself, you will be directed to the list of current cases for the process. If you hover over a ProcessApp, a menu (three dots) appears at the entry. You can open the menu by selecting the three dots once.

This screenshot demonstrates the upcoming menu when hovering over a ProcessApp.

The menu (usually) contains three options for the corresponding process. The first one enables you to (un)mark the process as your favorite. The second option allows you to navigate to the corresponding diagram in BIC Process Design. Given that there is no case creation restriction defined for the concerning ProcessApp, you will find the option to create a new case for the process at last.

In case that no ProcessApp Collections have been configured, the ProcessApps area directly displays a multi-column list of all ProcessApps. For each ProcessApp, you have the same possibilities as described above.

Note

Users with the user role ProcessApp Administrator can access all running cases even if they are not involved in these cases.

Users with the role ProcessApp Creator or higher can switch the environment to view the processes of executable but still unpublished diagrams.

Tip

You can configure every process icon individually. Also you can search for specific processes or add them as favorites to your favorites list to access them faster.

How can I search for a certain ProcessApp?

Within the ProcessApps area you have the possibility to search for certain processes. To do so, click on the search field in the header of BIC Process Execution. There, enter the term you want to search for. The search is started as soon as you click on the magnifying glass icon or press the enter key. As result all ProcessApps are displayed which contain the term in the selected content language. The search result is not grouped into ProcessApp Collections.

The screenshot shows the result of a search within the ProcessApps.

If the name of a process has not been maintained, the corresponding ProcessApps will not be displayed.

Note

The search is case insensitive. Expressions like wildcards are not supported by the search.

How can I see my favorites and add a ProcessApp?

In BIC Process Execution you can mark single ProcessApps as your favorites. They will be marked by a star icon.

This screenshot demonstrates a process that is marked as a favorite.

In the ProcessApp overview, these favorites will appear in the Favorites Collection.

The "Favorites" Collection is shown here.

To add a ProcessApp to your favorites, go to the ProcessApps and navigate to the desired ProcessApp (possibly into a Collection first). Then open the menu of the ProcessApp via the three dots.

The screenshot shows the context menu at the corresponding ProcessApp.

If you select the function Add to favourites, the ProcessApp will be displayed with a yellow star icon.

The function "Add to favorites" in the menu is illustrated here.

In case you like to remove a ProcessApp from your favorites, you have to use the function Remove from favourites which you will find in the menu of the ProcessApp.

The function "Remove from favorites" in the menu is illustrated here.

The star icon of the corresponding ProcessApp will disappear then.

How can I navigate from my ProcessApp to the corresponding diagram in BIC Process Design?

When you are in the ProcessApp overview and open the context menu of a specific ProcessApp, you will find the option to navigate to the corresponding diagram in BIC Process Design.

The screenshot shows the context menu at the corresponding ProcessApp.

After selecting the option Open diagram, you will be redirected to the corresponding diagram. The diagram for this ProcessApp will open in a new browser tab and automatically present the corresponding stage of the process in BIC Process Design.

Hint

If a diagram with active cases has been depublished, you can still click on the option to view the diagram. Please note that it is now in the archived state.

The screenshot shows the option "Open diagram" in the context menu.

How can I monitor the status of the cases for a ProcessApp?

As a ProcessApp Administrator, you can view a dashboard for each ProcessApp, which provides you with information about the status of all running cases. You can switch to the tab Monitoring in the case list of a ProcessApp.

Hint

Please note that only users with the user role ProcessApp Administrator can access the overview.

The screenshot shows the tabs in the case list of a ProcessApp.

When you open the overview for a ProcessApp, you are presented with a donut chart that summarizes the status of the running tasks in the following categories:

  • (current) processes running on time, i.e. the due date is in the future.

  • Transactions without a due date

  • Overdue cases (according to the server’s time zone, UTC)

The screenshot shows the three donut charts of the running cases, open tasks and open tasks grouped by assignees of a ProcessApp.

The number in the middle of the diagram indicates the number of ongoing tasks for the selected ProcessApp.

How can I monitor the status of open tasks for a ProcessApp?

When you open the Monitoring for a ProcessApp, you are presented with another donut diagram that shows the status of the active tasks accessible to you.

The donut chart is designed to visually display the task data. It is sorted clockwise and presents the following information in a specific order:

  • Number of open tasks: This value is displayed in the center of the chart and indicates the total number of tasks that are currently open and assigned to you.

  • Number of tasks completed on time: This data point is represented by a specific segment area on the chart. It represents the number of tasks that have been successfully completed within your designated time frame.

  • Number of overdue tasks: Another segment in the chart represents the number of tasks that have passed their designated due date and are now overdue.

  • Number of tasks with no due date: The chart also includes a segment representing tasks for which no due date has been set.

By viewing this donut chart, you can get a quick assessment of the distribution of your active tasks based on their status.

The screenshot shows the three donut charts of the running cases, open tasks and open tasks grouped by assignees of a ProcessApp.

Hint

Please note that only users with the user role ProcessApp Administrator can access the overview.

How can I see the status of the started tasks, grouped by the assignees?

When you open the Monitoring for a ProcessApp, you are presented with a third donut chart that shows the state of the tasks that have been started.

The donut chart consists of two circles, which are sorted clockwise.

The inner circle represents the assignees for the tasks. The names of the assignees are displayed with the number of tasks in brackets.

The outer circle represents the task status of the started tasks for the assignees. The ring is divided into different segments that present the following information:

  • Number of tasks completed on time: This segment area in the chart represents the number of tasks assigned to the particular assignee that were successfully completed within their designated time frame.

  • Number of overdue tasks: Another segment in the chart represents the number of tasks that have passed their designated due date and are therefore overdue.

  • Number of tasks with no due date: The last segment in the diagram contains the number of tasks for which no due date has been set.

The donut chart gives you an overview of the current stats of the started tasks, grouped by the respective assignees.

The screenshot shows the three donut charts of the running cases, open tasks and open tasks grouped by assignees of a ProcessApp.

Hint

Please note that only users with the user role ProcessApp Administrator can access the overview.

Administration

To access the administration area, you need to select the Administration button in the left sidebar.

The screenshot shows the entry "Administration" in the menu.

To access the administration fully, you need to be assigned to the role ProcessApp Administrator. You can edit your user details here.

The screenshot shows the selection of the Process Execution role *ProcessApp Administrator* in the Process Design user details.

Here you see an overview of all options you can administer.

The screenshot shows all options of the *administration* menu.

Warning

The functions update case details, archive a case, open the case variables dialogue and change values of case variables are only available for ProcessApp Administrators.

BIC Process Execution API

How can I manage my API key?

To ensure that only authenticated users can access the API of your BIC Process Execution, every ProcessApp Administrator can create an API key. This can then be used in the respecting REST calls for authentication.

To create an API key you first have to navigate to the administration area. To do so select the entry Administration in the menu. Here select the option API Key.

Here you can manage your personal API key. If no API key has been created so far you can see this information in the main area. There you can also find the button CREATE API KEY. If you click on it a new key will be created.

The image shows the administration area including the button "Create API key".

The generated key is now available and valid. The creation date of the key is now displayed in the main area. In addition the button COPY API KEY is displayed with which you can can copy the key into the clipboard of your device.

The image shows the administration area including the button "Copy API key".

If the API KEy is no longer used or out of date, you can remove it. To do so open the context menu with the three dots in the upper right corner of the main area.

The screenshot shows the context menu within the administration area.

Then select the entry Delete API Key.

The screenshot shows the entry "Delete API Key".

A dialog window appears. The API key will be deleted and can no longer be used as soon as you click on DELETE.

The screenshot shows a dialog window in which the removal of an API key has to be confirmed.

Within the administration area you can then create a new API key.

How can I create a new case using the REST API?

The BIC Process Execution REST API enables you to create new cases via external applications. To use this function, you will need the REST endpoint of the desired process for which you want to create a new case, as well as a valid API key.

The REST endpoint is defined as:

{{host}}/process-execution/external/tenants/{{tenantId}}/stages/{{stageId}}/processes/{{processAppId}}/instances?apiKey={{apiKey}}

The variables you need to replace are:

  • {{host}}: The host can be found in your web address when you open BIC Process Design and take a look at the URL. It is the first part before /client/ or /portal/.

  • {{tenantId}}: The tenant ID can be found when you open a diagram in BIC Process Design and take a look at the URL. It is the part between /tenant/ and /repository/.

  • {{stageId}}: In order to create the case in the desired environment, you have to replace the stage ID by the corresponding keyword. Use the keyword dev to address the development environment, test to address the test environment and via the key prod, you can address the productive stage. Please be aware that the keywords differ from the URL keys of the environments.

  • {{processAppId}}: The ProcessApp ID can be found in the URL when creating a new case in BIC Process Execution. It is the part after /processes/.

  • {{apiKey}}: You can find and create your api key in the administration area of BIC Process Execution.

Note

Please note that the HTTP method POST has to be used to use this REST API.

Hint

Please be aware that, the ProcessApp ID depends on your stage. Make sure that you use the ProcessApp ID of the stage you want to address.

In addition to the name of the new case, you can set the values of process variables within the body of the request. These values must be transferred in form of a JSON object.

By default, when creating a new case the name of the case (caseName) will be transferred as an attribute. If this attribute will not be transferred, the attribute name will be used as the case name. If both attributes are not transferred the actual timestamp in the format YYYY-MM-DD T HH:mm:ss will be set as name.

If you want to transfer additional attributes, you can use the attribute variables. In this situation, no additional data other than the caseName or name will be transferred. An example could look like the following:

{
    "name": "New case",
    "variables": {
        "manager_name": "John",
        "surname": "Doe",
        "department": "Marketing"
    }
}

Alternatively, you can transfer attributes without using the attribute variables. In this situation all process variables will be handed over to the new case. This may look like the following:

{
    "name": "New Case",
    "manager_name": "John",
    "surname": "Doe",
    "department": "Marketing"
}

Note

Cases generated via the REST API do not have a unique owner. The owner of those cases will be set with the value REST API.

ProcessApp Collections

You can use ProcessApp Collections to group different ProcessApps. For example you could group the ProcessApps of a specific department into one ProcessApp Collection. A ProcessApp can be included in as many ProcessApp Collections as you like. In the administration you can see a list of all available ProcessApp Collections and create new ones.

Tip

In the upcoming versions of BIC Process Execution the functions of ProcessApp Collections will be extended. You will be able to structure your Process Apps better so that your users can more quickly identify and execute the cases that are relevant for them.

Where can I find an overview of all ProcessApp Collections?

If you want to get an overview of all ProcessApp Collections, you need to navigate to the Administration first. Choose the option ProcessApp Collections.

The screenshot shows the list of all available ProcessApp Collections.

Here you can see an overview of all ProcessApp Collections in alphabetical order.

How can I create a new ProcessApp Collection?

If you want to create a new ProcessApp Collection you need to navigate to the overview of all ProcessApp Collections. In the bottom-right corner you find the button Create new ProcessApp Collection.

The screenshot shows the button to create a new ProcessApp Collection.

Click it and a dialog will appear in which you can enter the details of the new ProcessApp Collection.

The screenshot shows the form to create a new ProcessApp Collection.

You need to give your ProcessApp Collection a unique ID. This is used to add a process to your ProcessApp Collection.

The title will be seen by users when they use this ProcessApp Collection. You also got the possibility to use an icon (free of charge) from Font Awesome (v5.15.4) and a color of your choice to make your ProcessApp Collection more prominent.

Afterwards, choose Create to create your Collection.

Note

You can choose from all Font Awesome icons in version 5.15.4 except the trademark-protected ones.

How can I edit a ProcessApp Collection?

If you want to edit a ProcessApp Collection, navigate to the Overview of all ProcessApp Collections. If you hover over an entry, a context menu will appear on the right side. Open the menu of the desired Collection and select the option Edit collection.

The screenshot shows the option "Edit collection" in the context menu of a ProcessApp Collection.

Then, a dialog window will open where you can edit the title, icon and color of your Collection. Note that the ID is read-only. To confirm your changes, press the save button. Use the cancel button if you want to discard your changes.

Note

You can choose from all Font Awesome icons in version 5.15.4 except the trademark-protected ones.

How can I delete a ProcessApp Collection?

If you want to delete a ProcessApp Collection, navigate to the Overview of all ProcessApp Collections. Hover over the entry of the desired Collection. Then you can open the appearing context menu on the right side of the entry.

The screenshot shows the option "Delete collection" in the context menu of a ProcessApp Collection.

Here you find the option Delete collection. If you select this option, a confirmation window appears. If you select Delete, your ProcessApp Collection will be deleted. The contained ProcessApps will not be deleted.

ProcessApps

Where can I find a list of all ProcessApps?

In the Administration you will find an overview of all ProcessApps. To get to this, first navigate to the Administration and select the option ProcessApp. You will then get an overview of all ProcessApps that are available. Furthermore, you can see here how many processes of the respective ProcessApp are currently active or archived.

The screenshot shows the list of available Process Apps.

Note

Be aware that the administration is only accessible for users with the role ProcessApp Administrator.

Global Variables

Where do I find an overview of all global variables?

Global variables are process variables that can be used in all ProcessApps. You can define them in the administration area of BIC Process Execution. It is possible to define the value of the variable for each stage (Public workspace, Preview and Publication) separately.

To open the overview of all existing global variables, open the administration area and choose the option Global Variables.

A list with all globally created variables opens. You can see the name and the values of the variables for the corresponding stages. The variables are sorted alphabetically by their name.

The screenshot shows the list of global variables.

How can I add a new global variable?

If you want to add a new global variable, you need to do the following. First open the overview of all global variables. In the bottom right corner you will see a Plus Button Add new global variable.

When you select this button, a new dialog window will appear. Here you can enter the Variable name and the values for the different stages.

The screenshot shows the dialog for adding new global variables.

Afterwards, you can press ADD to save your new global variable. Alternatively, you can CANCEL the creation of it.

If the name of a global variable contains special characters, punctuation marks, or spaces (e.g., +, /, =, >, ?, ., ;), it cannot be saved. Additionally, the name of a global variable is not allowed to include accents and specific letters (e.g., á, à, ß, ç, ñ, ö, ü). In these cases, you will receive an error message at the bottom right corner of the page.

Hint

For already existing global variables with a dot in the name, the dot is replaced by an underscore. If this creates a duplicate, the global variable will be removed.

Note

When you do not provide a value for one (or more) stage, the value will be saved as an empty string.

How can I delete a global variable?

If you are on the overview of all global variables, you have the option to delete global variables. To do so, select the context menu (three dots) of the desired global variable and click on Delete variable.

The screenshot shows the option "Delete variable" in the context menu of the global variable.

This will open a pop-up window where you need to confirm the deletion. Once you click DELETE, the deleted global variable will appear with a strikethrough in your list and will be permanently removed upon reloading. If a global variable is deleted by another user, it will also be displayed with a strikethrough in your list.

The screenshot shows the deleted global variable strikethrough in the overview.

How are global variables used in the process?

If you use a placeholder in your process that is not defined within the process, the system checks if a global variable with the provided name exists. The system then requests the value for the stage in which the case is being executed.

If no value has been set for the stage in which the case is being executed, the placeholder is replaced with an empty string.

When a global variable is modified within a task, the value is changed within the context of that task. If a global variable is not modified within a task, the value is not transferred to the context of the operation.

If the value of a global variable is changed within the context of a task and the task has not yet been completed, the change only applies within that task.

Profile

In the profile area, you can make adjustments to your BIC Process Execution interface. For example you can change your content language or settings regarding your deputy.

The screenshot shows the menu where the entry "Profile" is selected.

Deputy

If you are not available for a longer time, you can change your availability status. You can set a general deputy, who will be responsible for your tasks as long as you are out of office. Therefore, important tasks cannot be forgotten and the normal workflow can continue as usual.

When you set your availability status to out of office and have a deputy set, your new tasks will be automatically assigned to your deputy.

Note

If your deputy has also set a deputy and is out of office as well, your tasks will not be assigned to their deputy. This way you can ensure that your tasks will only be assigned to people you have personally selected.

Note

You will not get any e-mail notifications or push notifications if your task is delegated to your deputy automatically. If you have been automatically assigned to a task, you will receive all notifications related to the task.

How can I change my availability status?

With the availability status you can set whether you can currently work on your tasks or if you are not available (e.g. vacation or sickness). If you want to change your availability status, you need to navigate to your profile first. Here you can see your current status. Your selected option is highlighted in color.

The screenshot shows the menu where the entry "Profile" is selected.

You have the possibility to switch between Available and Out of Office.

Note

Your availability status does not reset, i.e. the status stays the way you set it until you change it again.

How can I set my general deputy?

If you want to set your general deputy, you need to open your profile first. On the right-hand side you can see the Deputy-Overview. Here you can set a General Deputy. Select the option Define General Deputy for that.

The screenshot shows an overview of the deputy screen and the button *Define General Deputy*.

An input field where you can enter your general deputy appears.

The screenshot shows the input field to set a deputy.

Use the Button Save to save your general deputy. After the confirmation your deputy will be shown in the list on the right-hand side.

How can I remove my current general deputy?

To remove your general deputy, you need to open your profile first. On the right-hand side you can see the Deputy-Overview and your General Deputy.

Right to the name of your deputy is a trashcan icon. Select this icon.

The screenshot shows the button to remove a deputy.

A dialog window appears where you can confirm the deleting of your general deputy. After confirmation your general deputy is removed.

How do I change language settings?

To change the content language of your BIC Process Execution application navigate to the Profile via the menu.

This screenshot displays the drop-down menu "Languages" in the profile.

Here, you can select the desired content language using the drop-down menu. If you have not selected anything else, the content language corresponds by default to the language that was specified as the preferred language in the User language under the User Administration in your administration in BIC Process Design.

The screenshot shows the drop-down menu to set the user language.

As soon as you have selected a suitable content language, your settings will be adopted in BIC Process Execution. This setting will persist even if you close the application or the cache has been deleted from your browser.

Note

Changes of the content language applied to the BIC Process Execution application have no effect on the content language settings of your BIC Process Design. With that you can set different content languages in the two applications.

Note

The content languages which are available for the users are derived from the languages specified in the administration area of your BIC Process Design.

How can I change the language of the user interface (UI)?

You have the possibility to change the language of your user interface. Like in your BIC Process Design the UI language depends on the browser settings, which have been chosen for the corresponding browser. You can find more information about this subject here

Note

In case the UI language settings can not be applied, then the user interface will be displayed in English by default.