Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

You create a workflow configuration by using one of the following methods:

  • Click Build → New Configuration. Select Workflow from the Configurations dialog or click click the Image Removed (New) button in the upper left part of the Workflow Template window.

  • Select a Workflow TypeBatch, Realtime, or Task, and then Ok.

  • Click Add agent to open the Agents selection dialog.

  • Click on the agent from the Agents selection dialog to deploy the agent to the template.

A workflow template can have multiple labels located next to the workflow template name. These labels serve to identify the workflow template. The following are the labels that may appear:

This label identifies the workflow as a valid workflow. For more information about validation, refer to Workflow Validation.status

This label identifies the workflow as an invalid workflow. For more information about validation, refer to Workflow Validation.

Label

Description

Image RemovedImage Added

This label identifies the workflow as a Batch workflow. This label is mutually exclusive to Realtime and Task.

Image RemovedImage Added

This label identifies the workflow as a Realtime workflow. This label is mutually exclusive to Batch and Task.

Image RemovedImage Added

This label identifies the workflow as a Task workflow. This label is mutually exclusive to Batch and Realtime.

Image RemovedImage Added

This label identifies the workflow as a Read Only workflow. Read Only workflows will be locked from any editing and you must click on the Image Removed Edit button to modify a Read Only workflow.status

valid_label.pngImage Added

titleUnknown Attachment
invalid_label.pngImage Added

titleUnknown Attachment

...

Each agent in the workflow configuration has a specific configuration dialog named after the agent type. You can access these configurations by double-clicking the agent or the route. Subsequently you can also click on the Image Removed Edit button when selecting an agent or a route. This causes a dialog to appear with options. See Agent Options or Route Options for more information.

When an agent is deployed into the workflow template it receives a default name located underneath it. The same applies to routes when they are added. These names may be modified to ease identification in monitoring facilities and logs.

...

Clicking on a route in the workflow template provides you with a couple of options.

...

...

Options

Options

Description

Image RemovedImage Added

Opens the Edit Route dialog where you can then edit the route name and route style. You can also double-click the route itself to open the Edit Route dialog.

A route name is modified by typing a new name. Route names must be unique within a workflow configuration and may only contain the a-z, A-Z, 0-9, "-" and "_" characters.

You can also change the appearance of the routes by selecting from the following Route Style options; Orthogonal, Bezier, or Straight. The default route style is Bezier.

Note

Note!

In a real-time workflow a fourth kind of routing type appears by default when a response is returned to an agent that sent out a request. The route is shown as a dot-dashed line.

Image Removed

Edit Route dialog box

Image RemovedImage Added
Image Added

Removes the selected route.

...

Clicking an agent in the workflow template provides you with a few options.

...

...

Options

Description

Image RemovedImage Added

Opens the Agent Configuration dialog where you can add or edit the settings and configuration values for the selected agent. You can also double-click the agent itself to open the Agent Configuration dialog.

In a read only configuration mode, you can proceed to edit directly on the agent configuration dialog. To save, click Edit on the dialog bar as shown below.

Image RemovedImage Added

A read only agent configuration dialog

Note

Note!

By clicking Edit on the dialog bar, the system will validate if any other changes have been performed and saved on the same agent and prompt a version change dialog. You can then decide to accept the saved changes and discard your local changes or choose to have your local changes overwrite the other version.

Image RemovedImage Added

Removes the agent and all its stored configuration. This action will not prompt you with any dialog and it is final so be absolutely sure that you want to remove the agent.

Image RemovedImage Added

Opens a dialog with an option to route the selected agent to another agent.

Image Removed

Connect agent to dialog box

Status
titleUnknown Attachment

Image Added

wf_monitor_agent_info_button.pngImage Added

Brings up an information dialog that displays parts of the agent's configuration.

Image RemovedImage Added

Agent

...

Agent Selection Dialog

Insert excerpt
MD92:Agent Selection Dialog
MD92:Agent Selection Dialog
nopaneltrue

...

Workflow Tables

Insert excerpt
MD92:Workflow Table
MD92:Workflow Table
nopaneltrue

...

Workflow Properties

