7 Understanding Synchronous and Asynchronous Processing

This chapter contains the following topics:

7.1 Synchronous and Asynchronous Processing

JD Edwards EnterpriseOne Workflow can execute a workflow process either synchronously or asynchronously. Asynchronous processing enables various workflow processes to run at the same time. By starting a JD Edwards EnterpriseOne workflow process asynchronously, you are simply running the workflow in the background of the calling application.

Although asynchronous workflow processes might process faster, synchronous processing is sometimes preferred. If a calling application depends on information from the workflow process, you should run the process synchronously to ensure that the calling application gets the information it needs from the process before the workflow finishes and the application closes.

A JD Edwards EnterpriseOne workflow process runs asynchronously by default, with these exceptions:

  • When it is run from a batch application.

  • When the workflow process is specifically designed to run synchronously.

In the first case, the system forces the workflow to run synchronously. In the second case, the designer specifically selects for the workflow to run synchronously.

7.2 System Functions for Synchronous and Asynchronous Processing

You can use the system functions Start Process and Complete Activity for asynchronous processing. You can use the system functions Start Process In Line and Complete Activity In Line for synchronous processing.

If an application depends on a JD Edwards EnterpriseOne workflow process to complete before continuing with subsequent event rule logic, then you must use Start Process In Line.

The Start Process and Complete Activity system functions run asynchronously in interactive applications, named event rules (NER), and table event rules (TER).

The Start Process In Line and Complete Activity In Line system functions run synchronously in interactive applications, named event rules (NER), and table event rules (TER).

Workflow processes in batch applications and subprocess tasks within a JD Edwards EnterpriseOne workflow always run synchronously, so only the Start Process In Line and Complete Activity In Line system functions are available in Report Design Aid and subprocess task definition. All event rules for existing batch applications that call Start Process and Complete Activity continue to be displayed as they are, but the workflow processes run synchronously.

Several system functions for JD Edwards EnterpriseOne workflow processing are available. Refer to the online APIs for more information about specific system functions.

7.3 Transaction Processing

If a named event rule that is included in a transaction calls any JD Edwards EnterpriseOne workflow system function, regardless of whether the workflow processes are synchronous or asynchronous, the workflow process is not included in the transaction. Therefore, the JD Edwards EnterpriseOne workflow process is permanently written to the tables even if the transaction rolls back.