[progress Communities] [progress Openedge Abl] Forum Post: Problem Passing Dataslot To...

  • Thread starter Thread starter peter.oxheden@exicom.se
  • Start date Start date
Status
Not open for further replies.
P

peter.oxheden@exicom.se

Guest
We're trying to make our processes as simple as possible to build, so we have a few "building stone" processes, that the "main processes" (which we want as simple as possible) use to actually do the "intelligent bits", with the main process just passing down a minimum of parameters to get the "right" intelligent bits done. One of the parameters I want to send down is WorkstepName. Say that ProcessA has an activity in which it calls to ProcessB three times. In ProcessA the first Activity that calls to ProcessB is named "InitReportX", the second time the activity for ProcessB is named "InitReportY" and the third time the activity for ProcessB is named "InitReportZ". ProcessA passes a parameter to ProcessB exactly which report it is to initiate (X, Y or Z) and ProcessB does exactly the same thing otherwise, just passing that parameter on through a Webservice to get the correct report initiated. (ProcessB is also used similarly in ProcessC, D, E and F for any number of reports and so on). We want ProcessA to send down WorkstepName in each case to ProcessB, so that ProcessB can hand over also "InitReportX", "InitReportY" or "InitReportZ" to the webservice. I have in ProcessB made a Character dataslop CopWorkstepName and when I call ProcessB from ProcessA I have added WorkstepName to the Dataslots, but cast to be called CopWorkstepName in ProcessB instead - I see it in the "Input to Sub-Process" field as CopWorkstepName. I thought this would work, but it doesn't. The Webservice receives ? for this value and when I write it in the log it says ... I do the exact same thing (or so I really think, anyway ...) with ProcessInstanceId - and that one gets through just fine. Sending WorkstepName from ProcessB to the Webservice directly works, but then it'll be "StartJob" for all three, as that's what that particular activity is called in ProcessB, but the exchange with the webservice works. I can get around it by creating a CopWorkstepName in ProcessA as well and manually assigning it the specific value I want for each of the three times and send that one to ProcessB, but I really would like to avoid it, since it's an extra step prone to be forgotten when building lots of processes and we want to use ProcessB OFTEN kind of thing ... I even tried assigning CopWorkstepName TO WorkstepName in the BeforeActivation script of the activities that calls ProcessB, but that fails too. Any input would be appreciated! I'm still very new at BPM and maybe it's just something very simple I don't understand yet. :) - Peter

Continue reading...
 
Status
Not open for further replies.
Back
Top