abap中modify和collect的用法?哪位能给个详细的解释!!谢谢
4个回答
展开全部
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:根据主键的来更新数据的。具体的还要看情况的。
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:根据主键的来更新数据的。具体的还要看情况的。
展开全部
MODIFY: 主要作用就是参照某个工作区,来修改内表的字段。
COLLECT:是用来按照内表KEY字段对数值字段的合计,并将合计结果加到内表中。
COLLECT:是用来按照内表KEY字段对数值字段的合计,并将合计结果加到内表中。
追问
使用modify时,如果要修改的字段不存在呢?是添加还是不做变动?谢谢!
追答
修改字段不存在?
1。字段不存在你指的是内表中没有这个字段么?如果这样的话,那么会出错的,因为你得工作区的结构和内表的结构不相同。
2。如果你指的是哪个字段是的值是空白的话,那么回按照你得修改来设定这个字段的值。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哥哥,教你一个绝招:这个绝对是不错的招。
你F1一下,或是进入ABAP_DOCU_SHOW去看里面的解释,那里面说得比楼上几位要好几百倍,说的是一清二楚。我昨天刚看完,以后任何modify 和collect都不会再有问题了,一劳永益
你F1一下,或是进入ABAP_DOCU_SHOW去看里面的解释,那里面说得比楼上几位要好几百倍,说的是一清二楚。我昨天刚看完,以后任何modify 和collect都不会再有问题了,一劳永益
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
F1帮助里的小例子不错的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询