Defining Expressions (Functions)

Basic Text Replacement

Basic text replacement is used in places such as task threads, email messages and threads, and process copy definitions. Process data might be used by putting percent sign at the beginning and end of the name within the text.Example: Order #% order_number is seen as Order # 10202 when text replacement is applied.

Advanced Statements


Strings or strings made up of letters should be placed in quotation marks at the beginning and end. For example, “your first name” +% first% + “. Thank you”

Comparison Procedures

The comparison process is mainly used in decision expressions. The equality or order of two numbers, dates, or sequences can be compared. “==” controls equality, “! =” verifies that the compared items are not equal. “Less than” (<), “greater than” (>), “less than or equal” (<=), and “greater than or equal” (> =) are the comparison processes available.

Numbers are sorted by value, strings are sorted by letter, and dates are sorted in chronological order.

Mathematical operations

Standard mathematical processes can be performed using “+”, “-“, “*”, and “/” for addition, subtraction, multiplication and division, respectively.


All functions allow any of the values ​​required for the process to be replaced by the data element. For example: You can specify max (1000,% request_amount%) to return the larger of the two values.

You can also use the following functions defined in C #, which you can use in the Calculate component.


Now ()

Now () returns the date value equal to the present.


The string sent as parameter is the function returning the number of characters of the variable.

DayDiff(date1, date2)

It gives the day difference between two dates sent as a parameter.


It is the function that returns the first and last name of the user who started the process.


The counter function serves as a counter. Counters are used to provide sequential numbers such as invoice numbers, serial numbers, etc. Each series is specified by a set of value parameters.You can specify a counter (“serial”) to generate a serial number. Whenever you use this statement, it return a number which is one number greater than the last.

CounterEx(CounterName, IncrementBy, MinValue)

The CounterEx function provides a little more flexibility in generating unique numbers. The first parameter of CounterEx is a string specifying the serial name (same as the Counter function). The second parameter specifies how much the counter should be increased (it can also be a negative number to decrease the value). The third parameter shows the minimum starting value.


It is the function that returns the ID number of the user who started the process.


It is the function that returns the ID number of the process that started.


It is the function that returns the ID number of the person who last completed the task.


It is the function that returns the user name of the user registered in the system according to the userid value sent as a parameter.


It attempts to call the supervisor of the user. Userid parameter should be an Assignment type of Data Element. The value that is returned by the function is stored in the Assignment type Data Element.


It provides a copy of data elements in LineItem Table type sent as a parameter with its all features. The value that the function has returned should be assigned to the LineItemTable type.


Function transforms a group identification (ID) number (received from the assignment data element) to a text version of the group or user name.


is the function which returns the line number of table in LineItemTable data type sent as a parameter. Assignment should be made to a variable of numeric data type.


is the function which returns the column number of table in LineItemTable data type sent as a parameter Assignment should be made to a variable of numeric data type.


is the function which returns the summary total of table in LineItemTable data type sent as a parameterAssignment should be made to a variable of numeric data type.


is the function that enables the userid sent as a parameter to be set by the processw initiator.


function enables you to add a new line to the variable in LineItemTable data type.

IsUserInGroup(userid, groupid)

function enables to check whether the user specified by the first parameter is involved in the second parameter group or nor.


is the function that retrieves the email address of the user given the information.

GetXmlNodeValue(xmlelement, xpath)

It is the function that allows the value of the node field in the XML value to be retrieved by the XPATH method.

SetColumnReadOnly(table, columIndex, bool)

enables the corresponding column of the LineItemTable element to be read-only. For example; SetColumnReadOnly (% buy_table%, 8, true) It makes column 9 of the purchasing table read-only. We can make the same column editable wherever we want by using false with the same function in the process. To make multiple column joints, it can be used as SetColumnReadOnly (% table_name%, [0,1,2], true).

* Valid after versions.

HideTableColumn(table, columIndex, bool)

hides the corresponding column of the LineItemTable element. For example; HideTableColumn(%satinalma_tablosu%, 8, true) It makes the column 9 of the purchasing table hidden. We can make the same column open wherever we want by using false with the same function in the process. For multiple column hiding, it can be used as HideTableColumn(%table_name%, [0,1,2], true).

* Valid after versions.

AddToDynamicGroup (GroupIdList)

Dynamic Group type element is selected as the data element to be set in Calculate.  By using the function on the left on the statement window,  a list of the groups to be authorized is added in double quotes to the field in parentheses.

I.e: It is used as AddToDynamicGroup(“1001”) veya AddToDynamicGroup (“1001,1002”) or in order to set with the help of element, AddToDynamicGroup(%groupID%).

SetLineItemTableButtonStates (table, addButton, deleteButton)

LineItemTable is also used to restrict the authorization of Add and Delete operations.

To restrict the “Line Adding” authority; SetLineItemTableButtonStates (% claim_details%, true, false),

To Restrict “Line Deletion” Authority, it is used as SetLineItemTableButtonStates (% claim_details%, false, true).

* Valid after versions.


The data in a LIT is transferred to a different LIT element based on particular conditions with this function.

For example:    GetLineItemTableEx(%lit%,[0,1,2,3],{1:’”+ %test% +”‘,2:’5’})

It takes the  0,1,2,3 columns of all rows matching with the data in the element named “test” in column 1 of the LIT table and containing 5 in the column 2, and it clones it into a different LIT element matching in the calculate component.

SetLineItemTableFrozenColumns (table,index)

Enables the intended column in LineltemTable to be solved.

*Indexleme starts with 1.

WriteTableToDatabase (table, dataSourceId, “INSERT TableName (Target Table Columns) VALUES (Columns in LineItem Table)”)

Enables to write the values ​​of the LineItemTable data element to the intended table in SQL.

For example:   WriteTableToDatabase (% lit%, 7, “INSERT TABLE (COLUMN_A, [COLUMN B], COLON_C) VALUES (Column1, Column2, Column3)”)

* There should be no spaces after the comma between the column names.

*DataSourceId: The table data source to be inserted. [SYS_DATASOURCE] table can be used.


The Task Form to be converted to PDF is printed on the document element of the printable format. Instead of the TID value, the AID number of the relevant Task Form is written.

* Component, (AID) number can be found in the TMPL_ACT_MASTER table


The values ​​in the LineItemTable data element are written to the document data element in excel.

A name can also be given to the excel document to be created by adding a second parameter in double quotes.

For example:   ConvertToExcel(%tablo%,”excel name”).


Enables the lines in the intended LineItemTable element to be deleted.


It is used to delete the values ​​in the LineItemTable element.