Try OpenEdge Now
skip to main content
ABL Reference
Class Properties and Methods Reference : Value property
 

Value property

Returns the ABL value represented by an associated DataSlot object. A DataSlot object's value can be any of several ABL data types; the type of a given DataSlot is designated by its DataTypeName property. Normal ABL assignment rules are in effect when assigning to or from a DataSlot object's Value property.
The value of an ABL DataSlot object is initially set when the dataslot is obtained from the Business Process Server; it is the value of the dataslot on the server at that moment. At any time after that, the value is specific to the instance of the ABL DataSlot. That is, if an ABL program obtains dataslot A from the server, the value of dataslot A on the server and the ABL DataSlot object that is created as a result of that call will initially be the same. However, if dataslot A changes on the server, the value of the ABL DataSlot object will be unaffected.
Likewise, setting the Value property of the ABL DataSlot object will not (by itself) change the value of dataslot A on the server. Calling Complete( )on a Progress.BPM.Task object will automatically update the values on the server for all the DataSlots associated with that Task object.
An attempt to set the Value property of an ABL DataSlot that is read-only will raise a BPM error.
Data type: Determined at run time
Access: PUBLIC Readable/Writeable
Applies to: Progress.BPM.DataSlot class, Progress.BPM.DataSlotTemplate class
Since the type of the DataSlot object's Value is not known at compile time, strong type checking is not supported. Instead, the rules for run-time assignments in the ABL are used. This is also the case for the array list type. For more information, see Assignment (=) statement.

Notes

*Some of the dataslot types available from a Business Process Server are not yet supported in ABL. For these dataslot objects, the DataTypeName property is "UNSUPPORTED" and the Value property returns the Unknown value (?).
*In ABL, setting and getting the values of RAW and MEMPTR variables require special ABL functions and statements such as PUT-BYTE, GET-BYTES, etc. Because of a limitation on the use of expressions that access a property through an object reference, you cannot use these functions and statements to operate directly on the Value property of a DataSlot or DataSlotTemplate object. Instead, use an intermediate variable of the appropriate type, and assign the variable to or from the Value property.
*The Progress OpenEdge data type List does not support empty entries. If any of the members of the ABL character array that are assigned into a DataSlot object's Value property are empty or have the Unknown value (?), a run-time error generates when the Value property is passed to the Business Process Server.
*The Progress OpenEdge data type List does not support the Less Than ( < ) or Greater Than ( > ) character. This is because the Business Process Server uses those characters as delimiters for the members of the List array. If either of these characters is used in a List element in the ABL and passed to the Business Process Server, Progress OpenEdge will not be able to read the list properly.