一.基本格式
STRING_AGG( 表~字段 , 符号 ORDER BY 升序或者降序 )
基本作用就是:按照关键字段分组 ,将列值,拼接到一个字段,看图直观一些。
实例代码
SELECT vbak~vbeln,"销售订单
vbap~posnr,"行项目
vbap~arktx,"销售行文本
vbak~ernam "创建人。
FROM vbak
INNER JOIN vbap ON vbap~vbeln EQ vbak~vbeln
WHERE vbak~ernam = 'LIMF'
INTO TABLE @DATA(lt_vbap).
cl_demo_output=>display( lt_vbap ).
"按照销售订单号分组,把每个行项目的文本都放到 字段txt中去。
SELECT l~vbeln,
"STRING_AGG( l~arktx ,'/' ORDER BY vbeln ASCENDING ) AS arktx "结果会有 / 进行拼接
STRING_AGG( l~arktx ) AS arktx "直接拼接无符号
FROM @lt_vbap AS l
GROUP BY l~vbeln
INTO TABLE @DATA(lt_txt).
IF sy-subrc = 0.
cl_demo_output=>display( lt_txt ).
ENDIF.
注意点
1.拼接的时候可以加符号,也可直接拼接。
2.SAP 7.54版本以上,才可以使用这个语法。
3.STRING_AGG AS 的拼接字段长度不能超过1333。超过直接dump。在写之前就要估算好长度。
好啦,分享使我快乐,我是寒武青锋。