【发布时间】:2015-03-18 15:19:36
【问题描述】:
我想通过查询从 MasterData 中获取一些结果。我没有看到任何错误或其他任何东西。调试器仅在 queryMasterData 处停止。未显示任何结果。
我正在调用的函数:
$local:getSparepartsSearch = function(searchString)
{
pool = $masterdata:'com.movilizer.bottler.sparepartresources.location.99.employee.S031';
group = "ALL";
filter = {
'col' : 'key';
'op' : 'startswith';
'val' : searchString;
};
returnArray = {
'result' : 'all';
'order' : {
'key' : 'A';
};
'limit' : 1000;
'offset' : 0;
};
spareparts = queryMasterData(pool, group, filter, returnArray);
for(i:spareparts)
{
sparepartData = spareparts[i]['data'];
for(j:sparepartData)
{
key = j;
value = sparepartData[j];
result[i][key] = value;
}
}
return result;
};
【问题讨论】:
-
“调试器停止”是什么意思?整个客户端都挂断了?或者它只是跳过您的迭代并且不显示任何结果?后者似乎表明您的查询根本没有返回任何结果。
-
好吧,如果查询根本没有返回任何结果,调试器会跳到下一行。调试器在此行之后停止执行 MEL。所以对我来说似乎引发了某种形式的异常。
-
在调试器中也发生了奇怪的事情,我的 MasterData 池在调用此方法后消失了。
-
MEL 执行在块中间被中断通常表示异常。您可以在可疑部分周围添加 try catch 异常处理。使用简化的过滤器和/或结果设置运行简单的测试也可能是一个想法。这可能允许识别这两个参数中的问题
-
嗯,您可以清楚地看到,这个请求非常简单......