Insert excerpt
MD92:Workflow Properties
MD92:Workflow Properties
nopaneltrue

...

Workflow Monitor

Insert excerpt
MD92:Workflow Monitor
MD92:Workflow Monitor
nopaneltrue

...

Workflow template visualization toolbar

Options

Description

Image RemovedImage Added

Zooms in on the workflow template.

Image RemovedImage Added

Zooms out of the workflow template.

Image RemovedImage Added

Centers the workflow template so that all agents and routes are visible on the canvas.

Image RemovedImage Added

Displays all the keyboard shortcuts that you can use within the workflow template.

There is also a zoom percentage along with an x and y coordinate, which are displayed as soon as you zoom in or out. The default range on the zoom percentage is 100% while the x and y coordinates, which are determined from the point on the top left corner of the workflow template canvas, start at 0, 0, respectively. These values appear at the bottom left corner of the canvas whenever you manipulate the visuals.

...

Anchor
AgentServices
AgentServices
Common Agent Services

Some agent configuration dialogues are optionally equipped with additional tabs holding configurations for different common services. This section describes the general services that are available. The user guide for each agent, in turn describe what services it uses.

Anchor
Thread_Buffer_Tab
Thread_Buffer_Tab
Thread Buffer Tab

By default, a batch workflow uses one active thread at a time. By configuring a buffer storage for an agent, it is possible for yet another thread to be created. This is also called multithreading. One thread populates the buffer, and another pulls it for data. Adding yet another buffer for another agent adds yet another thread, and so on.

...

Open the Configuration dialog of the agent and select the Thread Buffer tab. The tab is present in batch processing and batch forwarding agents.

...

...

Item

Description

Use Buffer

Enables multithreading. For further information, see Multithreading .

Print Statistics

Statistics to be used when trying out where to use the Thread Buffer in the workflow. After each batch execution, the full and empty percentages of the threads using the buffer are logged in the event area at the bottom of the Workflow Monitor.

For information on how to interpret the results, see the section below, Analyzing Thread Buffer Statistics.

...

By using the Print Statistics alternative in the Thread Buffer tab, buffer statistics are logged for the whole batch execution and show the full and empty percentages for the threads using the thread buffer. For information about multithreading in a batch workflow, refer to the section Threads in a Batch Workflow, in Multithreading.

Info

Example - A thread buffer printout

Code Block
languagetext

...

...

11:03:04: Buffer usage statistics [5] for 2089 turnover(s) of UDRs: 
Incoming queue: Available 54%. Full 46%. 
Outgoing queue: Available 59%. Empty 41%.

  • The number within brackets, which is [5] in the example, is the batch counter id.

  • Turnover is the total number of UDRs that have passed through the buffer.

  • Available indicates how often (out of the total turnover time) the buffer has been available for the incoming queue to forward a UDR and for the outgoing queue to fetch a UDR.

  • Incoming queue:

    Full is logged for the incoming thread and indicates how often (out of the total turnover time) the buffer has been full and an incoming UDR had to wait for available buffer space.

    In the example, Full indicates that for 46% of the incoming UDRs there was a delay because of a full buffer.

  • Outgoing queue:

    Empty is logged for the outgoing thread and indicates how often (out of the total turnover time) an outgoing queue had to wait for data because of an empty buffer.

    In the example, Empty indicates that for 41% of the attempts to fetch a UDR, the buffer was empty.

The percentage values for Empty and Full must be as low as possible, and as equal as possible. The latter may be hard to achieve, since the agents may differ too much in processing complexity. If possible, add and configure another agent to take over some of the processing steps from the most complex agent.

...

Note

Note!

When collecting from several sources, the Filename Sequence service is applied to the data that arrive from all the sources, as though all the information arrives from a single source. This means that the Filename Sequence number count is not specific to any of the sources.

...

Filename Sequence tabImage Added

Item

Description

Enable Filename Sequence

Determines if the service will be used or not.

Start Position

The offset in the file name where the sequence number starts. The first character has offset 0 (zero). In the example file name TTFILE0001 the start position is 6.

Length

The length of the sequence number, if the sequence number has a static length (padded with leading zeros). If the sequence number length is dynamic this value is set to 0 (zero).

