abap中modify和collect的用法?哪位能给个详细的解释!!谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了abap中modify和collect的用法?哪位能给个详细的解释!!谢谢相关的知识,希望对你有一定的参考价值。

collect是根据字段来合计金额的。就是除了数字的其它都是主键。
DATA: BEGIN OF ITAB OCCURS 3,
COLUMN1(3) TYPE C,
COLUMN2(2) TYPE N,
COLUMN3 TYPE I,
END OF ITAB.
ITAB-COLUMN1 = 'abc'. ITAB-COLUMN2 = '12'. ITAB-COLUMN3 = 3.
COLLECT ITAB.
WRITE / SY-TABIX.
ITAB-COLUMN1 = 'def'. ITAB-COLUMN2 = '34'. ITAB-COLUMN3 = 5.
COLLECT ITAB.
WRITE / SY-TABIX.
ITAB-COLUMN1 = 'abc'. ITAB-COLUMN2 = '12'. ITAB-COLUMN3 = 7.
COLLECT ITAB.
WRITE / SY-TABIX.
LOOP AT ITAB.
WRITE: / ITAB-COLUMN1, ITAB-COLUMN2, ITAB-COLUMN3.
ENDLOOP.

其输出为:
1
2
1
abc 12 10
def 34 5
本示例创建 带表格工作 区域的内表 ITAB。 前两个 COLLECT 语句和 APPEND 语句一样。 在第三个 COLLECT 语句中,修 改了 ITAB 的第一行。
MODIFY:根据主键的来更新数据的。具体的还要看情况的。
参考技术A MODIFY: 主要作用就是参照某个工作区,来修改内表的字段。
COLLECT:是用来按照内表KEY字段对数值字段的合计,并将合计结果加到内表中。追问

使用modify时,如果要修改的字段不存在呢?是添加还是不做变动?谢谢!

追答

修改字段不存在?
1。字段不存在你指的是内表中没有这个字段么?如果这样的话,那么会出错的,因为你得工作区的结构和内表的结构不相同。
2。如果你指的是哪个字段是的值是空白的话,那么回按照你得修改来设定这个字段的值。

本回答被提问者和网友采纳
参考技术B 哥哥,教你一个绝招:这个绝对是不错的招。
你F1一下,或是进入ABAP_DOCU_SHOW去看里面的解释,那里面说得比楼上几位要好几百倍,说的是一清二楚。我昨天刚看完,以后任何modify 和collect都不会再有问题了,一劳永益
参考技术C F1帮助里的小例子不错的。

以上是关于abap中modify和collect的用法?哪位能给个详细的解释!!谢谢的主要内容,如果未能解决你的问题,请参考以下文章

ABAP中Collect的用法

ABAP中Collect的用法

ABAP语法-At end of 和collect

abap中modify screen是否对screen中的所有元素进行修改?

abap中 结构 和 工作区有啥区别

ABAP高手请进