0

我在 ABAP 中有一个结构:

id werks name1

我的查询是:

    SELECT    werks name1
    INTO      TABLE lt_store
    FROM      t001w
    WHERE     vlfkz   EQ 'A'.

可以添加一个包含可递增值的字段 id,例如:

  id    werks    name1
-----------------------
 1      R0001    test
 2      ERT3     test2 .....

并做一些这样的选择

SELECT (value) werks name FROM...

我的解决方案是进行循环lt_store并手动添加值,但我认为如果我们直接在查询中这样做是优化的。

4

3 回答 3

1

你想要的东西不能用 OpenSQL 来完成。根据您正在运行的数据库,您可能能够在 Native SQL 中组合一些东西,但对于这个要求,我不建议这样做,因为 LOOP 有一个简单的解决方案。

于 2016-02-28T22:01:12.767 回答
1

Open SQL 不支持聚合函数,但您可以使用字段符号进行一些优化:

LOOP AT lt_store assignin <fs_store>.
  <fs_store>-id = sy-tabix.
ENDLOOP.
于 2016-02-29T19:25:21.087 回答
-1

您可以在循环处理结果时使用 sy-tabix 字段。例如,

LOOP AT lt_store INTO ls_store.
  WRITE: /(1) sy-tabix, (5) ls_store-werks, (15)ls_store-name1.
ENDLOOP.
于 2016-02-25T02:17:34.240 回答