对abap报告程序的怀疑。

2020-08-31 11:14发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)任何人都可以帮助我为图片中提到的...

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

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


任何人都可以帮助我为图片中提到的内部表数据建立最佳逻辑。

我已经通过使用分组概念来做到这一点,它工作正常,但是我想最小化逻辑并提高性能。

在下面的图片中有一个内部表,我希望输出如图片所示。

请不要忘记添加逗号。

*************************************************** ******************************************

将其循环到lw_manufacture-group中按lw_manufacture-name的名称。 -description INTO lv_str。
写lv_str。
ELSE。
lv_str = lw_manufacture_group-description。
CONCATENATE','lv_str INTO lv_str。
写lv_str。
ENDIF。
lv_var = lv_var + 1.
ENDLOOP。
清除lv_var。
lv_var = 1.
ENDLOOP。

(4.1 kB)
付费偷看设置
发送
3条回答
代楠1984
1楼 · 2020-08-31 11:57.采纳回答

您好 MAHARSHI PADAMATINTI

您要使用Control Break 声明,我可以为伪代码提供帮助,如下所示:

 * CODE下面的Just Just Pseudo Code可以解释该概念。
 数据:LV_CHAR类型为CHAR50。
 通过FIELD1对IT_it_manufacture进行排序。
 将it_manufacture循环到lw_manufacture中。
 在新领域1。
 DATA(LV_NEW = ABAP_TRUE。
 ENDAT。
 如果LV_NEW EQ ABAP_TRUE。
 清除:LV_CHAR。
 LV_CHAR = LW_MANUFACTURE-FIELD2。
 清除:LV_NEW。
 其他。
 CONCATENATE LV_CHAR','LW_MANUFACTURE-FIELD2到LV_CHAR中。
 万一。
 字段结尾1。
 DATA(LV_END)= ABAP_TRUE。
 恩达
 如果LV_END等于ABAP_TRUE。
 写:LV_CHAR。
 万一。
 结局。
 

致谢!

当学会了学习
2楼-- · 2020-08-31 12:05

我不明白您的问题:您对此有何疑问?
PS。

更好地设置代码格式

SAP砖家
3楼-- · 2020-08-31 11:49

MAHARSHI PADAMATINTI

从F1帮助进行控制级别处理:

如果可能的话,建议使用附加GROUP BY,因为分组是 在这种情况下,由行的结构和处理顺序决定。  

您可以查看演示:DEMO_INT_TABLES_AT_UNSORTED以了解它们结果的差异。

对于您的示例,您只需要连接字符串并在完成时将其写入:

在it_manufacture处循环进入lw_manufacture组,按lw_manufacture-name命名。
   lv_str = | {lw_manufacture-name}:|。
   环聊组lw_manufacture进入lw_manufacture_group。
     lv_str = COND#(当sy-tabix = 1时
                      然后| {lv_str} {lw_manufacture_group-description} |
                      ELSE | {lv_str},{lw_manufacture_group-description} |  )。
   结局。
   写/lv_str。
 结局。
 

另一种方法是使用REDUCE,我更新了答案此处

一周热门 更多>