数据集多值参数过滤,为什么超过三个值就不行?

生产进度查询v1.cpt

数据集参数是这样的:

AUFK~LOEKZ <> 'X'
AND (AUFK~ERDAT = '${创建日期}'
OR AFKO~PLNBEZ = '${物料代码}'
OR AFKO~AUFNR  IN ( '${订单编号}') )

但当参数的值多于三个时,无法查询出数据


image.png

参数少于或等于3个时,可以查询出数据:

image.png

请问是什么问题呢?

经向客服咨询是因为是插件调用的接口限制了参数的长度,所有参数拼接起来算上分割符最大长度只能61个字符,这个格式是写死在第三方api中的,已向第三方反馈,看看能不能等到升级。


FineReport lsq100post 发布于 2020-5-22 00:39 (编辑于 2020-11-18 10:50)
1min目标场景问卷 立即参与
回答问题
悬赏:5 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
1
snrtuemcLv8专家互助
发布于2020-5-22 08:05

正常是可以的,你的sql语句,or里面又有in,数据一多,就会很慢,导致卡主

最佳回答
0
小县城Lv4见习互助
发布于2020-5-22 08:13

一般不是选择的条件越多越精准嘛,怎么都是or的呀。。。好奇怪

AUFK~LOEKZ <> 'X'

  ${if(len(创建日期)=0,"","and AUFK~ERDAT = ('"+创建日期+"')")}

  ${if(len(物料代码)=0,"","and AFKO~PLNBEZ = ('"+物料代码+"')")}

  ${if(len(订单编号)=0,"","and AFKO~AUFNR in ('"+订单编号+"')")}


最佳回答
0
yangwgLv6见习互助
发布于2020-5-22 08:29

订单号下拉复选框 返回值选择字符串,分隔符改成','试试

最佳回答
0
SuconLv5见习互助
发布于2020-5-22 08:45

上传文件看看

最佳回答
0
shirokoLv6资深互助
发布于2020-5-22 08:46

给模板

  • lsq100post lsq100post(提问者) 模板已经上传了,麻烦您指导一下
    2020-05-31 16:41 
  • shiroko shiroko 回复 lsq100post(提问者) 没看到
    2020-06-01 08:49 
  • lsq100post lsq100post(提问者) 回复 shiroko 重新上传了
    2020-06-01 09:43 
  • shiroko shiroko 回复 lsq100post(提问者) 没有sql
    2020-06-01 13:37 
  • lsq100post lsq100post(提问者) 回复 shiroko 我这个是SAP数据集,我测试过无法把数据带出来的,系统自带的数据集就可以。
    2020-06-01 17:16 
最佳回答
0
吴浩Lv6中级互助
发布于2020-5-22 09:02
OR AFKO~AUFNR IN ('"+SUBSTITUTE('${订单编号}',",","','")+"')"

把in 的那句换成这个试试

  • 7关注人数
  • 1386浏览人数
  • 最后回答于:2020-11-18 10:50
    请选择关闭问题的原因
    确定 取消
    返回顶部