3

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

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

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

对于报告,我需要一个内部表,其中包含供应商 ID(唯一键)和连接的电子邮件地址,用分号分隔。

如何填充这个内部表?

4

2 回答 2

4

没有真正神奇的方法可以连接表中的某些字段。只需使用类似的东西:

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。

于 2015-02-13T17:27:20.797 回答
4

HANA 解决方案

使用 string_aggr:

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

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

于 2015-02-13T19:25:17.697 回答