READ命令使用顺序查找数据表,这会降低处理速度。取而代之,使用binary search的附加命令,可以使用二分查找算法,可以帮助加快内表查找速度。 在使用binary search之前必须首先将内表排序,否则有可能找不到记录,因为二分查找反复将查找区间对半划分,如果要查找的值小于查找区间的中间位置的数据项值,则查找区间将缩小到前半个区间,否则查找将局限于后半区间。然后..................
今天工作中写了个REPORT,当我进行Read Table 的时候,并且对象数据存在的情况下,死活都读不到数据,并且返回SY-SUBRC = 8。
sort itab by a 升
b 升
c 降
read table itab assign <ls-itab>
with key a = aa
b = bb
c = cc binary search.
这个时候就算对象数据存在于itab里,sy-subrc的值也只会返回8.
原因是使用binary search 的时候,条件字段不能使用降序处理binary search之针对升序是有效。
解决疑惑一点点,每天进步一点点。