Create subjob activity

A subjob is an entirely self-contained process, which can be invoked by the parent process.

A Subjob activity is typically used when processes have been decomposed for reusability and readability purposes. For example, in a Banking process, the main purpose of a Credit Check subjob is to complete a credit check and return a customer’s credit rating. The main process is unaffected by the implementation of the subjob if the credit rating result is relayed back to the main process so a bank clerk can continue to process the loan application. The Credit Check subjob could potentially be reused in a few key business processes, such as loan applications, credit card applications, and mortgage loans.

This activity is not supported in a business rule.

The difference between a Subjob and Create new job activities is that the path in the parent launching the job waits until the subjob returns, thus permitting data to not only be passed to the subjob but also returned from it.

The difference between a Subjob activity and an embedded process is that none of the variables, milestones, and the rest of the subjob are added to or inherited from the parent.

With a subjob activity, outputs can be mapped even if the specified process map from which to create a subjob is not synchronous. You can also select only specific variables to display as outputs in the defined order in a create Subjob activity. See Create process variables

By applying workflow rules, you can create one or more subjobs within a business process. When workflow rules are used, a subjob is created for each resource allocated to the Subjob activity. See Add a Create subjob activity with advanced workflow rules.

Only a single subjob is created when workflow rules are not being used. The Subjob activity does not display on the work queue of any resource.

Prerequisites:

  1. Before creating a Subjob activity, create the subjob map. See Design a basic process.
  2. Add variables to the subjob map to hold the information passed from the main map.
  3. Assign these variables as initialization variables. See Create process variables.

  • You can include a synchronous create subjob process within an asynchronous map. But you cannot include an asynchronous create subjob process in a synchronous map.
  • If the parent map is synchronous, the synchronous create subjob process is performed synchronously.
  • If the parent map is asynchronous, the synchronous or asynchronous create subjob process is performed asynchronously.

How to: Configure a Create subjob activity