Workflows are created and edited using the Workflow Designer which includes many building blocks (Activities) for submitting Jobs, updating JAMS Variables, and many more JAMS specific tasks.
Below is a listing and a brief description of the Activities available in JAMS Workflow Designer. Each Activity is organized by grouping, with some containing links to their corresponding class and property descriptions in the Developers Guide.
JAMS Grouping
AskQuestion |
Used to halt an executing workflow until user input is provided. This Activity sends the question to the JAMS Scheduler and displays the question in the Monitor View. Users with Manage access for the Job can respond to the question using the Monitor View detail window. |
GetVariable |
Gets the value of a JAMS variable. |
ManageActivity |
Provides an execution scope in which Activities can be canceled or retried. |
Repeat |
Hosts one Activity that is repeated at an interval. |
SetJAMSContext |
This is necessary only if you are using JAMS Activities in a non-JAMS environment. When a JAMS workflow is executed, the JAMS Context is automatically established. If using Activities outside of JAMS, you can either set the JAMS Server in each Activity or add a SetJAMSContext activity to the workflow allowing all subsequent JAMS Activities to utilize the JAMS Server. |
SetVariable |
Sets the value of a JAMS variable. |
TimeLimit |
Executes it’s child Activity until completed or if a set time limit is reached. |
SetToday |
Sets the value of “today” in the workflow. |
Comment |
Allows its child Activity to be enabled or disabled. |
SubmitEntry |
Submits another JAMS Job or Setup. The Activity can wait for the completion of the submitted Job or Setup and can take different actions depending on the success or failure of the entry. |
SQL Grouping
OdbcScript |
Runs SQL commands through an ODBC connection. |
OleDbScript |
Runs SQL commands through an OLEDB connection. |
SQlScript |
Runs SQL commands |
SQLStoredProc |
Executes a SQL stored procedure. |
SQLQueryScalar<T> |
Runs a query on a SQL Server database and outputs the first results into a Workflow variable of the specific Type. |
Oracle Grouping
OracleQueryScalar<T> |
Runs a query on a Oracle database and outputs the first results into a Workflow variable of the specific Type. |
SQL*Plus Script |
Runs a SQL*Plus script on an Oracle database. |
Execution Grouping
CMDScript |
Runs a command script. |
ExecuteCMD |
Executes a single command using CMD.EXE. |
ExecuteProcess |
Executes any process or executable. |
Cancelable |
Includes an option to send a cancellation request to its body Activity. |
PowerShell Grouping
PSWrapper |
Wrapper around a PowerShell function or command. |
PSRunspace |
Defines the scope of a PowerShell runspace. |
PSScript |
Runs a PowerShell script. |
Communication Grouping
Files Grouping
Files Transfer Grouping
FtpDownload |
Downloads a file using FTP or SecureFTP (SFTP) |
FtpUpload |
Uploads a file using FTP or SFTP |
SftpDownload |
Downloads a file using Secure FTP (SFTP) |
SftpUpload |
Uploads a file using Secure FTP (SFTP) |
ScpDownload |
Downloads a file using Secure Copy Protocol (SCP) |
ScpUpload |
Uploads a file using Secure Copy Protocol (SCP) |
S3Download |
Downloads a file using Amazon's Simple Storage Service (S3) |
S3Upload |
Uploads a file using Amazon's Simple Storage Service (S3) |
File Transfer Session Grouping
Mail Server Session Grouping
IMAPSession |
Creates an IMAP Session that host a mail server connection. |
POPSession |
Creates an POP Session that host a mail server connection. |
DeleteMailMessage |
Deletes a mail message on a mail server with a corresponding header. |
GetMailHeaderList |
Gets a collection of mail headers on a mail server that matches the specified mask. The returned collection is a list of JAMSMailMessageInfo objects. |
GetMailMessage |
Gets a JAMSMailMessage object for the specified header on a mail server. |
GetMailServerFolder |
Gets the current folder on a mail server. |
ProcessEmails |
Looks for one or more emails matching a specified mask and invokes the body Activity for all matching email. |
SaveMessageAttachments |
Saves attachments on a mail message to the file system. |
SetMailServerFolder |
Sets the current folder on the mail server. |
ForEachMailMessage |
Looks for one or email messages matching a mail specification and invokes the body Activity once for each matching message. |
ForEachAttachment |
Looks for one or more mail messages matching a mail specification, then downloads the attachments to the specified working directory and invokes the body Activity for each matching file. |
Coordinators Grouping
ClearEvent |
Sets the specified event to false. |
SetEvent |
Sets the event time. |
WaitforEvent |
Waits for the specified event to be set by a SetEvent Activity. If the event has already been set, the WaitForEvent Activity completes immediately. |
Control Flow Grouping
DoWhile |
Executes the Activity contained in its body at least once until a specified condition evaluates to false. |
ForEach<T> |
Executes an Activity action once for each value provided in the values collection. |
If |
Provides a conditional if-then-else condition. |
Parallel |
Is a container object that executes multiple child Activities at the same time. This class cannot be inherited. |
ParallelForEach<T> |
Enumerates a collection and executes an Activity for each element of the collection in parallel. |
Pick |
Contains a collection of PickBranch Activities where each PickBranch is a pairing between a Trigger and an Action Activity. At execution time the triggers for all branches are executed in parallel. When one trigger completes its corresponding action is executed and all other triggers are canceled. |
PickBranch |
Each PickBranch is contained within a branch of the Pick Activity and can be executed based on an incoming event that serves as a trigger. |
Sequence |
Is a container object that executes Activities one after another. Sequences can incorporate more than one child Activity. Sequences can only execute forward, not backward. |
Switch<T> |
Evaluates a specified expression and executes using a collection of Activities whose associated key matches the value obtained from the evaluation. |
Flowchart Grouping
Flowchart |
Is a container object that executes multiple child activities one after another. Similar to a Sequence, a Flowchart is more flexible allowing control to return to an earlier step. Sequences can only execute forward, not backward. |
FlowDecision |
Is a conditional node that provides a branch for the flow of control into one of two alternatives based on whether a specified condition is satisfied. If the flow requires more than two branches, use FlowSwitch instead. |
FlowSwitch<T> |
Is a conditional node that provides branching for the flow of control based on matching criterion when more than two alternative branches are required. If the flow branching requires only two paths, use the FlowDecision activity instead. |
Messaging Grouping
CorrelationScope |
Provides implicit CorrelationHandle management for child messaging Activities. |
InitializeCorrelation |
Initializes correlation without sending or receiving a message. |
Receive |
Receives a message. |
ReceiveAndSendReply |
Receives a message as part of a request/reply message exchange pattern. |
Send |
Sends a message to a service. |
SendAndReceiveReply |
Sends a message as part of a request/reply message exchange pattern. |
TransactedReceiveScope |
Scopes the lifetime of a transaction which is initiated by a received message. The transaction may be flowed into the workflow on the initiating message or created by the dispatcher when the message is received. |
RunTime Grouping
Persist |
Saves a workflow to disk, if possible. This Activity cannot be executed in a non-persistence zone, for example, within a TransactionScope Activity. |
TerminateWorkflow |
Terminates the execution of a workflow. |
Primitives Grouping
Assign |
Assigns a value to a variable at the current scope. |
Delay |
Puts one path of execution into an idle state, possibly allowing the workflow to be unloaded. |
InvokeMethod |
Executes a public method of a CLR object. |
WriteLine |
Writes a specified string to the console or a specified TextWriter object. |
Transactions Grouping
CancellationScope |
Specifies an Activity for execution and cancellation logic for that Activity. |
CompensableActvity |
Supports compensation of its child activities. |
Compensate |
Used to explicitly invoke the compensation handler of a CompensableActivity. |
Confirm |
Invokes the confirmation handler of a CompensableActivity. |
TransactionScope |
Demarcates a transaction boundary. |
Collection Grouping
AddtoCollection<T> |
Adds an item to a specified collection. |
ClearCollection<T> |
Clears a specified collection of all items. |
ExistsInCollection<T> |
Determines whether a specified item exists in a particular collection. |
RemoveFromCollection<T> |
Removes an item from a specified collection. |
Error Handling Grouping
Rethrow |
Throws a previously thrown exception. This Activity can only be used in a Catch handler in the TryCatch Activity. |
Throw |
Throws an exception |
TryCatch |
Contains Activities to be executed by the workflow runtime in an exception handling block. |
SYM (Symitar) Grouping
DataFiletoPC |
FTP download from the “DATAFILES” folder on the Symitar server. |
DeleteLetterFile |
Removes a letter file from the “LETTERSPECS” folder on the Symitar server. |
EmailReports |
Attaches one or more reports to an email message and sends it to the designated recipient(s). |
FiletoPC |
Generates an FTP download from any Symitar directory to a local PC. |
LetterFiletoPC |
FTP download from the “LETTERSPECS” folder on the Symitar server. |
PCToDataFile |
FTP upload to the “DATAFILES” folder on the Symitar server. |
PCToEditFile |
Initiates an FTP from a PC to the Symitar edit file. |
PCToFile |
Creates a generic upload to any directory on the Symitar system. |
PCToLetterFile |
FTP upload to the “LETTERSPECS” folder on the Symitar server. |
ReportsFileToPC |
FTP download from the “REPORT” folder on the Symitar server. |
RunJobFile |
Runs a job file in the specified SYM (e.g. Sym222). |
SymConfig |
The parent activity that allows users to set the configuration settings (e.g., Server Name, SymUserId, Symitar logon credentials) for all Symitar activities contained within it. Each child activity can override the settings in the SymConfig. |
See Also
Getting Started with Custom Activities