COLLECT和APPEND之间的区别

2020-08-20 14:34发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


朋友,

我想要COLLECT和APPEND语句之间的基本区别

先谢谢

@jay

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


朋友,

我想要COLLECT和APPEND语句之间的基本区别

先谢谢

@jay

付费偷看设置
发送
11条回答
Nir深蓝
1楼 · 2020-08-20 15:18.采纳回答

嗨,

APPEND

只需在内部表的末尾添加记录...。

COLLECT: COLLECT用于创建唯一的或压缩的数据集。 关键字段是内部表itab的默认关键字段。

如果仅使用COLLECT来填充内部表,则COLLECT确保内部表不包含两个具有相同默认键字段的条目。

如果内部表除其默认键字段之外还包含数字字段,如果内部表已经包含具有相同键字段的条目,则这些数字字段的内容将加在一起。

如果使用COLLECT处理的内部表的默认键为空,则所有值都将累加到第一行表中。

如果指定wa INTO,则要处理的条目将从显式指定的工作区wa中获取。 如果不是,它来自内部表itab的标题行。

在COLLECT之后,系统字段SY-TABIX包含-现有或新表条目的索引,其默认键字段与要处理的条目的键字段匹配。

COLLECT可以创建唯一的或压缩的数据集,因此应精确地用于此目的。 如果唯一性或压缩不重要,或者在您的特定任务中不可能出现两个具有相同默认键字段值的值,则应改用APPEND。 但是,对于同样有效的唯一数据集或压缩数据集,可以使用COLLECT语句。

如果使用COLLECT处理表,则还应该使用COLLECT进行填充。 只有这样做,才能保证内部表实际上是唯一的或经过压缩的,如上所述,并且COLLECT将非常有效地运行。

如果将COLLECT与明确指定的工作区一起使用,则它必须与内部表的行类型兼容。

干杯,

Simha。

渐行渐远_HoldOn
2楼-- · 2020-08-20 15:13

嗨阿贾伊,

追加 语句只是在内部表的末尾添加一条记录。

Collect语句将内部表的数量字段加起来。

例如 如果一个内部表具有以下数据:

AB 1

CB 2

下一个数据为AB 2。

然后 追加结果将为

AB 1

CB 2

AB 2

收集结果将为

AB 3

CB 2

希望可以澄清您的疑问。

如果有帮助,请奖励积分。

谢谢

>

Himanshu。

callcenter油条
3楼-- · 2020-08-20 15:14

追加记录中的内容只会插入到内部表中。

但是当您使用collect时,如果非数字值相同,则所有数字字段都将加在一起。

例如假设您有以下数据

a 10 5

b 4 6

a 3 1

奖励积分,如果有帮助

使用收集内部表将

a 13 6

b 4 6

Nir深蓝
4楼-- · 2020-08-20 15:18

默认情况下,CNDTX是int表的键字段的数据类型<如果您没有定义任何显式键字段>,那么collect将添加所有其他数据 如果这些关键字段重复,则输入类似整数的字段

假设您有

f1(字符)f2(整数)

a 1

a 3

b2

b5

在这里收集将为您提供两行,分别为4和b7。

append在末尾附加行。

itab-f1 = b。

itab-f1 = 7

附加itab。

现在是您的itab。

f1(字符)f2(整数)

a 1

a 3

b 2

b 5

b 7。

致谢

shiba dutta

zhangjiyang1323
5楼-- · 2020-08-20 15:16

追加语句行

当您要将行追加到目标表的末尾时,请使用append lines语句。

使用表的内部表

使用collect语句,您可以在填充内部表时创建总计。

一周热门 更多>