Try OpenEdge Now
skip to main content
BP Server Developer's Guide
Business Process Server in OpenEdge : Duplicating a mapped name in an external workstep
 

Duplicating a mapped name in an external workstep

BP Server provides a mechanism to define a mapped name for a dataslot in an external workstep. You can provide the mapping for both input as well as output dataslots. This facilitates the Adapter or external performer (EP) provider to have different method names from its input/output dataslot names. Though BP Server requires having unique names for each dataslot in a process, it does allow duplicate mapped names for multiple dataslots (two or more dataslots can have the same mapped name).
Note the following implications of duplicate mapped names:
*If an external workstep has a duplicate mapped name for either an input or output dataslot, then observe in the following method:
void setProcessContextData (Hashtable)
If implemented by the Adapter / EP, then a few input/output dataslots which are mapped to the same mapped name are missing. This is because the mapped name is used as a key in the hashtable, which cannot be duplicated. Therefore, if ‘n’ dataslots have the same mapped name, then ‘n-1’ dataslots are missing.
*If an external workstep has a duplicate mapped name for input dataslots, then observe in the following method:
void setAllInputDataslots (Hashtable)
If implemented by the EP, then a few input dataslots which are mapped to the same mapped name are missing. This is because mapped names used as a key in the hashtable cannot be duplicated. Therefore, if ‘n’ input dataslots have the same mapped name, then ‘n-1’ dataslots are missing.
*If an external workstep contains a duplicate mapped name for output dataslots, then an EP must implement the following method:
Hashtable getAllOutputDataslots ()
An EP cannot implement the individual getter method, because method overloading is not allowed based on different return types. Also, the hashtable returned by the above method is missing a few output dataslots, mapped to the same mapped name. This is because the mapped name is used as a key in the hashtable, which cannot be duplicated. Therefore, if ‘n’ output dataslots have the same mapped name, then ‘n-1’ dataslots are missing, which may result in unwanted dataslot updates.