SYSPRO Workflow Services > SYSPRO Workflow Designer

SYSPRO Workflow Designer

You use this program to develop and test workflows and activities. The designer provides you with a workspace on which you can model and formalize your business processes. The drag and drop functionality allows you to quickly create and maintain your workflows.

Toolbar and menu

Field Description
Workflow Display Settings Make changes to the Workflow description and KeyId description.
Workflow Defaults Select the default email settings required.
Auto Validation Automatically validate the workflow as you create your workflow. Turn off auto validation for a performance improvement in large workflows.
Manual Validation Validate the workflow only when required.

Toolbox

The Toolbox pane contains a list of all available activities that can be used when developing workflows. You can drag-and-drop the activities onto the design surface to create your workflow.

Control Flow Activities

Field Description
DoWhile Add an activity with a body and a condition. Actions are added to the body and will be executed until the condition is met (i.e. until the condition met is true). The body will be executed at least once.
ForEach<T> Add an activity with a body and a list of values. At runtime, the list is repeated and the body is executed for each value in the list.
If Add a condition against the activity which has either a true or false outcome. If the condition is true the Then activity is executed, if the condition is false the Else condition is executed.
Parallel Add an activity that allows concurrent execution of its children. The activity is only completed when all of its children have executed. This is the equivalent to an AND operand.
ParallelForEach<T> Add an activity with a body and a list of values. At runtime, the list is repeated and the body is executed for each value in the list in a parallel fashion.
Pick Add an activity that provides event-based control flow. The Pick activity contains a number of branches with triggers and actions performed against it. When the Pick activity is executed, all the trigger activities from all its branches are scheduled. The first trigger to complete executes its corresponding action activity, and all other trigger activities are canceled. The only valid children for this activity is a PickBranch activity. This is the equivalent to the OR operand.
PickBranch This activity represents a branch in a Pick activity.
Sequence Execute one or more activities in a specified order. This is often used for automatic processes where no human input is required.
Switch<T> Add an activity with an expression and a set of cases. Once the expression is evaluated, the Switch<T> activity looks for a case with a key that matches the result of the expression. If found, the Switch<T> activity schedules the activity associated with that case.
While Add an activity that is made up of a condition and a body that continues to execute the activity as long as the true condition is met.

Flowchart

Field Description
Flowchart Add the root of a flowchart workflow. This is used to create workflows with complex flow controls. It is represented by a green sphere which indicates the start node of the flowchart. It can be used inside any container activity.
FlowDecision Add an activity made up of a condition which has either a true or false outcome. If the condition is true the true path is executed, if the condition is false the false path is executed.
FlowSwitch Add an activity that selects a next node depending on the value of an expression. This is similar to the FlowDecision activity, except it can have more than two outcomes.

Messaging

Field Description
CorrelationScope Add the CorrelationScope activity to the workflow.
InitializeCorrelation Initialize the correlation value, without sending or receiving a message.
Receive Receive information into the workflow. These activities require user interaction.
Send Send a request to an activity.
ReceiveAndSendReply Add an activity that waits for an incoming message and then sends a reply to the sender. These activities fit inside a sequence and you can add any activity between them.
SendAndReceiveReply Add an activity that sends a message and then waits for a reply. These activities fit inside a sequence and you can add any activity between them.
TransactedReceiveScope Add a TransactedReceiveScope activity to your workflow.

Runtime

Field Description
Persist Persist the workflow instance.
TerminateWorkflow Terminate the execution of a workflow.

Primitives

Field Description
Assign Add an activity that sets argument variables within a workflow.
Delay Add an activity that stops the current workflow execution path for a specified time. Once the duration is reached, the workflow continues execution as expected.
InvokeMethod Add an activity that allows you to call an existing Common Language Runtime (CLR) instance or static method.
WriteLine Add an activity that writes a given string to the console. Using this activity is useful for demonstration purposes, as well as for testing and debugging workflows.

Transaction

Field Description
CancellationScope Add an activity with a body and a Cancel option, which gets called if an activity is cancelled.
CompensableActivity Add an activity that will allow you to take corrective action on an activity based upon an activity that occurs after the successful completion of the activity body.
Compensate Invoke the compensation handler of the CompensableActivity.
Confirm Invoke the confirmation handler of a CompensableActivity.
TransactionScope Add an activity that will execute the activity in a single transaction - when all participants in the body of the activity have completed successfully.

Collection

Field Description
AddToCollection<T> Add an activity that adds an item to a list you have defined (e.g. you can configure a workflow to collect a list of requisition numbers which have not yet been approved - i.e. a status of open - and create a list of these numbers).
ClearCollection<T> Add an activity that removes a specified collection of all the items.
ExistsInCollection<T> Add an activity that checks for a specified item in a particular collection.
RemoveFromCollection<T> Add an activity that removes a specified item from a particular collection. For example you have a list of requisitions which have a status of open, of which requisition 5997 has been approved. You use the ExistsInCollection activity to find that number, and the RemoveFromCollection activity to delete the requisition from the list as the status is now approved.

Error Handling

Field Description
Rethrow Rethrow an exception, generally one that has been caught using the TryCatch activity.
Throw Throw an exception from the activity.
TryCatch Add an activity that is used to implement an exception-based error handling mechanism. This activity contains a Try activity, a collection of Catch activities and a Finally activity. A Try activity will attempt to execute its activity. If the Try activity throws any exception, the Catch collection is used to match the exception. If there is a match, the action of the corresponding Catch is executed, serving as the error handling logic for the exception. If the activities in the Try section successfully complete, or the activities in the Catches successfully complete, the TryCatch activity executes the Finally activity.

State Machine

