The DataSlot class is used to represent dataslot objects that reside on a Business Process server. A dataslot represents a specific piece of data used in a business process. Dataslots (Progress.BPM.DataSlot objects) are defined at the Progress.BPM.Process level and each workstep in a process may use some, all, or none of the dataslots for input, input-output, and output. A workstep can have one or more input or output dataslots attached; or it can have none.
The main purpose of a dataslot is to store data values. A dataslot object has additional properties that provide metadata about the dataslot, such as its name, data type, and access modifier (read-only, for example). A dataslot can also have an optional list of valid values; see the Choices property for more information.
You can pass data between worksteps by attaching the same dataslot to multiple worksteps—for example, you can attach a dataslot as an output from one workstep and an input to the next.
When ABL code sets the Value property of a DataSlot object, that value remains local to the ABL DataSlot object— it does not immediately affect the value of the corresponding dataslot object on the Business Process Server, nor does it affect the value of any other DataSlot instance in the ABL program that may represent the same server dataslot.
You can retrieve and set the dataslots associated with a task through the GetDataSlots( ) method on a Task object. Dataslots retrieved this way will be updated on the server when you call Complete( ) on the Task. You can also retrieve and update dataslots associated with the entire process through the Progress.BPM.Process class (using the GetDataSlots( ) method and the UpdateDataSlots( ) method, respectively).
This class contains a private constructor; you cannot instantiate it directly. You can retrieve the dataslots associated with a task through the GetDataSlots( ) method on a Process object.