Create Process Instance (Extended Method)

API Type

Web Services

Description

Creates a process instance that can have additional input arguments added to the function.

Syntax

public virtual WFEvent CreateProcInstEx(string ProcessID, string ProcessInstID, string ProcInstName, string WorkObjID, string SuperProcInstID, string CustomID, NameValue[] Attributes, bool blnstartImmediately)

Parameters

Name Description

ProcessID

Definition:
The process definition ID or process template name for a released process definition.
Type
string
Allowed Values:
A valid process definition ID or process template name.

ProcessInstID

Definition:
A process instance ID for the process instance you are creating.
Type
string
Allowed Values:
A unique, 32 character process instance ID.

If you set this value to null, the AgilePoint Server generates the ID.

ProcInstName

Definition:
A unique process name that is associated with the process definition.
Type
string
Allowed Values:
A unique process instance name up to 1024 characters.

WorkObjID

Definition:
An ID for an object, such as a document, that is associated with the process instance.
Type
string
Allowed Values:
A valid, unique 256-character ID.

Even though the field size is 256 characters, in common practice, this will usually return a 32-character GUID.

SuperProcInstID

Definition:
A process instance ID that acts as a parent process instance of the process instance that is intended to create. In other words, this is the ID of the process instance on which you want to base your new process instance.
Type
string
Allowed Values:
A valid, unique 32-character process instance ID.

CustomID

Definition:
A work object ID specified within a process instance.
Type
string
Allowed Values:
One valid work object ID.

Attributes

Definition:
Name-value pairs associated with a custom ID.
Type
NameValue
Allowed Values:
A valid custom ID with an associated name.

blnStartImmediately

Definition:
An obsolete, legacy parameter that must be true.
Type
bool
Allowed Values:
True

Output

WFEvent object that provides the status of the transaction. The possible statuses are:

  • Sent - Indicates event has been sent to engine for processing.
  • Failed - Indicates event failed to process.
  • Processed - Indicates event has been processed successfully.
  • Canceled - Indicates event was canceled.
  • Deferred - Indicates event does not need to be sent immediately.

Example

IWFWorkflowService svc = GetWorkflowService();
string processDefinitionName = "EmployeeOnboardProcess";

// get UUID of released process definition
string ProcessID =
svc.GetReleasedPID(processDefinitionName);

// assign UUID of process instance
string ProcessInstID = UUID.GetID();

// process instance name that has to be unique within process definition ID
string ProcInstName = string.Format("{0}-{1}",
processDefinitionName DateTime.Now.Ticks );

// work object ID
string WorkObjID = UUID.GetID();
//parent process instance ID is required if this is to create a sub
process. If not, just provide null
string SuperProcInstID = .. // for example,
"09315f0ae769429bbfb243f888bcb09f" or null
List<NameValue> ds = new List<NameValue>();
ds.Add(new NameValue("CustomAttrKey1", "CustomAttrValue1"));
ds.Add(new NameValue("CustomAttrKey2", true));
ds.Add(new NameValue("CustomAttrKey3", 12345));
WFEvent evt = svc.CreateProcInstEx(
                  ProcessID,
                  ProcessInstID,
                  ProcInstName,
                  WorkObjID,
                  SuperProcInstID,
                  WorkObjID,
                  ds.ToArray(),
                  true);

Supported Versions

3.2.0.4 and higher