Field Description
StateMachine Define the states of the workflow and the transitions between those states.
State Represents a state in which a state machine can be in. All states must have at least one transition, except for a final state which may not have any transitions.
FinalState Represents the completion of the State Machine.

Activity Pack

The Activity Pack allows developers to develop workflows without needing to create custom activities for calling business objects, sending email and creating to-do lists. Using the CallBusinessObject activities within the SYSPRO Activity Pack also allows developers to execute business objects without having to license the e.net Solutions module.

Activities from the SYSPRO Activity Pack are added to the workflow using the Dependencies pane.

The Activity Pack is only available with the SYSPRO Workflow Services Professional module, and a workflow license is required. A license is allocated per workflow which can be used in any of your SYSPRO companies, and a single workflow license applies to all versions of a single workflow.

Field Description
CallBusinessObject Select this to add an activity that is used to call a business object.
CallBusinessObjectSimple Add an activity that is used to specify the XmlIn and XmlOut variables into the relevant properties of the activity. The business object will then be called using the XmlIn and the results will be returned into the XmlOut property.
SendSmtp Add an activity that allows the workflow to send an email using the SMTP server setup within your organization.
SendEmailExchange Add an activity that is used to send an email from the workflow using the Microsoft Exchange server within your organization.
SendEmail

Add an activity that is used to send an email from the workflow.

You can define the external address of the workflow service at the serviceexternalbaseaddress key in the SYSPRO Workflow Service config file. This value is used for generating links in email templates.

UpdateTaskMessage Add an activity that is used to update an existing task in the To-Do List in SYSPRO for one or more operators.
RemoveTaskMessage Add an activity that is used to clear a task from the To-Do List in SYSPRO for one or more operators.
AddTaskMessage Add an activity that is used to create a task in the To-Do List in SYSPRO for one or more operators.
Transform Add an activity that is used to transform one document type to another using a pre-defined XSL file.
SendWorkflowMessage Add an activity that is used to instantiate one workflow from another. For example if you have a Requisition workflow and a Purchase Orders workflow, then following approval of the requisition the SendWorkflowMessage can be used to create a new instance of the Purchase Orders workflow. This is automated and does not require human intervention.

Design surface

The Design pane displays the workflow design surface and shows the layout of your workflow.

Field Description
Expand All Expand all the composite activities within a workflow.
Restore Expand the collapsed activities.
Variables Edit the variables for your workflow. Variables are storage locations for data.
Arguments Add the arguments required for the selected activity. Arguments represent the flow of data into and out of an activity.
Imports Add additional libraries to the current workflow.
Toggle Pan Mode

Click and drag to move the visible portion of the workflow. This allows you to navigate larger workflows more easily in the designer.

The middle mouse button or space bar can also be used to pan the workflow designer.

Zoom View the workflow in more detail.
Fit to page Fit the entire workflow onto the design page.
Overview View activities within a workflow. This is typically used if there a number of activities on a workflow that cannot be viewed completely.

Workflow Validation

The Workflow Validation pane lists any errors or warnings relating to the workflow that is currently being created.

Field Description
Description This indicates a description of the validation error.
Filename This displays the name of the file with the error.
Line This identifies which line has the error.
Column This identifies which column has the error.

Properties

The Properties pane displays the properties and their respective values for the activity that is currently selected.

Workflow Outline

The workflow components are displayed in a tree-style outline view. This makes hierarchical workflows easier to navigate.

Workflow Testing

The Workflow Testing pane is used to test the workflow that you are designing. An instance of the workflow is created during testing, and the execution path of the workflow simulated. This is typically used to diagnose problems in the workflow.

Field Description
Operations Select the workflow operation to be tested.
Send Message Send the operation to the test harness with the defined parameters.
Send Message and Receive Reply Send the operation to the test harness with the defined parameters, and wait for a reply from the destination.
Start Workflow Testing Begin testing of the workflow.
Send Parameters  
KeyId Enter the workflow description.
SYSPROOperator Enter the operator name.
Send Parameter fields Enter the parameters that can be sent with the operation. These fields will change depending on the operation selected.
Stop Testing Stop testing on the workflow.
Clear Testing Output Remove the text in the Testing Output pane.
Clear Previous Tracking on Send Display on the current tracking data.

Notes

The Notes pane is a free format area that allows you to document or make general notes about the workflow you are designing. A formatting toolbar is also displayed.

Dependencies

The Dependencies pane allows you to specify any external activity libraries required by the workflow.

Field Description
Components  
Component This contains a list of components that are dependents of the workflow.
Activity Libraries  
Activity Library Select the activity library used by a workflow.
Add Dependency  
Dependency type Select the dependency required by the workflow.
Activity library Select the activity library that must be added to the workflow.
Select component Select the component required.

Email Templates

The Email Templates pane is a complete HTML email template designer that can be used to develop templates for email notification.

Field Description
New Template Create a new email template.
Delete template Delete an email template from the Templates folder.
Insert secure workflow call Add a secure link to a notification email.
Insert Hyperlink Add a hyperlink to the email.
Remove Link Remove the hyperlink from the email.
Insert Image Insert an image into the email.
Insert Table Insert a table into the email.
Insert Rule Insert a horizontal line.

Object Explorer

The Object Explorer pane is used to display properties and methods of selected classes. This can be used to view any .NET library dependencies added to the workflow and its hierarchy. If the dependency was generated by a Call business Object activity, then the Object Explorer can also be used to view any comments and/or documentation relating to the XML elements.

Field Description
Workflow Defaults Configure defaults for the workflows' email settings.
Custom Settings (for SMTP or Exchange) Enable this to use these settings for email activities in the workflow instead of the global defaults defined in the Database Settings. These settings override the global settings.