SE11 数据浏览器小设置,解决查询失败大问题

前两天,一个客户问我一个关于VBAP表用SO和设备号(ZEQUNR)查询数据的问题。问题是这样的:当用SO number+ item 10 查询,可以查询到对应的设备号,但是假如用SO number + 设备号却查询不到数据的错误‘指定关键字的表目没有找到’。

当收到客户的这个问题邮件,最开始我已经想到可能是存入到VBAP表里设备号并不是你所看到的。

SE11数据浏览器小设置,解决查询失败大问题

眼睛直观看到不一定是和表里存储的格式一致

所以我直接去SE11,设置中把考虑转换出口的CheckBox去掉,这样你可以看到实际存储到VBAP表里的真实面目了。

SE11数据浏览器小设置,解决查询失败大问题

设置-用户参数-数据浏览器

这个时候你再来看一下查询结果就发现-----查询出现问题的SO所对应的设备号实际存储到VBAP表里是没有前导0的,这个猜测就是在这个增强处理保存设备的过程中出现了问题,没有把设备号作转换就直接保存到表中,导致后续查询的时候出现问题。

SE11数据浏览器小设置,解决查询失败大问题

具体原因是因为SE11或是SE16 在处理你输入的查询条件的过程中会把设备号转换为内部号码,即18位的设备号后再去查询,这个时候由于底层数据库存储的设备号只有去掉前导0 的部分,所以没有办法查询到。还有一点我在这里强调下,当开发在用Select 语句以SO number+设备号为查询条件来查询的时候,应对已经存在问题的数据,需要不带前导0才能查询到对应的数据。

如果你想了解更多,请大家关注我,我会及时分享更多有用的文章给大家,谢谢(#^.^#)