Process flow: from Input to Output
When creating a solution in Linx, consider this:
Why do I require a solution? (What is it that I want to achieve with my solution?)
What has to be included in the solution to achieve my goal?
When do I want my solution to run?
Any application or solution will contain a set of instructions (activities or steps) that interact in a specific sequence to achieve or produce a particular end-result. This can be refered to as the process-flow.
We can look at a process-flow as consisting of these elements:
- Processing (functions)
Let's look at the above elements within the context of creating a Linx process-flow:
- What is the required output of my process? Example: a text file containing records.
- To create my output, is there any input that I require? Example: data from a specific database table.
- To process my input into output, which Functions from which Plugin do I require? Example: The ExecuteSQL function from the Database plugin to read from the database table and the TextFileWrite function from the File plugin to write to the text file.
Purpose of output
In general, output can serve as:
Support output, used to enable or facilitate the overall process (i.e. used as input to other Functions or processes); or
End-result output that relates to the purpose or goal of your solution
Output can be created by specific Functions, or by a completed process.
Input could come from different sources, including:
External objects or data consumed by a Linx function, e.g. an Excel spreadsheet
Output from a preceding Function
Output from a preceding Process
Functions drive processing by performing specific tasks to turn input into output.
Types of Functions
- Linx built-in functions: The built-in Linx plugin contains functions that can be used programmatically to:
- Set values (e.g. SetValue, AddToList, etc)
- Execute tasks or procedures (e.g. CommandLine, Sleep, etc)
- Control the logic flow through conditions or decisions (e.g. IfElse, ForEach, DoWhile, etc)
- Plugin-specific functions: Each plugin contains functions that are relevant to the plugin, e.g. TextFileRead in the File plugin, and GetAccounts in the Xero plugin.
Functions have associated Properties (attributes), which can be set to determine how a function must behave. For example, the TextFileWrite function has the File path property that indicates to the function the path and name of the file to write to.
To create my output, what is the best sequence in which my Functions and processes should be arranged?
Will I make use of different, but related processes to create my output?
How to create a process in Linx
Services and events
Services and their associated events make it possible to determine when your process-flow should run.
For example, the Timer service (contained in the Utilities plugin) can be set up to execute the Timer Event at specific times or intervals. The Timer Event can be linked to your process-flow so that when the Timer Event executes it actually executes your process-flow.