Workflow Templates - Screen Guide
Workflow templates include:
- Steps
- Progress-to Steps
-
Actions
- Values
Workflow templates grids are resizable.
You can click on the blue labels - it's the same as pressing F9 to view the details.
Workflow template configuration
Enter a meaningful description.
Select Yes to Activate the workflow.
If you need to select No to deactivate the workflow, make sure you complete existing open workflow instances first.
Defaults to No.
Select Yes to delete the workflow instance when a closing workflow step has been taken. The instance will only be deleted once the workflow log entry has been created. The workflow history will remain available.
- Select Yes to start a workflow from a Sage 300 screen. This requires Orchid Information Manager activated and configured.
User needs to be an Workflow User to start a workflow manually.
See example setup in Customer On-Hold Alert and Approval
- Select No to start the workflow automatically
The workflow can only be started when a Sage 300 record is inserted or updated (as per View Events and Scripts configuration).
See example setup in A/R Credit Limit Approval.
Note: In both cases, you can start a workflow in a custom Extender script, if using Extender Customizer or Developer Edition.
This applies to manually started workflow only.
a. “Yes” – then users can start the same workflow for the same key field multiple times.
Yes - If you want the workflow to behave differently if there is an active pending workflow before a new one starts, use the "IfWorkflowExists" action.
b. “No” – do not allow them to start another instance. But no message.
c. “No with message” – do not allow users to start another instance and give them a message “There is already a workflow instance for workflow template: {workflow template name} and {view name} - {record key}
When you select "No" or "No with Message", if you update a field/View configured with the workflow template, and an existing workflow instance is active, the workflow is not triggered.
This may disable controls you are implementing with this workflow where this workflow has an active instance is active. USE WITH EXTREME CAUTION. Consider using the "IfWorkflowExists" action and "Can start multiple workflow" = Yes
Workflow Steps
A workflow step is a collection of actions taken when the workflow starts or is progressed. Each step is recorded in the workflow log and can be viewed in the workflow history.
The Previous step and next step are visible on the workflow Console.
Insert a new line for each Step of the workflow. Provide a Step Name, a description and select whether the step is an "Entry Step".
When attaching a workflow template to a View, you can choose the entry step. For details, View Events, Scripts & WF
For each step, define Actions.
For steps where a user action is required (e.g. Approval), configure the Progress-to steps.
You can configure up to 4 optional parameters when you attach a workflow template to a View in View Events and Scripts and when configuring the Progress-to Steps.
Parameter 1 is to Parameter 4 is fields on the Steps setup section of the Workflow Template allow you to describe how the parameters are used in the workflow.
Example: In the A/R Customer Credit Limit approval workflow, Parameter 1 is the maximum amount a user can update the credit limit without approval, Parameter 2 is the amount above which a manager's approval is required.
Extender includes a default Reassign Step on the console where you can select a user/user group to reassign the workflow.
You can design your own Reassign step with custom actions like "send email" - If found, it will be added to the Console automatically, replacing the default step. You don't need to add it as a Progress-to Step.
Progress-to Steps
Progress-to steps are used when a user needs to select the next Step to progress the workflow. Progress-to steps add Controls to the workflow console. If workflow screen icons are configured in Information Manager, Progress-to steps can be run from the configured Sage 300 screen.
Select a step and if required, add a row for each step that the workflow can progress to.
You can configure parameters that will be passed to the action when selected.
On the workflow console, you will see the available steps depending on the current step that the workflow instance.
e.g. Approve or Reject.
If you have configured workflow on Sage 300 screens in Information Manager, Progress-to steps can be used from the screen icons.
Add screenshot/link to Infor manager setup
e.g. Approve or Reject.
Workflow Actions
Actions control what each step of the workflow does. Extender Configurator includes a certain number of pre-defined actions.
For a list of actions, refer to Configurator Actions
Use F9 to view the details
Click Insert on the grid or the New button on the F9 zoom screen to create a new action.
Tip: Ensure that each Step ends with a Complete action or a GoToStep Action.
Action #
Type an Action number.
Tip: Leave some gaps in Action numbering to make ongoing maintenance easier. You can use Renumber before inserting rows. See below.
Action Name
Select an Action.
This will refresh the fields required for each action.
The following actions are pre-configured in Extender Workflow.
An action is a Python script that is stored in the database just like regular user scripts.
Configurator includes a number of predefined actions. For details, refer to Configurator Actions
To add a custom action, you need to be licenced for Extender Customizer or Developer edition and upload a custom script to the database.
Complete Fields required for each action
The field labels on F9 Zoom and the grid headings are named after the parameters configured in the Extender Script that defines the action.
Actions can have up to 4 parameters, as defined in the Action script.
Comment
Enter up to 250 characters to document how the action is configured.
Use the Help link on the detail action screen for details.
The following values are available to use in action parameters and email templates used in the Workflow.SendEmail action:
{$1}, {$2}, {$3}, {$4} - step parameters
{PROGRAM} ID of calling program (e.g. OE1100 = Order Entry)
{ROTOID} ID of the calling view (e.g. AR0024 = AR Customers)
{USER} current user (e.g. ADMIN)
{field} gets a value either from the workflow instance values, or from the target view.
{VIEW.field} gets a value from the target view
{VALUE.name} gets a workflow instance value
{VIEWID} the view ID for this workflow instance
{VIEWKEY} the record key for this workflow instance
{KEYDESC} the description for this workflow instance
{TOVALUE} the requested value for this workflow instance
{STATUS} the current status for this workflow instance
{COLOR} the colour for this workflow instance
{CURUSER} the user or group currently assigned for this workflow instance
{WTNAME} the workflow template name for this workflow instance
{STUSER} the user who started this workflow instance
{STEPNAME} the current step for this workflow instance
{PSTEPNAME} the previous step for this workflow instance
Formatting numbers:
Append ':{required decimals}' to the field
E.G. {ORDTOTAL:2}
True Action #: Enter the Action # that the workflow should perform next if the Action returns True
False Action #: Enter the Action # that the workflow should perform next if the Action returns False.
The True and False Action # control what actions will actually take place in the workflow depending on the result of the Action script.
If you set the True and False Action # to 0, the workflow step will stop with that action.
Important! If an action number is not in a True or False value, they will never be used in the workflow.
Using the Evaluate Action
The Evaluate action is used to compare a field to a pre-defined value (e.g. Credit Limit greater than a certain amount or Customer Group being a specific value, Vendor name changed from original value).
If the result of the comparison is false, you can go to Action # 50, Approve automatically. This action would be configured as GoToStep "Approve".
If the result of the comparison is true, you want the workflow to do 3 actions, Action # 15, Action #20 and Action #25.
Use the Renumber to re-order the actions displayed on the screen. Extender will use the action number, add a gap of 10 so that you can insert new actions and renumber the True/False actions accordingly.
Action Name | Description | Parameters | |
AssignUser | Assign to a Workflow User Group |
Select a user group. To configure a new user group, refer to Workflow User Groups. |
|
AssignUser | Assigns a user to the workflow instance |
You can type a Sage 300 User ID, select a value defined in the workflow or select a value set in a parameter when attaching the workflow to a view. Type {USER} to assign workflow the current user. When you assign a workflow to a user who is not configured as a Workflow User, the AssignUser workflow action returns an error. The next action is configured in the False Action # field in the Workflow Template. Make sure the Workflow Template notifies an Admin user and proceeds with the rest of the workflow actions. Tip: You can add a Workflow Action to assign the workflow to ADMIN if the first AssignUser action returns False |
|
AddParameter |
Stores input collected in the workflow Parameters are added to the Values of the workflow |
Name: can be used in other actions (such as set field or sendEmail) Parameters Label: description user will see when prompted Type: Parameter types can be: > text(size=xx) > integer > number.0 - e.g. 10.1 > number.00 - e.g. 10.12 > number.000 - e.g. 10.123 > user - a user or user group > date
Default Value: Optional -
Parameter values (as entered by the user ) are saved as workflow values and available on the console. Parameters can be added to email templates. Use {PARAMNAME} in the email template. |
|
AskForParameters |
Step will stop at that step and wait for user input. True Action should be the action you want to perform when user has submitted the input. |
No parameter. Execution continues at the AskForParameters True Action step #. If the user selects "Cancel" on the UI, the action returns False. Tip: Configure the actions in the template if you want different process flow if a user enters input or clicks Cancel. This action is not active when the workflow is progressed through a script, for example the Remote Action poller. |
|
AssignColour | Assigns a color to a workflow instance in the Workflow Console |
Select a color using the Finder. To configure colors, refer to Workflow Colours |
|
Complete |
Action to ensure that the action completes the workflow. If Auto delete instance when complete is set to Yes on the workflow, the instance will be deleted when the Complete step is successful |
No Parameter. When the workflow is complete, no further processing happens. The next step in the Console shows as Blank |
|
CreatePOfromReq | Create a PO from a requisition | Requisition requires a vendor on the Header. All lines must use the same vendor. No parameters | |
Evaluate | Used to set conditional workflow |
Field, Operator, Value If evaluating a Boolean field, use 1 for True/Yes or 0 for False/No Notes:
If the Field is set to {PROGRAM}, the action will compare the RotoID of the screen running the workflow to the value defined in the Value parameter. If you only want the workflow to do certain actions for certain users, you can use Evaluate {USER} to use the logged on user in the condition. |
|
GenerateAPPaymBatchListing | Runs and saves as a PDF the AP Payment Batch listing report |
For use in a workflow template to approve AP Payment batches See example in A/P Payment Batch Approval |
|
GetOptField | Used to read Optional Field Value to use in workflow |
Parameter 1 = Optional Field View ID - Use View Info to select - Use PO0623 for PO Header Optional Fields or G/L0400 for GL Account Optional Field Parameter 2 = Optional Field Name Parameter 3 = Workflow Value |
|
GoToStep |
Go to another workflow step. |
Select Step name | |
IfWorkflowExists | Returns True if there is a pending workflow. |
Can be used in the workflow template to have different actions if the workflow is Active. Can also be used in View Events and Scripts to make a field ReadOnly if using Extender Customizer or Developer Edition. |
|
IfWorkflowUI | Returns True if the workflow is progressed on the Console or the workflow screen icons. |
Used in the workflow template to have different branches if the step is used on the console and in a script such as the Remote Action Poller. Users are generally not prompted for parameters or displayed messages when the workflow is progressed in a script. |
|
IsDelete | Returns True if the workflow is part of a DELETE view operation. |
This only applies to Master file and Transaction views. When a batch is "Deleted", the status is set to "Deleted", the Delete view operation is not run. Tip: Use the Batch status field on the Batch if you need to trigger a workflow when a batch is deleted. |
|
IsInsert | Returns True if the workflow is part of an INSERT View operation |
Can be used when a workflow is attached to an UPSERT View operation or a View Field. This only applies to Master file and Transaction views. When a batch is "Inserted", the batch is created immediately without running an "INSERT" View operation. Tip: Use the Number of Entries field on the Batch if you need to trigger a workflow when a batch is inserted (Number of entries = 0)
|
|
IsUpdate | Returns True if the workflow is part of an UPDATE View operation (vs an INSERT) |
Can be used when a workflow is attached to an UPSERT View operation or a View Field. You may have different actions when a new ON HOLD order is inserted vs when an existing order is updated to "On hold" |
|
IsUserMemberGroup | Return True if the user configured in Parameter 1 is part of the Workflow User Group in parameter 2 | To use it for the logged on user, you can use {USER} in Parameter 1 | |
Reassign |
Reasssign a user to another user/group Displayed in the workflow console. |
If there is no reassign step then the user is prompted for the user/group to reassign to, then the workflow user is set to that user. If you have a step called "reassign" in your workflow, the custom step is run. Example: If you want to send an email when a workflow is reassigned, add your own Reassign Step. |
|
PostBkEntry |
PostBkEntry |
The PostBkEntry posts the bank entry configured in the Workflow Instance ID. Use in a workflow template associated with the Bank Entry View. Approver needs rights to post Bank Entry in Sage Security |
|
PostBatch |
PostAPAdjustmentBatch PostAPInvoiceBatch PostAPPaymentBatch PostARAdjustmentBatch PostARInvoiceBatch PostARReceiptBatch PostARRefundBatch PostGLBatch ProvPostGLBatch |
The Post_Batch actions post the relevant batch. Batch number entered as Parameter 1. The approver needs rights to Post the batch in Sage security. |
|
SendEmail | Sends an email to the user / user group or email address configured in Parameter 2. |
Parameter 1 = Email template - You can use the finder to select the message template. Parameter 2 = Email address or Sage 300 User or Workflow user group. You can use {CURUSER} to send a notification to the user assigned to the workflow. Make sure the SendEmail Action is after the AssignUser Action. Note:
Example: someone@company.com;ADMIN;APPROVERS; Optional: CC, Subject (to overwrite email template subject) |
User profile |
SendEmailAttachments | Sends an email with an attachment |
Extender Message template - Can include variables from the view the workflow is attached to Email address configured in Parameter 2: refer to SendEmail action above. Set the path and filename of the attachment in a Workflow value and enter the workflow value name in P4. Ensure the path is set to UNC format and the users have access to it. |
|
SendEmailToStarter | Sends an email to the user who started the workflow | Email template, CC, Subject | |
SetDescription | Sets the workflow description for use in Console and workflow logs. | You can use any string/word as well as workflow and view variables. | |
SetDrilldown | SetDrilldown sets a value to a Sage 300 view field to enable Drilldown from the console to the underlying Sage 300 screen. |
Parameter 1 is the field name that is used as the KEY field in the vidrilldown.ini file. Parameter 2 is the value you want to set. For example {IDCUST} for the customer number from an ARCUS workflow. For details, refer to Drilldown in workflow. |
|
SetField |
Sets a configured field to a value. Field can be any field on the view that the Workflow will be attached to |
You can use {VIEWID}, {VIEWKEY}, {KEYDESC}, {TOVALUE} - these correspond to the View ID, Record Key, Description, and Requested Value columns in the Workflow Console screen. Example: To prevent a change to the credit limit, you use SetField to restore the value to the previous value using SetField and {ORIGINAL_AMTCRDLMT} Note: You can update 2 fields with SetField . This is useful when updating SalesPerson and SalesPercentage on OE Order.
|
|
SetOptField | Set an optional field value |
Parameter 1 = Optional Field View ID - Use View Info to select - Use PO0623 for PO Header Optional Fields or G/L0400 for GL Account Optional Field Parameter 2 = Optional Field Name Parameter 3 = Optional Field Value |
|
SetStatus | SetStatus will set the status of a workflow instance. The Status is shown on the workflow Console | P1 is the status you want to set to the workflow instance. Displayed on the console, on the workflow logs and in the workflow reports. | |
SetValue | SetValue will add a row to the workflow instance values grid. |
Parameter 1 is the field name that you want to give to the Value. Parameter 2 is the value you want to pass. It can be hard-coded, set to a value defined in the workflow or set to the View Field original or new value. Use the field name between curly bracket to store the new amount (e.g. {AMTCRDLMT}
P1 can be set to {VIEWID} and value would be the Sage 300 View ID when a workflow is started from a screen and not attached to a view. |
|
ShowUserError |
Displays a Error to the logged on user on the Sage screen. |
As above. | |
ShowUserMessage |
Displays a Message to the logged on user on the Sage screen. |
Parameter 1: Text to display. For details The message can include Variables, such as Workflow fields or Values from the workflow. Use an Evaluate action before using the ShowUser actions to ensure that the message is only showing when the view is used on a Sage 300 screen. field: "{PROGRAM}" operator: "=" value: "AR1300" (RotoID of the screen that should display a message). |
|
ShowUserWarning |
Displays a Warning to the logged on user on the Sage screen. |
As above. |
Workflow Values
Values are variables that can be defined in the Workflow templates and used in the Workflow actions. Such values are included in the workflow history Log file.
if you use the SetValue Action, the workflow log will track the value for each step of the workflow instance.
Values can be hard-coded in the workflow, set to View fields when the workflow is attached to a view (e.g. {ORIGINAL_FIELDNAME} , or set in the workflow based on parameters configured on View Events and Scripts.
You can also Values from workflow instance
{VIEWID}, {VIEWKEY}, {KEYDESC}, {TOVALUE}, {STATUS}, {COLOR}, {CURUSER}.
- You can export and import workflow templates. Choose File Menu from the Workflow Templates Screen. "Export" exports the currently selected template, "Export All" exports all Workflow templates. Use Import and select the file with your workflow template/s.
- When importing workflow templates, you can only INSERT new templates, where the Template ID doesn't exist in the database. The column WTID needs to be in the Import file with any Integer value to link the workflow steps, actions, progress to steps and values. It will be auto-assigned during the import to the next available value.
- You can also export Message Templates, User Groups and Colours.