2022 June Release

Class COOWF@1.1:ProcessInstance Permanent link for this heading

Class Hierarchy

Object > ProcessInstance

Objects of this class are used for an instance of a running process, that is assigned to an object. It consists of a sequence of activity instances, CASE switches, IF-THEN-ELSE conditions, REPEAT loops and/or nested process definitions (subprocesses), which are connected with each other. A process instance can be created on the fly without an attachment to an object, it can be created on the fly attached to an object and it can be created by assigning a process definition to an object.
When a process definition is assigned to an object a process instance is created from the process definition and instance elements are created from the definition elements. Embedded subprocesses are resolved either when the process instance is created or when the subprocess is actually initiated. Resolving the subprocess means inserting activity instances into the current process instance. If the process definition is modified after the process instance was created, the modifications are not reflected in the running process instance (with the exception of loops and subprocesses that are not expanded immediately). Changes of the process instance have no effect on the process definition.
Note: When an object is initialized with a process definition the created process instance is stored as a property of the object. Therefore the object class of that object or a base class of the object class must include the property workflow. By default no object class has this property assigned. You have to add this property to your object classes and to the existing object classes depending on the object model of your solution.

Additional Information

  • Commonly usable

Properties Permanent link for this heading

Type

Property

Name

ActivityInstance[]

objactivepastactivities

Completed Activities

ActivityInstance[]

objallactiveactivities

All Activities of Running or Completed Processes

ActivityInstance[]

objfutureactivities

Planned Activities

ActivityInstance[]

objrunningactivities

Current Activities

InstanceElement[]

procinstactivities

Activities of the Process

date

procinstarchivedat

Archived on/at

User

procinstarchivedby

Archived by

Object

procinstcalcdefinition

Process Definition

User

procinstchangedby

Last Change in User Interface by

string

procinstcommonid

Identifier for Related Processes

date

procinstcompletedat

Completed on/at

ProcessDefinition

procinstdefinition

Process Definition

WorkFlowDiagram

procinstdiagram

BPMN Process Diagram

EscalationDefinition

procinstescalation

Escalation

WorkFlowParticipant

procinstinitiator

Process Initiator

boolean

procinstnosubst

Disable Substitution

Object[]

procinstobject

Affected Object

WorkFlowParticipantMapping[]

procinstpartmapping

Overwritten Process Definition Participants

WorkFlowDiagram

procinstpubdiagram

BPMN Process Diagram (Released for Execution)

WorkFlowParticipant

procinstrespmansubst

Manual Entry by

WorkFlowParticipant

procinstresponsible

Responsible for Process

InstanceElement[]

procinststart

Start Activities

date

procinststartedat

Started on/at

ProcessInstanceState

procinststate

State of Process

User[]

procinstusers

Users Concerned

InstanceElement[]

procinstwork

To Do

Actions Permanent link for this heading

Return Type

Signature

boolean

AllowChangeProcessState(
  out retval boolean statechangeable)

void

ArchiveProcess()

void

ClearProcessParameters(
  optional boolean separatetx)

ArchivedProcessStatistic

GenerateArchivedProcessStatistic(
  out retval ArchivedProcessStatistic statistics)

object[]

GetInstanceElements(
  ref retval object[] instelems,
  optional object[] objclass,
  optional ActivityInstanceState[] actinststate,
  optional boolean ordered,
  optional string adhockey,
  optional string multiinstancekey)

object[]

GetLastInstanceElements(
  out retval object[] instelems)

object[]

GetParticipantUsers(
  out retval object[] users,
  optional boolean ignoregroupposition,
  optional boolean activeusersonly)

any

GetProcessParameter(
  string key,
  out retval any value)

dictionary

GetProcessParameters(
  out retval dictionary params)

object

ObjectCopy(
  ref optional object placement,
  out retval object object,
  optional string address,
  optional boolean virtualobject)

integer

ObjectFixVersion(
  boolean autofixed,
  string versdesc,
  out retval integer newversnr,
  optional boolean fixcontents,
  optional boolean converttofinalform,
  optional string finalformat,
  optional boolean noautopurge)

void

SetProcessActive()

void

SetProcessParameter(
  string key,
  optional any value,
  optional boolean separatetx)

