Infor Process Designer - Branch your Decision Tree

A Branch node is used within your flow to route it one of many ways depending upon the conditions met (true) or not met (false). Each connection's condition is evaluated until it is determined to be true and the first true condition determines the direction of your flow.

In other words, you may have several true connection conditions but the first one the Branch encounters is the one it will follow. Also, the whole condition must be true in order for it to return the 'true' value.

You can build your connections on the fly by selecting the Connection tool and then clicking from the Branch to the node and adding your condition statement, or you can build the conditions statements and after making the connection, select the condition to use.

You can Add a condition (plus), Edit it (pencil), Delete it (red X), Unlink a connection (broken link), or move them Up and Down (changing the order they will be evaluated).

You can make very complicated Branch Condition statements or very simple ones. 

HINT - If your condition is very complicated you may want to use a JavaScript Expression in your Assign node and then set a Boolean variable to true or false based upon your evaluation. All you would have to do within your Branch condition is reference the Boolean variable name and if it has a value of true then the flow will follow that path. If it is false then the next Branch condition will be checked.

WARNING - If none of your Branch conditions are true then your flow will fail. You may want to set the last connection condition to true so if nothing else evaluated to true then at least the flow can move forward.

Not just answers, providing solutions

Infor Process Designer - Here's your Assign Part 2

JavaScript Functions can be utilized two ways within your flow, within the Assign node.

You can use one of the functions that appear in the Function drop down list. If a var1 option exists, then you pass a value into the function and the result is returned back to your selected variable.

These functions exist within a pflow.js file on your local computer as well as on the Landmark server.

You can add your own functions (using the same format, with a header function definition and your actual function() within the body) by creating a new file called pflow_user.js and saving it to the same locations on your desktop and on the server.

This makes sense if you create a function that you might want to use over in your current flow or within a different flow later on. You can, however, create a function that will only be used once.

Click the Add JavaScript Expression button within your Assign and you can build your 'one time use' function.

You will notice that you don't have to declare it to be a function, since it is assumed to be one when you build it. You will also notice that you can utilize the existing functions within this one.

A word of caution - if you update a variable within the Assign using the JavaScript Expression Builder, that variable value can be dropped by your flow (in certain conditions). It is best practice to reassign your variable its own value after setting it using the JavaScript Expression Builder.

By doing this, your variable value is now persistent.

Not just answers, providing solutions

Infor Process Designer - Here's your Assign Part 1

The Assign node is used to update existing variables used within your flow. Variables must exist before the Assign node can update them - it isn't used to create variables.

Click the plus [+] button on the bottom left of the Properties to update a varible. Other options are pencil for edit, X for delete and up and down arrows to reorder.

We will cover the Add JavaScript Expression option in Here's your Assign Part 2.

Select the existing Variable Name - in this case Company is a String variable and you can enter a hard coded value or refer to another variable or use a Function. When hard coding a String variable, you should enter quotes around your value.
We will cover the Function option in Here's your Assign Part 2.
You can also enter hard coded values for the numeric variable types (Integer, Double, Long), except they would not have quotes. You can perform JavaScript Math equations and refer to existing variables. Enter [Ctrl] + [Spacebar] to view other existing variables.

A Boolean variable type would simply have either a true or false (no quotes) value.

A Date variable type defaults to the JavaScript function for the current date when you create it (on the Start node) but you can change it using an Assign.

Array variable types default to a simple array declaration -
and when updated with an Assign node, you can build out the elements of your array.
When you later want to retrieve a value from your array, you will reference the position of the element, so to get back the first value of your array, use myArray[0]
Stay tuned for Here's your Assign Part 2

Not just answers, providing solutions

Infor Process Designer - Ready? Start!

Now that we've looked at assigning the Service and default Configuration, we can actually begin at the Start node. This is more than just the kick off point of your flow, this is where you create variables that aren't already included in the WorkUnit trigger.

If your flow is not associated with a Service there will be no variables defined or delivered. You must add them on the Start node.
Click the plus icon in your node Properties. Other options include Edit (Pencil), Delete (X), and move Up or Down in the list.

You must give your Variable a name (beginning with an alpha character), select the Type of variable and then set a beginning Value.

Variable types are Array, Boolean, Date, Double, Integer, Long, String and XML. The beginning value will default to an empty string on the String type or zero for any of the numeric types.

Variable values can be hard coded, JavaScript expressions or pre-built JavaScript functions (you can add your own JavaScript functions so they are globally available).

You can reference previously defined variables to concatenate into your new variable or you can reference Landmark Configuration set global variables (Properties).

To select an existing variable, key [Ctrl] + [Spacebar]. Variable values that are from Landmark Configuration sets are prefixed with _

Even if your flow is associated with a Service, you will find the need to define variables for use within the flow. These types of variables are often referred to as persistent since they will retain their value throughout the processing of the WorkUnit.

You can update your variables using the Assign node. But that's a topic for another day.

Not just answers, providing solutions

Infor Process Designer and Figuring out Configurations

Within Landmark, for your data area, there are configuration settings to FTP servers, JDBC connections to databases and other settings used by the Infor Process Designer to develop your solutions.

  The settings that you are allowed to configure and use is dependent upon the type of client you are. For example, multi-tenant clients cannot utilize the SQL nodes or the System Command.

 You get to the menu by selecting Start- Applications - Process Server Administrator - Configurations - System Configuration

Typically you will see two preset Configuration Sets, called main and system. You can add as many as you'd like and give them names that make sense to you. The main configuration is also the default so if you don't select one, the main configuration is what your flow will utilize.

The Properties tab contains global variables values that you can reference within your flow.
You may set up the configurations for an Email server, a File Access, a File Transfer, etc. depending upon the needs of your development.

Since you can only configure one connection type (File Access, File Transfer, etc.), if you need more than one connection type you can simply create a new configuration set and build the connections needed within that configuration.

You can either define your configuration at a global level within the flow's default property setting (the white space between the nodes), or you can select a specific configuration on your node. 

So, the flow overall may use the main (default) configuration set and an FTP node be set to a specific server by selecting that Configuration name within the node properties.

Not just answers, providing solutions

New to Infor Process Designer? Where should you start?

Do you wish your flow was as simple as this? Obviously that wouldn't be very useful, but when you look at the Infor Process Designer it is easy to get lost on where to start. We normally would start with the Start node, but there's more to it than that.

Your canvas (the white space between the nodes) really is the starting point of your flow. Here you have the option to give your flow a title and to set some defaults that may be useful for your design.

Service Name: Is your flow triggered by a Service? Infor provides standard triggers based upon transaction events. You release a requisition, IPA creates a Workunit for processing the approvals. The function that moves your requisition into the approval flow is the Service.

Click the drop down arrow and the full listing of available Services is presented to you. Is this a requirement? No, but there is a benefit. By selecting a Service, the variables that are automatically passed into the Workunit are available to you within the flow.

That means you don't have to create and assign a Company variable if the Service already passes one into your Workunit. And since these are treated the same way as the variables you define on the Start node (more on that later), these Service Variables are available to you all the way through the flow.

If the Service is updated with additional variables (or they don't show at first after selecting the Service) you can click the Reload Service variables button to refresh them.

Not just answers, providing solutions