二维码

[基础语法] 简析INTO TABLE与APPENDING TABLE的区别

Twilight发表于 2014-12-26 14:36雨夜屠夫 最后回复于 2022-05-12 09:05 [复制链接] 19887 33

从字面看好像作用是相同的,但具体使用以来还是有区别的。
如果都是从数据库表中select一次数据,添加到内表中,他们的作用相同;但是多次,他们的作用则有很大差别,INTO TABLE:将数据select出来添加到内表时会将内表先清空再添加,而APPENDING TABLE则会直接追加,实现累计效果。

解释事例:
  1. DATA:BEGIN OF lt_matnr OCCURS 0,
  2.       matnr TYPE mara-matnr,
  3.      END OF lt_matnr.
  4. WRITE :/ '两次INTO TABLE,内表数据:'.
  5. SELECT matnr UP TO 1 ROWS INTO TABLE lt_matnr FROM mara.
  6. SELECT matnr UP TO 1 ROWS INTO TABLE lt_matnr FROM mara.
  7. LOOP AT lt_matnr.
  8.   WRITE:/ lt_matnr-matnr.
  9. ENDLOOP.
  10. REFRESH :lt_matnr.
  11. WRITE :/ '-----------------------------------------------------------'.
  12. WRITE :/ '两次APPENDING TABLE,内表数据:'.
  13. SELECT matnr UP TO 1 ROWS APPENDING TABLE lt_matnr FROM mara.
  14. SELECT matnr UP TO 1 ROWS APPENDING TABLE lt_matnr FROM mara.
  15. LOOP AT lt_matnr.
  16.   WRITE:/ lt_matnr-matnr.
  17. ENDLOOP.
复制代码

运行效果:
APPENDING TABLE.jpg

实战中的用法:
游客,如果您要查看本帖隐藏内容请回复
例如:
  1.         SELECT matnr
  2.                lifnr
  3.                werks_d AS werks
  4.                oder_flag
  5.         APPENDING TABLE lt_zpu_matnr
  6.         FROM zpu_matnr_d
  7.         WHERE matnr = ls_mepoitem-matnr
  8.           AND lifnr IN (ls_mepoitem-charg,'')
  9.           AND werks_d = lv_lgort1
  10.           AND datae >= sy-datum
  11.           AND datab <= sy-datum
  12.           AND oder_flag = space
  13.           AND del_flag = space
  14.           AND enable = 'X'.
  15.         SELECT matnr
  16.                lifnr
  17.                werks_d AS werks
  18.                oder_flag
  19.         APPENDING TABLE lt_zpu_matnr
  20.         FROM zpu_matnr_l
  21.         WHERE matnr = ls_mepoitem-matnr
  22.           AND lifnr IN (ls_mepoitem-charg,'')
  23.           AND werks_d = lv_lgort1
  24.           AND datae >= sy-datum
  25.           AND datab <= sy-datum
  26.           AND oder_flag = space
  27.           AND del_flag = space
  28.           AND enable = 'X'.
  29.         SELECT matnr
  30.               lifnr
  31.               werks_s AS werks
  32.               oder_flag
  33.        APPENDING TABLE lt_zpu_matnr
  34.        FROM zpu_matnr_p
  35.        WHERE matnr = ls_mepoitem-matnr
  36.          AND lifnr IN (ls_mepoitem-charg,'')
  37.          AND werks_s = lv_lgort1
  38.          AND datae >= sy-datum
  39.          AND datab <= sy-datum
  40.          AND oder_flag = space
  41.          AND del_flag = space
  42.          AND enable = 'X'.
  43.         SELECT matnr
  44.                lifnr
  45.                werks_s AS werks
  46.                oder_flag
  47.         APPENDING TABLE lt_zpu_matnr
  48.         FROM zpu_matnr_s
  49.         WHERE matnr = ls_mepoitem-matnr
  50.           AND lifnr IN (ls_mepoitem-charg,'')
  51.           AND werks_s = lv_lgort1
  52.           AND datae >= sy-datum
  53.           AND datab <= sy-datum
  54.           AND oder_flag = space
  55.           AND del_flag = space
  56.           AND enable = 'X'.
复制代码
回复

使用道具 举报

qshiou
楼主棒棒哒
回复 支持 反对

使用道具 举报

majiek
非常好的资料
回复 支持 反对

使用道具 举报

lllucifa
好料,学习了,讲解得十分清楚
回复 支持 反对

使用道具 举报

teyun2222
感謝無私分享,學習了
回复 支持 反对

使用道具 举报

linghupan
let me see see
回复 支持 反对

使用道具 举报

zhouzc007
感謝無私分享,學習了
回复 支持 反对

使用道具 举报

资明
x想看俺啊啊啊
回复 支持 反对

使用道具 举报

Anda
了解了解,学习学习
回复 支持 反对

使用道具 举报

kazuhira
谢谢谢谢!~
回复

使用道具 举报

panpanfeng2008

RE: 简析INTO TABLE与APPENDING TABLE的区别

Thanks for you share
回复 支持 反对

使用道具 举报

qintengteng

RE: 简析INTO TABLE与APPENDING TABLE的区别

谢谢分享,受益良多
回复

使用道具 举报

SIMON

RE: 简析INTO TABLE与APPENDING TABLE的区别

感谢楼主分享,学习了很多。谢谢。
回复 支持 反对

使用道具 举报

ratg0626

RE: 简析INTO TABLE与APPENDING TABLE的区别

感谢楼主分享,学习了很多。谢谢。
回复 支持 反对

使用道具 举报

Jamber

RE: 简析INTO TABLE与APPENDING TABLE的区别

楼主学习了,其实看的时候明白,用的时候就很少想到,看来还是用得少呀
回复 支持 反对

使用道具 举报

terryforlyj

RE: 简析INTO TABLE与APPENDING TABLE的区别

thank for sharing
回复 支持 反对

使用道具 举报

希绪弗斯

RE: 简析INTO TABLE与APPENDING TABLE的区别

学习了!谢谢~
回复

使用道具 举报

wym3254228
向楼主学习
回复

使用道具 举报

alex

RE: 简析INTO TABLE与APPENDING TABLE的区别

谢谢分享,楼主好人
回复

使用道具 举报

mas涓细流
学习,请教中。谢谢分享
回复

使用道具 举报

12下一页

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表