The process flow acts as the container for a string of functional steps that, when put together, define a certain piece of business logic. Users who have worked with Process Flows on version 3.x will notice substantial changes in the process flow interface. For a general overview of the Process Flows form, see Navigating the Process Flow Designer for more information.
Follow these steps to create a new process flow:
See How to Create a Process Pipeline for an overview of the steps involved to design and implement a process flow. The instructions below describe how to create a new Process Flows record.
- Open a new Process Flows record from the Process Flows service.
- Note that your computer must have at least one printer installed to open a Process Flows record.
- Enter a Name and Description for the process flow.
- As this flow may be used as a sub-process in later flows, it is recommended that the name be descriptive of the functionality included.
- Select from a list of available categories from the Category drop-down box. (Or, create a new one. See Creating Process Flow Categories.)
- Click the Details tab.
- Specify the process flow's Execution Mode and Execution Location. See Specifying the Execution Mode and Location for details.
- Leave the Compile related fields at their default setting. After you have set up the process flow, you can return to this tab and compile it. See Using the Process Flow Compiler for details.
- If you intend to use this process flow as a sub-process in a process flow step, you can specify the icon that appears for the step in the process flow designer by entering an image in the Icon Small field.
- This field specify an image's location in the Object Repository.
- Note that the Icon Large field is not currently in use.
- See Navigating the Process Flow Designer for information on the process flow designer.
- Leave the Connection State Options field set to AlwaysAvailable.
- The Connection State Options, Failover Process Flow, and Execution Rules fields are reserved for future use.
- Save the record by clicking the Save icon in the toolbar or selecting the File > Save menu item.
- Specify the process flow's Input Properties under the Input Properties tab. See Defining Process Flow Input Properties for details.
- Specify the process flow's Output Properties under the Output Properties tab. See Defining Process Flow Output Properties for details.
- Specify the process flow's Result Codes under the Result Codes tab. See Defining Process Flow Result Codes for details.
- Add one or more steps to the Process Flow using the Process Flow Designer. See Creating Process Flow Steps for details.
- Test the process flow to confirm that it can successfully execute using the Process Flow Debugger tool. See Testing Process Flows for details.
-
Compile the process flow, if desired. See Using the Process Flow Compiler for details.
Note that the settings found under a Process Flow's Security tab are reserved for future use. All users can execute a Process Flow, regardless of its security settings.
See Navigating the Process Flow Designer for Information on the Process Flows record's Design tab.
Specifying the Execution Mode and Location
The execution mode and execution location determine how and when the system runs the process flow.
By default, when process flows are created, the execution mode is set to Synchronous, which requires that the process flow complete successfully prior to returning control to the calling event. Business processes that require successful updates to records or other functions that must be completed prior to continuation of the process should remain Synchronous. In other words, process flows that need to be executed immediately following a system action (the action is specified in the Event Handler) should be Synchronous.
Asynchronous execution mode places the process flow in a queue to be handled by an Application Server. This allows the local client machine to continue with other processes without requiring successful completion of the process flow. This mode of execution is most effective for the more complicated process flows that may otherwise result in delays to the user who must wait for the flow to complete. For example, process flows which result in generation of email notifications may not require completion prior to other functionality continuing and may provide more efficiency if set to Asynchronous execution mode.
Only Application Servers can execute Asynchronous process flows. See Administering Application Servers for information on Application Servers.
The execution location determines where the process flow is run. There are two locations available:
- Local: Processing of the process flow occurs on the local client machine.
- Server: Processing of the process flow occurs on an Application Server.
The combination of execution mode and execution location determines whether a Process Flow Runs record is created and where the process will physically execute.
Synchronous Execution Mode / Local Execution Location
When Execution Mode is set to Synchronous, Execution Location should be set to Local. The system does not create a Process Flow Runs record when using these settings. For these settings, when the process flow is fired, it immediately executes on the local computer.
Asynchronous Execution Mode / Server Execution Location
This configuration indicates that the process executes on an Application Server and that all subsequent processing continues on the local machine while this process flow is still running. The system performs the following actions after the process flow is fired:
- The system creates a Process Flow Runs record, but the Client Machine Name remains blank until the process is sent to a server (at which time the Application Server's name appears in this field).
- The Application Server polls the database server and picks up the Process Flow Run for execution.
- The process flow executes on the Application Server, and the Application Server returns information about the run to the database server.
When creating Process Flows for Application Servers, set the Execution Mode to Asynchronous and the Execution Location to Server. See Administering Application Servers for information on Application Servers.
Asynchronous Execution Mode / Local Execution Location
This configuration is only suitable for running process flows locally on an Application Server. This combination indicates that the process flow executes on the local computer and that all subsequent processing continues while this process flow is still running.
- The system creates a Process Flow Runs record. The Client Machine Name field is populated with the name of the local computer, which is also an Application Server.
- The local computer polls the database server and picks up the Process Flow Run for execution.
- The process flow executes on the local computer, which then returns information about the run to the database server.
In general, you should configure a process flow to use Asynchronous/Server or Synchronous/Local. If you want an Application Server to execute the process flow, configure it to use Asynchronous/Server. If you want a local computer to execute the Process Flow immediately following a trigger event, configure it to use Synchronous/Local.
Defining Process Flow Input Properties
The input properties of a process flow define the external data that is required for the process flow to function properly.
At the Process Flow level, you define the Input Properties which obtain their value from an external source (the Event Handler or the Scheduled Task). This corresponds to Input Maps that use the Context Object source type (see Configuring Process Flow Input Maps for more information).
You do not need to include Input Properties that are fulfilled by static values at the Process Flow Step level. Input Property fulfillment at the Process Flow Step level overrides fulfillment at any other level during a process flow event.
The process flow engine populates a Process Flow Context Object with values passed in via the process flow's input properties. The context object is an in-memory data structure that is passed to each subsequent step in the process flow. Through the context object, each step has access to the values passed to the process flow at the time the flow is initiated. Also, each step can pass new values into the context object (that is, the output for one step may be an input for another step). On a process flow's Input Properties tab, you specify all of the external data that the process flow will require to execute (this does not include any data generated as a step's output though).
The steps within the process flow may be based on components, rules, or other process flows. Process Components records provide a list of required data on their associated Input Properties tabs. You should review the Input Properties for the components you intend to use in a process flow when determining what data is required.
Follow these steps to add input properties to a process flow:
- Click the Input Properties tab.
- Click the New icon to open a new record.
- Enter a Name for the input property.
- Choose a type from the Type list.
- The valid values are String, Integer, Long, Currency, Decimal, Date/Time, Boolean, and Object.
- Typically, an input property corresponds to a Field value from an entity so the Type should match the Field's SQL Data Type as defined in the entity.
- For an Input Properties entry that corresponds to an GE Object, select Object as the Type.
- Complete the optional Description and Default Value fields, as necessary.
- The Default Value specifies the value used by the input property if the Process Flow does not obtain a value for this property from the Event Handler or Scheduled Task.
-
By default, the Required option is selected. If this input property is not required, clear this option.
The Value List Type field and Possible Values tab are reserved for future use with respect to Process Flow Input Properties.
- Click OK to save and close the Input Properties record.
- Repeat steps 2 through 7 to add additional input properties.
- Alternatively, you can click OK and New in Step 7 to save the current record and open a new Input Properties record in one step.
- Alternatively, you can click OK and New in Step 7 to save the current record and open a new Input Properties record in one step.
- Save the Process Flows record.
Defining Process Flow Output Properties
Each step may produce results in the form of specific data points. If the process flow is a sub-process, it can store this data within the Context Object for use by a later step in the process flow or it can write the data to an external log. You should define only data returned by the process flow (which may act as a sub-process-based step in another process flow) on the Output Properties tab.
When adding a component to a Validation process flow, you must define the ValidationMessage output property to set the process flow property ValidationMessage. This is required because the property collection on a process flow component is independent from the property collection of the process flow itself. If the ValidationMessage output property is not defined, the message from the process flow component is never passed to the process flow and the user receives an error instead of the intended validation message.
Follow these steps to define Output Properties for a process flow:
- Click the Output Properties tab.
- Click the New icon to open a new record.
- Enter the Name of the output property.
- Enter a Description of the output property.
- Select the property's data type from the Type list.
- The valid values are String, Integer, Long, Currency, Decimal, Date/Time, Boolean, and Object.
- Typically, an output property corresponds to a Field value from an entity so the Type should match the Field's SQL Data Type as defined in the entity.
- Click OK to save and close the record.
- Repeat steps 2 through 6 to define additional output properties.
- Alternatively, you can click OK and New in Step 6 to save the current record and open a new Output Properties record in one step.
- Save the Process Flows record.
Defining Process Flow Result Codes
Every step within a process flow results in one or more scenarios. Each of these expected scenarios is defined as a result code within the setup of process steps. In general, the Process Flow Result Codes should match the Result Codes of the individual steps.
Also, since a process flow may also act as sub-process step within other process flows, any step that runs a process flow as a sub-process inherits the process flow's Result Codes.
Follow these steps to add Result Codes to a process flow:
- Click the Result Code tab.
- Click the New icon to open a new record.
- Enter a result code name into the Code field.
- Enter a description for the result code.
- By default, the Success option is selected. If the code does not signify a successful operation, clear the option.
- Click OK to save and close the record.
- Repeat steps 2 through 6 to define additional result codes.
- Alternatively, you can click OK and New in Step 6 to save the current record and open a new Result Codes record in one step.
- Save the Process Flows record.
Comments
Please sign in to leave a comment.