Try OpenEdge Now
skip to main content
BP Server Developer's Guide
Dataslot management
 

Dataslot management

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:
CREATOR, PROCESSNAME, WORKSTEPNAME, PRIORITY, STARTTIME, ALLDATASLOTS, PROCESSTEMPLATENAME, PROCESSTEMPLATEID, PROCESSINSTANCENAME, PROCESSINSTANCEID, WORKSTEPNAME, WORKSTEPID, TYPE, LOOPCOUNTER, PERFORMER, PERFORMERVALUE, STARTTIME, ENDTIME, DUEDATE, DURATION, INSTRUCTION, PRIORITY, GROUPTYPE, APP_NAME, INLINEBLOCK_NAME, LOOPCONDITIONCOUNTERDS, GLOBAL_SLOT_NAME_LIST, RPID, WORKITEMNAME, WORKITEMID, PREV_PERFORMER, PREVIOUSSTATUS, RESPONSE, PI_DEBUG, PIID
* Using BP Server APIs for dataslot management
* Using dataslots
* Using DataSlotTemplate
* Working with different types of dataslots