有客户使用我们智遥工作流,调用SAP RFC程序,由于查询的计算比较复杂,数据量较大,经常出现超时现象。
程序超时的原因有两个:
1.连接SAP超时,SAP中的RFC内部运算时间过长,导致超时;
2.工作流软件调用超时,没有在规定的时间内返回结果,导致超时。
解决方法有:
1.延长查询时间:智遥工作流中,当单击按钮时,默认的时间是30秒,如果程序在30秒内没有执行完,就会提示超时。可以修改最大时间,代码如:
<ext :Button ID="BQuery" runat="server" Text="确定" Icon="Tick" >
<DirectEvents>
<Click OnEvent="BQuery_Click" Timeout="60000">
<EventMask Msg="正在从SAP中查询数据,请稍后!" ShowMask="true" />
</Click>
</DirectEvents>
</ext: Button>
2.缩小查询范围:如果一次性返回的数据太多(超过1000条数据),配置低的电脑,显示会有点慢,可能会导致超时。
注:在智遥工作流中,连接SAP最大时间是60分钟,因此不会出现第1种情况