内表(Internal Table)之带Where条件(Clause)的Loop at - []
内表(Internal Table)之带Where条件(Clause)的Loop at - []
使用带Where条件(Clause)的Loop at语句时,会遍历整个内表(Internal
Table),而不只是满足Where条件(Clause)的记录。
因此,当多次读取某个比较大的内表(Internal Table)时就可能会影响系统性能(Performance)。
解决办法是首先按关键字段(Key Field)给内表(Internal
Table)排序,然后使用Read语句找到第一个满足条件(Clause)的记录,再从此行开始循环(Loop),并检
查关键字段(Key Field),退出循环(Loop)。
举例:
原句:
loop at it_mseg into wa_mseg
where matnr = p_matnr and
werks = p_werks and
lgort = p_lgort and
sobkz = space.
endloop.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/190059/viewspace-476565/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/190059/viewspace-476565/