Info

Example

TTFILE0001-TTFILE9999 Length: 4

TTFILE1-TTFILE9999 Length: 0

Wrap On

If the Filename Sequence service is enabled, a value must be specified on which the sequence will wrap. This number should be larger than or equal to Next Sequence Number and it must be larger than Wrap To.

Wrap To

The value that the sequence will wrap to. This value must be less than the Wrap On value and less than or equal to Next Sequence Number.

Warn On Out Of Sequence

If enabled, the agent logs an informative message to the System Log when detecting an out of sequence file, before deactivating. The collection agent will not continue to collect any files upon the next activation, until either the missing file is found, or the Next Sequence Number is set to a valid value.

...

Note

Note!

Regular expressions according to Java syntax apply. For further information see https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html .

...

...

Item

Description

Enable Sort Order

Determines if the service will be used or not. If enabled, the sort order that you select also applies to subfolders if you have selected the Include Subfolders checkbox for the FTP, SFTP, and Disk collection agents. For further information, see the section for the relevant agent in Appendix 2 - Batch and Real-Time Workflow Agents.

Modification Time

Select to enable file collection order according to the modification time stamp. If Sort Direction is set to Ascending, the oldest files are collected first. The time resolution depends on the server and protocol.

Note

Note!

Most FTP and SCP servers follow the Unix modification date format for file time stamps. The modification date resolution is one minute for files that are time stamped during the last six months. After six months a resolution of one day is applied.

Value Pattern

The method used to locate the item (part of the file name) to be the target for the sorting. This could be either Position that indicates that the item is located at a fixed position in the file name or Regular Expression indicating that the item should be fetched using a regular expression.

Position

If Position is enabled, the files are sorted based on the part of the filename indicated by Position plus Length. The The Start Position value states the offset in the file name where the sorting item starts. The first character has offset 0 (zero).

The Length value states the length of the sorting item (part of the file name) if it has a static length. To sort items with a dynamic length, use the value zero (0).

Note

Note!

Files with a name which is shorter than Position plus Length are ignored.

However, when Include Subfolders option is selected, a folder name shorter than Position plus Length will cause the workflow to abort.

Regular Expression

If enabled, the sorting item is extracted from the file name using the regular expression. If the file name does not end with a digit, this is the correct option.
 

Info

Example - Sorting using regular expression

\d+ locates the first digit sequence in a file name.

Sort the following files in an alphabetical or numerical order:

Code Block
languagetext
themeEclipse
 FILEA_1354.log
 FILEB_23.log
 FILEC_1254.log,

Use \d+ in the regular expression. Depending on the selected Sort Direction, the files are sorted in the following order:

Code Block
languagetextthemeEclipse
FILEC_1254.log
FILEA_1354.log
FILEB_23.log

Sort Type

Type of sorting. Could be either Alphanumeric or Numeric.

Ignore Case

If enabled, the sorting is not case sensitive.

Sort Direction

Indicates if the sort order should be Ascending or Descending.

...

Note

Note!

The Filename Template service also provides you with the so called Dynamic Directory support. This means that you can change the output directory during execution of a workflow, the input data of which is bytearray. See Input Data in the configuration Target tab of your relevant forwarding agent.

By creating directories and subdirectories with names which consist of MIM values, and by adding appropriate APL code, you configure the output directory to sort the out data into directories that are created during the workflow execution. For further information, see the section below, Defining a MIM Resource of FNTUDR Type.

...

Image AddedFilename Template tab

The list contains MIM resources or user defined values that create the file name. The order of the items in the list controls the order in the file name.

...

Item

Description

Create Non-Existing Directories

When this checkbox is selected, non-existing directories stated in the path are created. If not selected, the agent will abort if a required directory is missing.

...

Item

Description

MIM Defined

Determines if the Value will be selected from a MIM resource.

The MIM resource of type FNTUDR is represented in the template table in the same way as other MIMs, however it has an other another appearance when the filename or filepath is presented. A MIM FNTUDR value can represent a sub-path with delimiters, a part of a filename, or a directory.

