将多行中的项目连接到一个字段中的最快方法是什么?



在ABAP中,将同一字段的项从多行连接到一行字段的最快方法是什么?

我的程序应该报告付款列表、供应商的ID和供应商的电子邮件地址。

电子邮件地址存储在表ADR6中,每个地址一行,以及它们所属的供应商ID。

对于该报告,我需要一个内部表,其中填充了供应商ID(唯一密钥)和用分号分隔的串联电子邮件地址。

如何填充此内部表?

没有真正神奇的方法来连接表中的一些字段。只需使用以下内容:

data: email_addresses type string.
loop at [table with addresses] assigning field symbol(<address>).
  at first.
    email_addresses = <address>-[email field].
    continue.
  endat.
  concatenate email_addresses ';' <address>-[email field] into email_addresses.
endloop.

我能想到的唯一更快的方法是使用本机SQL。

HANA解决方案

使用字符串集:

SELECT vendor, STRING_AGG(email_address,';') 
FROM ADR6
GROUP BY vendor;

HANA Academy有一个演示使用的视频,以及示例代码。请注意,此解决方案需要HANA SPS09。

相关内容

  • 没有找到相关文章

最新更新