class Ens.BPL.Assign
extends Ens.BPL.Activity
The syntax specifies a target property and an expression that will be
assigned to it:-
Assignments ALWAYS have accessible to them certain intrinsic objects which are part
of the execution environment. These are the context, process, request,response, status,
synctimedout, synchronizedresponses etc. as well as other objects
which refer to the corresponding properties in the business process object. When an
assignment is performed in the context of a call (defined by the tag in BPL), the
callrequest and callresponse object refer to the CURRENT request or response.
Note: when in a tag, the callresponse object is undefined, when in a tag, the
callrequest object is undefined
Assignments can also specify the 'action' attribute which determines how the assignment
is performed. Legal values for the 'action' attribute are:- Append,Clear, Insert,Remove and Set.
If this attribute is not specified, the default value is 'Set'. Append,Clear, Insert and Remove
are only applicable when the property being accessed is a collection of type 'list' or 'array'.
Depending upon the type of assignment, an additional attribute 'key' may be required. Here is a
table which determines which attributes are required to effect a particular type of assignment.
Property Type Assignment Action Key Required Result
------------- --------------- ------------ ------
Non-collection Set No Property is set to new value
Array Clear No Array is cleared
Array Remove Yes Element at Key is removed
Array Set Yes Element at Key is set to new value
List Append No Element is added to the end of the list
List Clear No List is cleared
List Insert Yes Element is inserted at position determined by Key
List Remove Yes Element at Key is removed
List Set Yes Element at Key is replaced
property Action
as %String [ InitialExpression = "set" ];
This holds the type of the assignment
property Key
as %String [ InitialExpression = """""" ];
This holds the ( optional ) key used for certain types of assignment operations
on properties which are collections (array or list)
property Property
as %String;
This holds the name of the target object
property Value
as %String;
This holds the value to assign to the property