如何解决ABAP字符串模板-具有GROUP BY
我指的是这个问题:LOOP AT... GROUP BY with dynamic group key
我也想做一些动态的GROUP-BY-Aggregation。
我想像以下代码片段那样对GROUP-BY-Statement进行动态化:
WHEN 'vkorg'.
LOOP AT ls_output-merged_data INTO ls_tmp
GROUP BY ( sales_org = ls_tmp-sales_org
group_quantity = GROUP SIZE )
ASCENDING ASSIGNING FIELD-SYMBOL(<fs_tmp_2>).
lt_tmp_dim1 = VALUE #( BASE lt_tmp_dim1 (
sales_org = <fs_tmp_2>-sales_org
group_quantity = <fs_tmp_2>-group_quantity
) ).
ENDLOOP.
目前我对此有些口吻:
LOOP AT ls_output-merged_data INTO ls_tmp
GROUP BY COND #( WHEN iv_dim1 EQ 'vkorg' THEN |{ ls_tmp-sales_org }| )
ASCENDING ASSIGNING FIELD-SYMBOL(<total_group>).
LOOP AT GROUP <total_group> ASSIGNING FIELD-SYMBOL(<line_data>).
ASSIGN COMPONENT 'vkorg' OF STRUCTURE <line_data> TO FIELD-SYMBOL(<vkorg>).
EXIT.
ENDLOOP.
ENDLOOP.
这里的问题是,我还需要GROUP SIZE字段。但是,我无法将其放入嵌入式表达式中,例如:| {ls_tmp-sales_org GROUP SIZE} |
我尝试了几种位置和语法,但无法使其正常工作。
有人以前做过类似的事情并且可以帮助我吗?
解决方法
感谢Sandra,现在可以使用了:
LOOP AT ls_output-merged_data INTO ls_tmp
GROUP BY ( sales_org = COND #( WHEN iv_dim1 EQ 'vkorg' THEN |{ ls_tmp-sales_org }| )
group_quantity = GROUP SIZE )
ASCENDING ASSIGNING FIELD-SYMBOL(<total_group>).
ENDLOOP.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。