看到大家测试的结果都不一样
我在SE16里测试时,等于或小于9998条时,运行正常,大于9998就提示
Possible error causes:
o The maximum size of an SQL statement was exceeded.
o The statement contains too many input variables.
o The input data requires more space than is available.
o ...
原帖由 wjfonhand 于 2008-7-30 13:40 发表
The maximum size of an SQL statement was exceeded.
就是这个原因。换成for all entries in 就可以了。
Range TABLE,你的FOR ALL ENTRIES IN怎样写?不如您给个例子我学习一下
就拿我上面给出的例子,其中的RANGE是这样声明的
DATA: s_aufnr2 TYPE RANGE OF aufm-aufnr,
s_aufnr_line LIKE LINE OF s_aufnr2.
Range TABLE,你的FOR ALL ENTRIES IN怎样写?不如您给个例子我学习一下
就拿我上面给出的例子,其中的RANGE是这样声明的
DATA: s_aufnr2 TYPE RANGE OF aufm-aufnr,
s_aufnr_line LIKE LINE OF s_aufnr2.
怎么声明的不是重点,重点在于你怎么用。
ranges里面的行数多于1000行,用high这个字段的可能性不大,也就是都是 i eq low 这三个字段组成的值列表,那么改成for all entries in 一个含与low同结构field的内表是我的解决方案。
至于你的range里有了bt 和 high 字段,我这个方案是不可行的。不过,我想不到什么复杂的区间要用到1000行以上。