void

SetProcessSuspended()

void

SetProcessTerminated()

boolean

UserIsResponsible(
  out retval boolean isresponsible,
  optional object user,
  optional ResponsibilityContext respcontext)

Properties Permanent link for this heading


Completed Activities (COOWF@1.1:objactivepastactivities) Permanent link for this heading

Contains completed activities of active/completed processes.

ActivityInstance[] COOWF@1.1:objactivepastactivities readonly volatile

Additional Information


All Activities of Running or Completed Processes (COOWF@1.1:objallactiveactivities) Permanent link for this heading

Contains all activities of all active and completed (PROCINST_INPROGRESS, PROCINST_COMPLETED) processes.

ActivityInstance[] COOWF@1.1:objallactiveactivities readonly volatile invisible

Additional Information


Planned Activities (COOWF@1.1:objfutureactivities) Permanent link for this heading

Contains all future activities.

ActivityInstance[] COOWF@1.1:objfutureactivities readonly volatile

Additional Information


Current Activities (COOWF@1.1:objrunningactivities) Permanent link for this heading

Contains all running activities.

ActivityInstance[] COOWF@1.1:objrunningactivities readonly volatile

Additional Information


Activities of the Process (COOWF@1.1:procinstactivities) Permanent link for this heading

This property stores a list of all activitiy instance and wait action instances of the current process

unique InstanceElement[] COOWF@1.1:procinstactivities readonly volatile

Additional Information


Archived on/at (COOWF@1.1:procinstarchivedat) Permanent link for this heading

Defines the date and time the process instance was completed. A process instance is completed when all activity instances are completed.

date COOWF@1.1:procinstarchivedat local readonly


Archived by (COOWF@1.1:procinstarchivedby) Permanent link for this heading

The property defines who has archived the process instance.

User COOWF@1.1:procinstarchivedby readonly


Process Definition (COOWF@1.1:procinstcalcdefinition) Permanent link for this heading

Object COOWF@1.1:procinstcalcdefinition readonly volatile


Last Change in User Interface by (COOWF@1.1:procinstchangedby) Permanent link for this heading

The property defines who has done the last modification in the user interface.

User COOWF@1.1:procinstchangedby readonly


Identifier for Related Processes (COOWF@1.1:procinstcommonid) Permanent link for this heading

This property stores an identifier to mark process instances which are started at the same time and for whome the activity instances can be displayed combined in the worklist

string COOWF@1.1:procinstcommonid readonly


Completed on/at (COOWF@1.1:procinstcompletedat) Permanent link for this heading

Defines the date and time the process instance was completed. A process instance is completed when all activity instances are completed.

date COOWF@1.1:procinstcompletedat local readonly


Process Definition (COOWF@1.1:procinstdefinition) Permanent link for this heading

Defines the process definition the process instance is created from. This property is set automatically and must not be changed afterwards.

ProcessDefinition COOWF@1.1:procinstdefinition readonly


BPMN Process Diagram (COOWF@1.1:procinstdiagram) Permanent link for this heading

Defines the source version of the BPMN process diagram the process instance is created from. This property is set automatically and must not be changed afterwards.

WorkFlowDiagram COOWF@1.1:procinstdiagram readonly


Escalation (COOWF@1.1:procinstescalation) Permanent link for this heading

Defines the escalation definition that is to be used for activity instances in this process instance.
If the process instance is created from a definition, this property is initialized with the value of procdefescalation.

EscalationDefinition COOWF@1.1:procinstescalation readonly


Process Initiator (COOWF@1.1:procinstinitiator) Permanent link for this heading

Defines the organizational element that initiated the process instance. This is the user who created the process instance and the role the user had at the time he initialized the process instance.
This property is set automatically and must not be changed afterwards.

unique WorkFlowParticipant COOWF@1.1:procinstinitiator readonly(ui)


Disable Substitution (COOWF@1.1:procinstnosubst) Permanent link for this heading

Substitutions can be disabled for process instances

boolean COOWF@1.1:procinstnosubst readonly


Affected Object (COOWF@1.1:procinstobject) Permanent link for this heading

