SAP ABAP——内表(七)【追加内表数据—COLLECT】

举报
Thunder Wang 发表于 2023/01/31 22:10:42 2023/01/31
【摘要】 本文主要介绍一下SAP ABAP中内表的增删查改语句中的追加内表数据的COLLECT相关语句。

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较深入的研究。


💅文章概要:本文主要介绍一下SAP ABAP中内表的增删查改语句中的追加内表数据的COLLECT相关语句。


🤟每日一言:黄金时代是在我们的前面,而不在我们的后面。


COLLECT语句

对内表使用COLLECT语句时,除了关键字以外的数据类型必须为数字类型(f,i,p)。SAP ABAP中COLLECT语句以关键字为基准合计内表中数字类型的字段,如果内表没有定义关键字,则会自动以字符串类型的字段为关键字。

COLLECT wa INTO itab.

- 案例代码演示(关键字相同)

TYPES:BEGIN OF TY_ITAB,
    COL1 TYPE CHAR20,
    COL2 TYPE F,
    COL3 TYPE I,
    COL4 TYPE P,
END OF TY_ITAB.

DATA:GT_ITAB TYPE TABLE OF TY_ITAB,
     GS_ITAB TYPE TY_ITAB.

GS_ITAB-COL1 = 'A'.
GS_ITAB-COL2 = 2.
GS_ITAB-COL3 = 5.
GS_ITAB-COL4 = 6.
COLLECT GS_ITAB INTO GT_ITAB.
CLEAR GS_ITAB.

GS_ITAB-COL1 = 'A'.
GS_ITAB-COL2 = 4.
GS_ITAB-COL3 = 5.
GS_ITAB-COL4 = 8.
COLLECT GS_ITAB INTO GT_ITAB.
CLEAR GS_ITAB.

GS_ITAB-COL1 = 'A'.
GS_ITAB-COL2 = 3.
GS_ITAB-COL3 = 4.
GS_ITAB-COL4 = 9.
COLLECT GS_ITAB INTO GT_ITAB.
CLEAR GS_ITAB.

LOOP AT GT_ITAB INTO GS_ITAB.
  WRITE:/ GS_ITAB-COL1,GS_ITAB-COL2,GS_ITAB-COL3,GS_ITAB-COL4.
ENDLOOP.

- 效果演示(关键字相同)


- 案例代码演示(关键字不同)

TYPES:BEGIN OF TY_ITAB,
    COL1 TYPE CHAR20,
    COL2 TYPE F,
    COL3 TYPE I,
    COL4 TYPE P,
END OF TY_ITAB.

DATA:GT_ITAB TYPE TABLE OF TY_ITAB,
     GS_ITAB TYPE TY_ITAB.

GS_ITAB-COL1 = 'A'.
GS_ITAB-COL2 = 2.
GS_ITAB-COL3 = 5.
GS_ITAB-COL4 = 6.
COLLECT GS_ITAB INTO GT_ITAB.
CLEAR GS_ITAB.

GS_ITAB-COL1 = 'B'.
GS_ITAB-COL2 = 4.
GS_ITAB-COL3 = 5.
GS_ITAB-COL4 = 8.
COLLECT GS_ITAB INTO GT_ITAB.
CLEAR GS_ITAB.

GS_ITAB-COL1 = 'C'.
GS_ITAB-COL2 = 3.
GS_ITAB-COL3 = 4.
GS_ITAB-COL4 = 9.
COLLECT GS_ITAB INTO GT_ITAB.
CLEAR GS_ITAB.

LOOP AT GT_ITAB INTO GS_ITAB.
  WRITE:/ GS_ITAB-COL1,GS_ITAB-COL2,GS_ITAB-COL3,GS_ITAB-COL4.
ENDLOOP.

- 效果演示(关键字不同)


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。