Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

This section is applicable only for the users of Adepta Connect.

Using Process Flow in a Template

While creating a Process Flow, in the Process Designer, write the following script in the Service exception field under the OnException Scripts tab.  

import org.apache.commons.lang.exception.ExceptionUtils;
Throwable rootCause = ExceptionUtils.getRootCause(exception);
String exceptionMessage = null;
if(rootCause == null)
exceptionMessage = exception.getMessage();
else
exceptionMessage = rootCause.getMessage();

context.put("subprocess_code", "ERROR_IN_CHILD_FLOW");
context.put("subprocess_text", exceptionMessage);

Process Flow Calling Another Process Flow

If the Process Flow is further calling a Transaction, you need to create a custom plugin using below JavaScript. After you have created a custom plugin, use it in the Process Flow.

JavaScript  for Custom Plugin to set child context Param and other required information to call another process flow:

  1. When streaming is passed to child flow in File Mode:
    import com.adeptia.connect2.runtime.RuntimeUtils;
    RuntimeUtils.setChildContextForCustomFlow(inputStream, context, service.getLogger(), "<<ACTION_NAME>>");

    where,

    ACTION_NAME is the name of the call or spawn.

    for example,

    RuntimeUtils.setChildContextForCustomFlow(inputStream, context, service.getLogger(), "Action_Name");

    Ensure that you have provided the values in double quotes (" ").
  2. When streaming is passed to child flow in Memory Mode:

    import com.adeptia.connect2.runtime.RuntimeUtils;
    RuntimeUtils.setChildContextForCustomFlow(inputStream, context, service.getLogger(), "<<ACTION_NAME>>", true, "<<contextVarName>>");

    where,

    ACTION_NAME is the name of the call or spawn.       
    contextVarName is the name of the context variable that will be used as Key to put stream data on context.

    Note

    For Memory mode, in child flow, if Context Source is used, then eventContextEnable must be false.

    Ensure that you have provided the values in double quotes (" ").

  3. When no Stream is passed to child flow in:

    import com.adeptia.connect2.runtime.RuntimeUtils;
    RuntimeUtils.setChildContextForCustomFlow(context, service.getLogger(), "<<ACTION_NAME>>");

    where,

    ACTION_NAME is the name of the call or spawn.

    Ensure that you have provided the values in double quotes (" ").


JavaScript to check if child flow is Aborted or not:

import com.adeptia.connect2.runtime.RuntimeUtils;
return RuntimeUtils.isChildFlowAborted(context, "<<resultCtxVarName>>");

where,

         resultCtxVarName is the name of the context variable that contains the status of the sub-flow. The value can be Executed, Aborted, Queued, or Waiting.


JavaScript for Custom plugin to abort parent flow:

import com.adeptia.connect2.runtime.RuntimeUtils;
RuntimeUtils.abortParentFlow(context,"<<ACTION_NAME>>","<<resultCtxVarName>>");

Process Flow Design

Following are the sample designs of the Process Flow, calling a Transaction through Call or Spawn action:

Using SIngle Call

Using Multiple Call

Using Single Spawn

Using Multiple Spawn



  • No labels