For further information about how to use the FNTUDR in filename templates, see the section below, Defining a MIM Resource of FNTUDR Type.

User Defined

Determines if the Value will be a user defined constant entered in the text field.

Directory Delimiter

Determines if the Value will be a directory delimiter indicating that the file sub-path will have a directory delimiter at that specified position. You cannot have two directory delimiters directly after each other, or a delimiter in the beginning or end of a filename template.

The MIM resource of the special UDR type FNTUDR can include, begin or/and end with directory delimiters this must be noted when adding delimiters in the template.

For further information about using the FNTUDR in filename templates, see the section below, Defining a MIM Resource of FNTUDR Type.

Size

Number of allocated characters in the file name for the selected MIM resource (or user defined constant). If the actual value is smaller than this number, the remaining space will be padded with the chosen padding character. If left empty, the number of characters allocated in the file name will be equal to the MIM value or the constant.

Padding

Character to pad remaining space with if Size is set. If Size is not set, this value is ignored.

Alignment

Left or right alignment within the allocated size. If Size is not set, this value is ignored.

Separator

Separating character to add to the file name after the MIM value or constant.

Date Format

Adds a timestamp to the file name in the selected way. For further information about the format, see Date and Time Format Codes in Administration and Management in Legacy Desktop .

Info

Example - Configuring a Filename Template tab

In this example, there is a workflow containing a Disk collection agent named Disk_In and two Disk forwarding agents named Disk_Out and Disk_Out2. The desired output file names from both forwarding agents are as follows:

A-B-C.DAT Where A is the name of the Disk forwarding agent, B is the name of the currently collected file, C is the number of UDRs in the outgoing file and .DAT is a customer suffix. It is desired that the number of UDRs in the files takes up six characters and is right aligned.

The following file name template configuration applies to the first agent:

...

Image Added

The following file name template configuration applies to the second agent:

...

Image Added

If two files FILE1 and FILE2 are processed where 100 UDRs goes to Disk_Out and 250 goes to Disk_Out2 from each file, the resulting file names would be:

Code Block
languagetext

...

Disk_Out-FILE1-000100.DAT 
Disk_Out2-FILE1-000250.DAT 
Disk_Out-FILE2-000100.DAT 
Disk_Out2-FILE2-000250.DAT

Anchor
Defining_a_MIM_Resource_of_FNTUDR_Type
Defining_a_MIM_Resource_of_FNTUDR_Type
Defining a MIM Resource of FNTUDR Type

A MIM resource with a value of the FNTUDR type included in the filename template is treated somewhat differently than other MIM resources. A FNTUDR value is a text string that can contain delimiters. The delimiters in the FNTUDR value will be replaced by directory delimiters when determining the target file path. The FNTUDR is defined in the FNT folder.

Info

Example - How to create an FNTUDR value to

publishe

published as a MIM resource

The following example shows a set of APL code that creates a FNTUDR value and publishes it as a MIM resource. To use the FNTUDR value in a filename template, the MIM resource must be added in the filename template configuration.

Code Block
languagetext
themeEclipse
import ultra.FNT;

    mimPublish( global, "FNTUDR Value" , any );

consume {

    FNTUDR fntudr = udrCreate(FNTUDR);

    fntAddString(fntudr, "dir");
    fntAddString(fntudr, "1");
    fntAddDirDelimiter(fntudr);
    fntAddString(fntudr, "dir2");
    fntAddDirDelimiter(fntudr);
    fntAddString(fntudr, "partOfFileName");

    mimSet ("FNTUDR Value", fntudr);

    udrRoute(input);

}

The following filename template configuration uses the FNTUDR published by the APL code.Image Removed

Image Added

The resulting output file in the previous example is saved in a file with the following sub path from the root directory.

Code Block
languagetext
themeEclipse
dir0/dir1/dir2/partOfFileName20070101_1

The part dir1/dir2/partOfFileName derives from the FNTUDR Value.

...

For further information about how to manipulate FNTUDRs with APL functions and how to publish MIM resources, see the /wiki/spaces/MD82/pages/3781270 APL Reference Guide and the section Meta Information Model in Administration and Management in Legacy Desktop .

...