E10: callContextBpmData scope

Thanks for the explanation Jose.

Hi,

Does anyone know the extent of the callContextBpmData's scope? I always thought it was confined to the method you are working in and only for the duration of the transaction. For example, you can assign callContextBpmData.ShortChar01 differently in both SalesOrder.Update and Part.Update without any conflict, and when the transaction is over and you start a new SalesOrder.Update event, you start with an empty callContextBpmData.ShortChar01.

However, someone point out to me that they set callContextBpmData values in Part.GetByID and then is able to call it with this code (VB.NET) in a customization on the Part Entry form:

Private WithEvents edvCallContextBpmData As EpiDataView
edvCallContextBpmData = CType(oTrans.EpiDataViews("CallContextBpmData"), EpiDataView)
If edvCallContextBpmData.HasRow then 
If edvCallContextBpmData.dataView.Table.Columns.Contains("CheckBox01") And _ edvCallContextBpmData.dataView(edvCallContextBpmData.Row)("CheckBox01") = True Then 
ejz_shape_subcontract.Visible = true 
If (edvCallContextBpmData.dataView.Table.Columns.Contains("CheckBox02")) And _ edvCallContextBpmData.dataView(edvCallContextBpmData.Row)("CheckBox02") = True Then ejz_shape_subcontract.Status = StatusTypes.Stop 
Else ejz_shape_subcontract.Status = StatusTypes.OK 
End if 
Else ejz_shape_subcontract.Visible = false 
End If
End if

Does anybody know when callContextBpmData's scope is and when it gets reset?

Thanks.


The scope of the callContextBPMData is specific to the module (not the transaction)
So when you open Window X you are given a CallContexxtBPMDataView and that record gets pushed back and fourth to the server as needed during ANY transaction within that module / screen.

So you can set it in GetByID and then use the value in Update. But you can't set it in Part.GetByID and then use it in a different screen in OrderEntry
​I am pretty sure it doesn't cross screens unless that changed recently.​


Jose C Gomez
Software Engineer


T: 904.469.1524 mobile

Quis custodiet ipsos custodes?

On Wed, Aug 5, 2015 at 4:30 PM, bwhiteside@... [vantage] <vantage@yahoogroups.com> wrote:

Â
<div>
  
  
  <p></p><p style="margin-top:12px;margin-bottom:12px;outline:0px;font-family:Arial, Verdana, geneva, sans-serif;vertical-align:baseline;background:transparent;">Hi,</p><p style="margin-top:12px;margin-bottom:12px;outline:0px;font-family:Arial, Verdana, geneva, sans-serif;vertical-align:baseline;background:transparent;">Does anyone know the extent of the callContextBpmData&#39;s scope? I always thought it was confined to the method you are working in and only for the duration of the transaction. For example, you can assign callContextBpmData.ShortChar01 differently in both SalesOrder.Update and Part.Update without any conflict, and when the transaction is over and you start a new SalesOrder.Update event, you start with an empty callContextBpmData.ShortChar01.</p><p style="margin-top:12px;margin-bottom:12px;outline:0px;font-family:Arial, Verdana, geneva, sans-serif;vertical-align:baseline;background:transparent;">However, someone point out to me that they set callContextBpmData values in Part.GetByID and then is able to call it with this code (<a rel="nofollow" target="_blank" href="http://VB.NET">VB.NET</a>) in a customization on the Part Entry form:</p><p style="margin-top:12px;margin-bottom:12px;outline:0px;font-family:Arial, Verdana, geneva, sans-serif;vertical-align:baseline;background:transparent;"><span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;background:transparent;">Private WithEvents edvCallContextBpmData As EpiDataView<br>edvCallContextBpmData = CType(oTrans.EpiDataViews(&quot;CallContextBpmData&quot;), EpiDataView)<br>If edvCallContextBpmData.HasRow then<span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;background:transparent;">Â <br></span><span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;white-space:pre-wrap;background:transparent;">	</span>If edvCallContextBpmData.dataView.Table.Columns.Contains(&quot;CheckBox01&quot;) And _<span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;white-space:pre-wrap;background:transparent;">	</span><span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;background:transparent;"></span>edvCallContextBpmData.dataView(edvCallContextBpmData.Row)(&quot;CheckBox01&quot;) = True Then<span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;background:transparent;">Â <br></span><span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;white-space:pre-wrap;background:transparent;">		</span>ejz_shape_subcontract.Visible = true<span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;background:transparent;">Â <br></span><span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;white-space:pre-wrap;background:transparent;">		</span>If (edvCallContextBpmData.dataView.Table.Columns.Contains(&quot;CheckBox02&quot;)) And _<span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;white-space:pre-wrap;background:transparent;">		</span><span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;background:transparent;"></span>edvCallContextBpmData.dataView(edvCallContextBpmData.Row)(&quot;CheckBox02&quot;) = True Then<span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;white-space:pre-wrap;background:transparent;">			</span><span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;background:transparent;"></span>ejz_shape_subcontract.Status = StatusTypes.Stop<span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;background:transparent;">Â <br></span><span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;white-space:pre-wrap;background:transparent;">		</span>Else<span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;background:transparent;">Â </span>ejz_shape_subcontract.Status = StatusTypes.OK<span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;background:transparent;">Â <br></span><span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;white-space:pre-wrap;background:transparent;">		</span>End if<span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;background:transparent;">Â <br></span><span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;white-space:pre-wrap;background:transparent;">	</span>Else<span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;background:transparent;">Â </span>ejz_shape_subcontract.Visible = false<span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;background:transparent;">Â <br></span><span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;white-space:pre-wrap;background:transparent;">	</span>End If<br>End if<br></span></p><p style="margin-top:12px;margin-bottom:12px;outline:0px;font-family:Arial, Verdana, geneva, sans-serif;vertical-align:baseline;background:transparent;">Does anybody know when callContextBpmData&#39;s scope is and when it gets reset?</p><p><span></span></p><p style="margin-top:12px;margin-bottom:12px;outline:0px;font-family:Arial, Verdana, geneva, sans-serif;vertical-align:baseline;background:transparent;"><span style="margin:0px;padding:0px;outline:0px;font-weight:inherit;font-style:inherit;font-family:inherit;vertical-align:baseline;background:transparent;">Thanks.</span></p><p><span><br></span></p><p></p>

</div>
 


<div style="color:#fff;min-height:0;"></div>