如何在组块的循环内使用修改?

2020-08-18 09:10发布

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

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


我有下面的内部表。

月数索引

-----------------------------------

1 5

1 6

2 3

---------------------------------------

现在我要添加基于月份的索引。 结果如下所示

月号索引

-----------------------------------

1 5 1

1 6 2

2 3 1

---------------------------------------

我想使用循环组来实现。

代码如下。

在itab循环到数据(wa)
     位置= sy-tabix。
     在wa组循环进入数据(wa1)
        wa1-index = sy-tabix-位置。
        从wa1修改itab。
     结束循环。
 结束循环。
 

但是修改行有类似

的错误
"删除Itab。" 和"从wa修改itab。"  
不能在"在LOOP AT itab ...使用密钥键名..."中使用

那么写回itab的正确语法是什么? 谢谢。

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

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


我有下面的内部表。

月数索引

-----------------------------------

1 5

1 6

2 3

---------------------------------------

现在我要添加基于月份的索引。 结果如下所示

月号索引

-----------------------------------

1 5 1

1 6 2

2 3 1

---------------------------------------

我想使用循环组来实现。

代码如下。

在itab循环到数据(wa)
     位置= sy-tabix。
     在wa组循环进入数据(wa1)
        wa1-index = sy-tabix-位置。
        从wa1修改itab。
     结束循环。
 结束循环。
 

但是修改行有类似

的错误
"删除Itab。" 和"从wa修改itab。"  
不能在"在LOOP AT itab ...使用密钥键名..."中使用

那么写回itab的正确语法是什么? 谢谢。

付费偷看设置
发送
5条回答
shere_lin
1楼 · 2020-08-18 09:54.采纳回答

Hi

在itab循环到data(wa)
     位置= sy-tabix。
     在wa组循环进入数据(wa1)
        wa-index = sy-tabix-位置。  <==使用wa-index
        从wa INDEX位置修改itab。  <==使用INDEX关键字
     结束循环。
 结束循环。
何必丶何苦呢
2楼-- · 2020-08-18 09:40

您的代码没有意义:如何在不使用GROUP BY的循环中使用LOOP AT GROUP? 而且,可能您不了解,从wa1修改itab FROM会修改当前由LOOP AT itab迭代的行,因此多次(在辅助循环内)这样做毫无用处。 由于您要实现的目标尚不清楚,因此我无法提出解决方案。

zhangjiyang1323
3楼-- · 2020-08-18 09:40

您好 ricky luo

您不能在组循环中修改内部表:" 除非指定了附加的WITHOUT MEMBERS,否则不能在组循环中修改内部表itab。"。

https://help.sap.com/doc/abapdocu_751_index_htm/7.51/ zh-CN/abaploop_at_itab_group_by.htm

问候,
Mateusz

95年老男孩
4楼-- · 2020-08-18 09:56

@ 桑德拉·罗西。 我的错。 外循环应按wa-month在itab处循环成data(wa)组。 然后在内部循环浏览本月的记录并为每个记录分配索引。

小熊yu生菜
5楼-- · 2020-08-18 09:59

问题解决? 如果是,请在此处输入您的代码。

谢谢!!

一周热门 更多>