SY-SUBRC
一般是对read table和select语句使用。
loop at g_it_data where level <
if
exit.
endif.
endloop.
if
下面这段代码问题很严重:
CLEAR g_it_data.
READ TABLE g_it_data WITH KEY cpmtr =
IF sy-subrc eq 0.
IF g_it_data-ctgry IS NOT INITIAL.
ENDIF.
ELSE.
CLEAR: tmp_sublevel,g_it_data.
tmp_sublevel =
READ TABLE g_it_data WITH KEY cpmtr =
IF sy-subrc eq 0.
ENDIF.
ENDIF.
自己写这段代码的目的是,先从同样level,同样cpmtr的记录里去找,找不到就往下一层去找。
当在同样的level找时,read table一但有记录,那么sy-subrc就为零,没读到才不会为零,才会继续在g_it_data里去找下一层。
注意这里,本意是找不到就往下一层找,而代码是read table,没有找到同样level,同样cpmtr的记录就往下找,可是同一个内表里,肯定是会让read table的sy-subrc为零的。
这里应该换判断,不使用嵌套的read table,而是像上面一样,单独判断“ctgry”是否为零。
转载于:https://www.cnblogs.com/aurora-cj/p/9397254.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