Defines the objects of the process instance, if the process instance is assigned to objects. If the process is not assigned to particular objects, no object is stored in this property.

Object[] COOWF@1.1:procinstobject readonly


Overwritten Process Definition Participants (COOWF@1.1:procinstpartmapping) Permanent link for this heading

This property is used to define a participant mapping to replace a participant defined in the process definition or process diagram with custom participants.

unique WorkFlowParticipantMapping[] COOWF@1.1:procinstpartmapping readonly(ui)


BPMN Process Diagram (Released for Execution) (COOWF@1.1:procinstpubdiagram) Permanent link for this heading

This property stores released version the BPMN process diagram the process instance is created from. from. This property is set automatically and must not be changed afterwards.

WorkFlowDiagram COOWF@1.1:procinstpubdiagram readonly


Manual Entry by (COOWF@1.1:procinstrespmansubst) Permanent link for this heading

Defines the organizational element that substitutes the person, who is responsible for the process instance and does not have a user environment.

unique WorkFlowParticipant COOWF@1.1:procinstrespmansubst


Responsible for Process (COOWF@1.1:procinstresponsible) Permanent link for this heading

Defines the organizational element that is responsible for the process instance. This organizational element has additional privileges when working with the process instance. By default this property contains the user who instantiated the process, but its value can be changed afterwards.
It is also possible to define a person who is not a system user. In this case an organizational element, who substitutes this person, must be defined.

unique WorkFlowParticipant COOWF@1.1:procinstresponsible


Start Activities (COOWF@1.1:procinststart) Permanent link for this heading

Defines the list of process instance elements the process instance starts with.

unique InstanceElement[] COOWF@1.1:procinststart readonly


Started on/at (COOWF@1.1:procinststartedat) Permanent link for this heading

Defines the date and time the process instance was started. This property is set automatically and must not be changed afterwards.

date COOWF@1.1:procinststartedat local readonly


State of Process (COOWF@1.1:procinststate) Permanent link for this heading

Defines the state of the process instance.

ProcessInstanceState COOWF@1.1:procinststate not null


Users Concerned (COOWF@1.1:procinstusers) Permanent link for this heading

This property contains the list of users concerned by activities of this process instance. This list is built from the users that have or will have activities of this process instance assigned to.

unique User[] COOWF@1.1:procinstusers readonly


To Do (COOWF@1.1:procinstwork) Permanent link for this heading

This property contains the activity instances of the process instance, where work can be done currently. These are the activities that are startable or started and not yet completed.

unique InstanceElement[] COOWF@1.1:procinstwork readonly volatile

Actions Permanent link for this heading


COOWF@1.1:AllowChangeProcessState Permanent link for this heading

Check if the current user is allowed to change the state of the process

boolean COOWF@1.1:AllowChangeProcessState(
  out retval boolean statechangeable)

Name

Description

statechangeable


COOWF@1.1:ArchiveProcess Permanent link for this heading

The instance elements like activities and control elements of the process are deleted. Only the process instance is kept with some meta data about the process statistic.

void COOWF@1.1:ArchiveProcess()


COOWF@1.1:ClearProcessParameters Permanent link for this heading

Action clear process parameters for a specified process. This action fails for users with are no participant of the process or have no access on the object of the process.

void COOWF@1.1:ClearProcessParameters(
  optional boolean separatetx)

Name

Description

separatetx

the changes are stored in a separate transaction and directly saved

COOWF@1.1:GenerateArchivedProcessStatistic Permanent link for this heading

This action can be used to generate a process statistic before archiving the process instance.

ArchivedProcessStatistic COOWF@1.1:GenerateArchivedProcessStatistic(
  out retval ArchivedProcessStatistic statistics)

Name

Description

statistics


COOWF@1.1:GetInstanceElements Permanent link for this heading

This action can be called to retrieve all instance element objects of a process instance that have the specified class and the specified state. If no class is specified, the instance elements in the process instance are returned regardless of their class. If no state is specified, the instance elements in the process instance are returned regardless of their state.

object[] COOWF@1.1:GetInstanceElements(
  ref retval object[] instelems,
  optional object[] objclass,
  optional ActivityInstanceState[] actinststate,
  optional boolean ordered,
  optional string adhockey,
  optional string multiinstancekey)

