abap internal table delete详解编程语言

Jack最近比较忙,所以没有更新博客。今天一个程序上线正式环境之后,log记录比较奇怪,看起来像是程序只执行了开头。ST22查询后发现有产生dump,发现问题是一个很低级的错误。
有一段根据条件筛选对内表进行delete处理。以spfli表为例。

DATA: gt_spfli TYPE STANDARD TABLE OF spfli, 
      gw_spfli LIKE LINE OF gt_spfli. 
 
SELECT * FROM spfli 
  INTO TABLE gt_spfli. 
 
LOOP AT gt_spfli INTO gw_spfli. 
  IF gw_spfli-carrid = 'AA'. 
    DELETE gt_spfli FROM gw_spfli. 
  ENDIF.   
ENDLOOP. 

代码语法检查并没有错误,但是实际执行会产生dump,看来是数据类型识别出了问题。
dump
修改方法一:
将DELETE gt_spfli FROM gw_spfli. 修改为 DELETE TABLE gt_spfli FROM gw_spfli.
修改方法二:
将DELETE gt_spfli FROM gw_spfli. 修改为 DELETE gt_spfli.

总结
希望以后不要再犯这么低级的错误了,同时也要增加基础的扎实度。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/17870.html

(0)
上一篇 2021年7月19日 20:35
下一篇 2021年7月19日 20:35

相关推荐

发表回复

登录后才能评论