Author |
Message
|
gopir1 |
Posted: Thu Mar 22, 2018 12:52 am Post subject: Shared Row lost in IIB |
|
|
Newbie
Joined: 22 Mar 2018 Posts: 2
|
Hi Guys,
I have a flow like below. I have created a shared row variable and assigned some values to it. But when the flow in first compute node and goes to MQInputnode catch, the shared row values are lost. Please help me guys
MQInputNode->Compute->SOAP->Compute->MQOutputNode |
|
Back to top |
|
 |
abhi_thri |
Posted: Thu Mar 22, 2018 2:14 am Post subject: |
|
|
 Knight
Joined: 17 Jul 2017 Posts: 516 Location: UK
|
Hi...are you sure that the shared row is getting set before the error occurs?
If so try using the flow user debug trace to see what value is coming across to the catch terminal logic (don't rely on the visual debugger) |
|
Back to top |
|
 |
gopir1 |
Posted: Thu Mar 22, 2018 3:00 am Post subject: |
|
|
Newbie
Joined: 22 Mar 2018 Posts: 2
|
Yes the values are set in the shared row. but once i go to compute node in the subflow connected to catch terminal, the shared row is lost |
|
Back to top |
|
 |
rekarm01 |
Posted: Thu Mar 22, 2018 10:03 am Post subject: Re: Shared Row lost in IIB |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
gopir1 wrote: |
Yes the values are set in the shared row. but once i go to compute node in the subflow ... |
The scope of a SHARED variable is limited to the message flow where it's declared:
Quote: |
Shared variables are private to the flow (if declared within a schema) or node (if declared within a module), ... |
So it can't be shared between two different message flows, such as an upper-level flow and its subflows. |
|
Back to top |
|
 |
abhi_thri |
Posted: Fri Mar 23, 2018 2:02 am Post subject: |
|
|
 Knight
Joined: 17 Jul 2017 Posts: 516 Location: UK
|
The share row can be made accessible for all modules in the flow including failure subflow ones as long as it is declared at a global level within the same broker schema scope.
i.e it should be declared outside of esql module definition, eg:- in a Common variables esql file within the same schema level. |
|
Back to top |
|
 |
rekarm01 |
Posted: Tue Mar 27, 2018 7:32 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
abhi_thri wrote: |
The share row can be made accessible for all modules in the flow including failure subflow ones as long as it is declared ... within the same broker schema scope.
i.e it should be declared outside of esql module definition, eg:- in a Common variables esql file within the same schema level. |
The documentation is a bit vague about whether "private to the flow" includes subflows. Even if it works in some cases, is it supported?
Based on a little bit of testing, if an upper level flow and its subflow are defined in different projects, then it seems that the upper level flow can access any schema level shared variables declared in the subflow, but the subflow cannot access any schema level shared variables declared in the upper level flow. |
|
Back to top |
|
 |
abhi_thri |
Posted: Wed Mar 28, 2018 2:53 am Post subject: |
|
|
 Knight
Joined: 17 Jul 2017 Posts: 516 Location: UK
|
Hi...guess it should be supported as using a subflow in the happy path processing is a standard pattern and the subflow may require access to the shared variable, so a long as both subflow and main flow are defined within the same broker schema it should work fine.
As you've already noticed having subflow and parent flow in different projects may not work in all scenarios. |
|
Back to top |
|
 |
|