Name

Description

instelems

The list of instance elements.

objclass

The desired class.

actinststate

The desired state.

ordered

The instance elements are returned in their graphical order. Starting at the top going to the bottom and from left to right

adhockey

the instance elements with the matching ad hockey will be returned

multiinstancekey

the instance elements with the matching multi instance key will be returned

COOWF@1.1:GetLastInstanceElements Permanent link for this heading

This action can be called to retrieve the last instance elements in a process instance. These are those elements, that do not have a successor any more. If the last element in a process instance is a CASE switch, IF condition or REPEAT loop, the end element of these elements is returned.

object[] COOWF@1.1:GetLastInstanceElements(
  out retval object[] instelems)

Name

Description

instelems

The list of last instance elements.

COOWF@1.1:GetParticipantUsers Permanent link for this heading

Get the user which are used as participants

object[] COOWF@1.1:GetParticipantUsers(
  out retval object[] users,
  optional boolean ignoregroupposition,
  optional boolean activeusersonly)

Name

Description

users

the users

ignoregroupposition

the ignoregroupposition

activeusersonly

the activeusersonly

COOWF@1.1:GetProcessParameter Permanent link for this heading

Action to get a process parameter for a specified process. This action fails for users with are no participant of the process or have no access on the object of the process.

any COOWF@1.1:GetProcessParameter(
  string key,
  out retval any value)

Name

Description

key

the identifier for the process parameter

value

the parameter value

COOWF@1.1:GetProcessParameters Permanent link for this heading

Action read all process parameters for a specified process. This action fails for users with are no participant of the process or have no access on the object of the process.

dictionary COOWF@1.1:GetProcessParameters(
  out retval dictionary params)

Name

Description

params

process parameters

COOSYSTEM@1.1:ObjectCopy Permanent link for this heading

Creates a new object as the copy of the object. This action called on the source object. This action sets the property objsource on the copied object.

object COOSYSTEM@1.1:ObjectCopy(
  ref optional object placement,
  out retval object object,
  optional string address,
  optional boolean virtualobject)

Name

Description

placement

object

The created copy of the object.

address

The object address for the new object. If this parameter is used, it overrides the specified COO store in parameter coost or the automatically chosen COO store, if no COO store was specified. @see ObjectCreate

virtualobject


COOSYSTEM@1.1:ObjectFixVersion Permanent link for this heading

Defines the current object version of the object with a short description of the version and starts a new version.

integer COOSYSTEM@1.1:ObjectFixVersion(
  boolean autofixed,
  string versdesc,
  out retval integer newversnr,
  optional boolean fixcontents,
  optional boolean converttofinalform,
  optional string finalformat,
  optional boolean noautopurge)

Name

Description

autofixed

If it is true, the new version was started automatically. Otherwise the user started a new version.

versdesc

The version description.

newversnr

The new version number.

fixcontents

converttofinalform

finalformat

noautopurge


COOWF@1.1:SetProcessActive Permanent link for this heading

Activates a suspended process

void COOWF@1.1:SetProcessActive()


COOWF@1.1:SetProcessParameter Permanent link for this heading

Action to set a process parameter for a specified process. This action fails for users with are no participant of the process or have no access on the object of the process.

void COOWF@1.1:SetProcessParameter(
  string key,
  optional any value,
  optional boolean separatetx)

Name

Description

key

the identifier for the process parameter

value

the parameter value

separatetx

the changes are stored in a separate transaction and directly saved

COOWF@1.1:SetProcessSuspended Permanent link for this heading

Suspends a process

void COOWF@1.1:SetProcessSuspended()


COOWF@1.1:SetProcessTerminated Permanent link for this heading

Terminated a process

void COOWF@1.1:SetProcessTerminated()


COOWF@1.1:UserIsResponsible Permanent link for this heading

Checks if the user is the responsible of the process

boolean COOWF@1.1:UserIsResponsible(
  out retval boolean isresponsible,
  optional object user,
  optional ResponsibilityContext respcontext)

Name

Description

isresponsible

the result

user

the for whom the responsibility should be checked

respcontext

the context of process responsibility. The default value is RESPCTX_OTHER