A dataslot is the mechanism that allows BP Server to handle data. It is a container for data, attached to both a workstep and a process. Since data in a process might be shared, a dataslot is like a pipe tapping into a reservoir of data.
Each process defines a set of dataslots for passing data between worksteps. Each dataslot has a Name, a Data Type, a Value and an optional list of possible values. The dataslots can be shared among many worksteps in the same process.
A workstep may not have any input dataslots attached to it, or it may have a number of input dataslots attached. Similarly, it may not have any output dataslots attached to it, or it may have a number of output dataslots attached.
Figure 16 illustrates how the worksteps access the attached dataslots.
Figure 16. Dataslots and worksteps
At runtime, the BP Server Engine passes data to a workstep and gets the result (if any) after completion. In addition to defining the type of dataslot, you can also define a set of possible values for a dataslot, such as: Approved, Not Approved, and Request not Complete. The set of possible values helps in controlling the user input.
BP Server supports the following type of ABL datatypes as dataslots:
CHARACTER
INTEGER
INT64
LOGICAL
DATETIMETZ
DECIMAL
HANDLE
ROWID
RAW
MEMPTR
DATASET
TABLE
OBJECT
LIST
MAP
BP Server provides the APIs in DataSlot and DataSlotTemplate Smart Value Objects (SVOs) to check the type of a dataslot.
Note that the following are the reserved keywords and no dataslot should be created with any of these reserved keywords: