This page describes the use of variables in a Bizweaver workflow.
“Variables” are data values held in memory during the execution of a workflow. There are two types of variables in Bizweaver: User Variables and Step Variables.
“User Variables” are defined by the user. These values can be defined in the Variables tool or they can be created using the VBScript tool.
“Step Variables” are unique references created by the Bizweaver application. Most Bizweaver workflow tools make these variables as the step is executed. An example of this would be a reference to an output column from an SQLCommand: Reader step.
Bizweaver variables are available to other workflow steps that follow the step where they are created.
The Variables tool can establish constant/static values to be used in the following workflow steps.
New in Bizweaver version 2.4
Following are examples of using variables.
In this example, the workflow is being called via the Bizweaver API. The name expected to come from the calling application is expected to be “vgoRecNum”.
The variable is then referenced in a subsequent SQL: Reader step.
In this example, variables are defined for login credentials used at various points throughout the workflow.
The variables are then referenced in a subsequent WebService2 tool step as shown.
Arithmetic calculations can be applied to a numeric variable during workflow execution. This functionality is introduced in Bizweaver version 2.1.0.
A calculation using a variable is done by using the “EVAL{}” function in the “Value” of the variable. The calculation can be done against both user and step variables. The calculation is placed within the braces {} as shown in the examples.
Everyday use of this functionality is to maintain a counter to control processing or document processing. The calculation will typically be placed inside of a loop construct.
Following is a simple example of how a “counter” calculation is defined. We want to know how many records were passed into a loop from an SQLCommand step in this case. For this example, we will use a simple statement.
The “counter” variable is first defined in the “Variables_Init” step. In this case, the variable is named “ActionCount,” and the initial value is set to zero (0).
The “SQLCommand” step reads a list of data records. This list feeds into a loop.
SELECT
[recordNumber] -- This will be a record number from your table that you are using
FROM
[yourTable] -- table you are pulling the recordNumber from
The “counter” variable defined initially is incremented by 1 for each record passed into the loop.
In this process, we are taking whatever value is in “ActionCount” and adding 1 to it. The initial value was zero, so when the first record is processed, “ActionCount” = 0 + 1, so now “ActionCount” = 1. This process continues for each record that is passed into the loop.
When all records have been read, the loop ends. At this point, the “ActionCount” variable will contain the number of records that were passed into the loop.
The final step of the workflow writes out a file with the record count information. Below is the file writer step information to write the information to a text file.
Step variables are created by Bizweaver and do not require any user action. These variables are available as soon as a step has been executed.
As noted, step variables are created when a step executes. When the step that makes the variable feeds a Bizweaver loop, the same variable's value will change for each loop cycle. Following is an example of this using the workflow shown above. For this example, we will focus on the “CardCode” value.
The step named “SQL Command_getData” uses the SQL statement:
SELECT CardCode, CardName, CardType FROM OCRD
This produces a list of records that feeds into the loop “Loop_ProcessRecords.” The step variable created for “CardCode” is:
WorkFlow(SQLCommand).Get({FIELD_CardCode})
This step variable is used in the FileWriter_VariableTest step.
The list contains the values C1, C2, and C3.
The first time the file writer sees the step variable, the value will be the first record in the list or C1. Then, when the end of the loop processing is reached, the next record from the list is read.
When the file writer step sees the same step variable, the next record will be returned from the SQL select statement or C2 received from the loop processing. This cycle continues for each record read into the loop processing.
The following image illustrates how variables are selected. This process is used in all instances where some variable needs to be referenced. The list of available workflow steps will get larger as you progress through additional steps in the workflow.
When variables are used, they have a particular name structure, as shown in the Using Variables with loops code snippet above. While it is possible to enter the variable name manually, this approach is not recommended. If this approach is taken, make sure that the variable's syntax is the same as it is in the step, including capitalization.
Once a variable has been created, it can be used in any subsequent workflow step.
In a Bizweaver workflow, a user can reference variables initiated earlier in the workflow using the variables selector. In this example, a SQL statement is being used to pull information from the database. We want to limit the data based on a certain value. In this example, a value from the “Variables” step is used.
When processed, the below workflow will only pull the CardType of “C,” set in the “Variables_Init” step.
In the variables tool, there is a User-Defined Variable of “UserVariable1.”
In the SQL tool step, you can reference the User-Defined Variable of “UserVariable1” by pressing [F4] in the SQL tool, navigating to the left menu, and selecting the correct Variables option variable from the list of variables on the right menu.
So, the SQL statement now uses the value ‘C’ in the variable “UserVariable1.”
Since the variable value ‘C’ is a string (text), the variable name must be enclosed in single quotes as required by SQL.
In this example, we are writing the output of the SQL step to a file.
Below is the workflow we are using for the example.
Note the fields in the SQL statement that will be referenced later.
Next, you will press [F4] and select the SQL step variables when going to the file writer step.
You can see each step variable in the “Body” section of the FileWriter Tool.
Starting in Bizweaver 2.7.2, the functionality to modify variables was introduced. This allows a user to manipulate all variables that are inserted in a specific step.
| JSON Reserved Character | Explanation | Escaped Value |
|---|---|---|
| Backspace | A backspace in any text in a string | \b |
| Form feed | Advanced to the next page | \f |
| Newline | A new line in a string | \n |
| Carriage return | A carriage return in a string | \r |
| Tab | A tab in a string | \t |
| “ | A double quote | \” |
| \ | A backslash | \\ |
| XML Reserved Character | Explanation | Escaped Value |
|---|---|---|
| < | Less than sign | < |
| > | Greater than sign | > |
| & | Ampersand | & |
| “ | Double quote | " |
| ' | Single quote | ' |
| SQL Reserved Character | Explanation | Escaped Value |
|---|---|---|
| ' | Single quote | \' |