ABAP+WHERE字段长度不一致报错解决
在使用WHERE时,做查询的两个字段长度不一致,导致报错:
If the addition "FOR ALL ENTRIES IN itab" is used, the fields "RFMNG"
and "LT_A-MSL" must have the same type and the same length.

这里就是VBFA的RFMNG字段的类型是CURR 长度13带有3个小数,ACDOCA的MSL字段类型是CURR长度23带有3个小数。
有两个方法可以解决,一是可以在定义字段的时候将字段定义成一致,;二是使用CAST转换字段的数据类型,不过使用了CAST就需要将FOR ALL ENTRIES IN修改为 JOIN.
方法一:

将内表里面的字段类型定义成和VBFA里面的一致,就不会报错了。
方法二、使用CAST,转换其中任意一个都可以

写了一篇比较全面的SAP select查询的笔记,可移步查看:
【案例总结】简直绝了——非常全面的SELECT总结-CSDN博客
