Analysis Agent Configuration

You open the Analysis processing agent configuration dialog from a workflow configuration. To open the Analysis collection agent configuration, click  Build → New Configuration. Select  Workflow from the Configurations dialog. When prompted to Select workflow type, select Batch. Click Add agent and select Analysis from the Processing tab of the Agent Selection dialog.


When you double-click the dotted triangle in the lower right corner of the Configuration dialog, the code area is maximized. This is a useful feature when coding.

The  Configuration...  dialog differs slightly depending on if the workflow configuration is of the batch or real-time type. The differences are described in the sections below, Batch Workflows, and Real-Time Workflows.

When the Analysis agent configuration dialog is confirmed, a compilation is performed to extract the configuration data from the code.


Complex code and formats may take a while to compile.

Batch Workflows

The configuration dialog consists of two tabs: Analysis and Thread Buffer.

If the routing of the UDRs (the udrRoute command) is left out, the outgoing connection point disappears from the dialog, disabling a connection to a subsequent agent.

Analysis agent configuration dialog - Analysis tab

Analysis Tab

The Analysis tab consists of the following settings:


Code Area

This is the text area where the APL code, used for UDR processing, is entered. Code can be entered manually or imported. There is also a third possibility, which is to set an import command stated to access the generic code created in the APL Code Editor.

Entered code will be color coded depending on the code type, and for input assistance, a pop-up menu is available. See Analysis Agent Syntax Highlighting and Right-click Menu for further information.

Below the text area there are line, column and position indicators, for help when locating syntax errors.

Compilation Test...

Compiles the entered code to evaluate the validity. The status of the compilation is displayed in a dialog. Upon failure, the erroneous line is highlighted and a message, including the line number, is displayed.


Use this button to display or hide the APL Code Editor Outline navigation panel. The navigation panel provides a view of all the blocks, variables, and methods in an APL code configuration and makes it possible to easily navigate between different types in the APL code. For further information on the Outline navigation panel, see the section, APL Code Editor Outline in Analysis APL Code Editor.

UDR Types

Enables selection of UDR Types. One or several UDR Types that the agent expects to receive may be selected. Refer to Analysis Agent Input and Output Types for a detailed description.

Set To Input

Automatically selects the UDR Type distributed by the previous agent.

For further information about the pop-up menu in the Code Area and the UDR Internal Format browser, see the section Text Editor in Administration and Management in Legacy Desktop.

Thread Buffer Tab

The use and settings of private threads for an agent, enabling multi-threading within a workflow, are configured in the Thread Buffer tab. For further information, see the section Thread Buffer Tab in Workflow Template.

Real-Time Workflows

An Analysis agent may be part of the batch as well as real-time workflows. The dialogs are identical, except for the Thread Buffer tab which is not present in real-time workflows. Other than that, the agent is configured in the same way.

There are, however, some restrictions and differences to consider when designing a real-time workflow configuration:

  • APL plug-ins with transaction logic are not allowed. The agent will not perform any validation during workflow configuration - the workflow will abort upon activation of illegal code. Note, the user must therefore keep track of what type of plug-ins are invoked.

  • Published MIMs may only be of global type.

  • In order to make functions thread-safe they must be preceded by the synchronized keyword, which will make it possible to alter global variables. It is possible to read global variables from any function block, however, to avoid race conditions with functions updating the global variables, they must only be accessed from within synchronized functions.

  • Synchronized functions cannot utilize the udrRoute command.

  • Function blocks related to batch handling cannot be used.

See the APL Reference Guide for further details on the specific commands.