For Each

This Action iterates through a collection of items and executes one or more Actions in the loop.

 

 

Parameters tab

ACTION

Name — Identifies the name of the Action. The system-generated default name, depicted in the image above, can be changed to a different name to suit your preferences. The Name must be unique within the current Trigger workflow.

 

Notes — Describes the Action.

 

The values in the Name and Notes fields are displayed in a tooltip when you mouse over an Action node.

TARGET

Items — Identifies a list of items.  The Items field can be configured using:

 

  1. Hard-coded values.

     

    "Green","Purple","Red"

     

  2. A Global variable that is defined in [Domain] > AUTOMATION > Triggers > Settings.

     

    Variable (name) - MyString, Value - Green,Purple,Red
    To access the variable, the Items field is specified as follows: %GetGlobalVariable("MyString")%

     

  3. The results of an Action that executes before the For Each Action. The results are passed to the For Each Action by using the GetActionResult function in the For Each Items field - for example, %GetActionResult("PriorActionName"). To see an example of this, click this link: Example - Using a For Each Action to access the Trading Partner Directory Listing results.

     

Actions that execute within the For Each loop use the following syntax to reference the item:%GetActionResult("ForEachActionName")%, where the For Each Action Name or For Each Action ID is used as the GetActionResult's input parameter. Supporting the Name as an input parameter for the GetActionResult function was introduced as an enhancement in a more recent release of MFT Server. Using the Name as the input parameter is often more intuitive than using the system-assigned Action ID.

 

Outputs

Cycle — This identifies the one or more Actions that are part of the loop.

 

If an Action fails within the loop, the loop continues to iterate. The failed Actions are noted in the Trigger History.

 

End — This identifies the one or more Actions (if configured) that execute after the loop completes.

 

Example: This example describes the workflow shown below.

 

 

The For Each fields are shown in the image below. The Items field is hard-coded.

 

 

The For Each Action is named for-each-item.

The Items field is set to the hard-coded value of "First Line","Second Line","Third Line".

 

The For Each Cycle output is configured to execute an Append File Action. This Action writes text to a file.

The Append File Action fields are shown in the image below.

The File field is set to C:\Test\ForEachTest.txt. This identifies the name of the file where the text is written.

 

The Message field is set to %GetActionResult("for-each-item")%. The GetActionResult function retrieves one For Each item at a time with each iteration of the loop. The function's input parameter is the For Each's Name.  The For Each's ID can also be used as the input parameter.

 

The ID for any Action is obtained by right-clicking on the desired Action, then selecting Copy ID to clipboard.

When the workflow is triggered, the For Each loops three times - once for each item in the Items field. The end result is each item in the For Each Items field is written to the text file - one at a time, with each iteration of the loop.

 

 

Below is the history of the Trigger after it runs. Observe the Append File Action ran three times.

 

 

The image below displays the ForEachTest.txt file after the Trigger completes.

 

 

Advanced tab

 

 

EXECUTION

Priority — Identifies the Action’s priority. An Action can be interrupted by an Action with a higher priority. The highest priority is 1. The maximum priority value is 1000. Priority comes into play when certain scenarios occur, like when Triggers or transfers are exceeded (see Settings for more information).

 

LOG

Trigger Error Message — Used when a Trigger Action fails. The two uses are described below.

 

  1. The Trigger Error Message is displayed in the Trigger Error column of the Action history (Triggers > History > View).

     

  2. If you create an error-handling Trigger, the Trigger Error Message is passed to the error-handling Trigger.

  • An error-handling Trigger is a distinct Trigger that uses the Trigger Error Event type, as selected in the Trigger > Parameters dialog.

  • If a Trigger Error event occurs, the Trigger Error Trigger runs.

  • The Trigger Error Message is accessible in the Trigger Error Trigger as a variable named TriggerErrorMessage.

The image below depicts the Trigger Error Message displayed in the history of a failed Trigger Action.

 

 

The image below depicts selecting the Trigger Error Event type used to handle Trigger errors.

 

 

The image below depicts a Trigger Action (part of the Trigger Error Trigger workflow) accessing a Trigger Error Message. This is accomplished using the TriggerErrorMessage variable. To reference built-in variables, enclose the variable name in percent signs (%).

 

 

As a practical use case example, you can reference the Trigger Error Message in the body of an Email Action that is part of the Trigger Error workflow. The email alerts interested parties that a Trigger Action failed.

Log Action — When selected, Trigger Action records are added to the Domain > AUDIT > Logging module. The state of the Action is included, such as action started, action completed, and action failed. When unselected, Action records are not added to the Logging module. However, the Trigger itself is still logged.

Buttons

Add Variable — Displays a list of built-in event variables. Each Trigger has several event variables you can use in one or more of the Trigger Action fields. When a variable is selected from the list, it is added to the Action field that is currently active. Built-in event variables are enclosed using the percent sign (e.g., %DomainName%).

 

In addition to using built-in variables, you can also specify a user-defined global variable, created in AUTOMATION > Triggers > Settings. To reference a global variable (Defining global variables), use the %GetGlobalVariable% function.

 

%GetGlobalVariable("DirName")% retrieves the global variable named DirName. When using global variables, specify the variable name enclosed in quotes, as depicted in this example.

 

Add Function — Displays a list of built-in functions. Functions are useful for formatting or parsing a Trigger event variable. When a function is selected from the list, it is added to the Action field that is currently active. For more details about functions and their usage, see Function types.

 

Link Action — Displays a list of Actions. When an Action is selected, the Action ID is returned.

 

An Action ID (a string of alphanumeric characters) is an input parameter used in the GetActionResult function. This function returns the results of a previously executed Action in the current Trigger workflow. This means that Action results can be passed to a linked (following) Action.

 

The GetActionResult function also supports using the Action Name as an input parameter. This is an enhancement added in a more current version of MFT Server.

Using Link Action

  1. Select a field in the Trigger Action that you want to populate using the results of a previous Action.

     

  2. Click Add Function. A list of functions displays.

     

  3. Select GetActionResult(actionId). The field displays %GetActionResult(actionId)%.

     

  4. Highlight the word actionId in the field.

     

  5. Click Link Action. A list of Actions displays.

     

  6. Select an Action. The actionId text is replaced with the Action ID.

The GetActionResult function looks similar to this: %GetActionResult("bee7cd8b-8021-4e19-8f76-1ae382e60c9d")%