小编ise*_*aou的帖子

使用 FOR 循环添加字段的值

如何使用 FOR 循环根据另一个字段中的相同值添加一个字段中的值?

\n
Types:\nBegin of ty_final,\n  doctype type char5,\n  posnr   type char5,\n  total   type quan5,\nEnd of ty_final.\n\nDATA(lt_final)\xc2\xa0=\xc2\xa0VALUE\xc2\xa0ty_final( \n                     FOR\xc2\xa0line\xc2\xa0IN\xc2\xa0lt_history\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0             WHERE\xc2\xa0(\xc2\xa0hist_type\xc2\xa0=\xc2\xa0'U'\xc2\xa0)\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0             (\xc2\xa0doctype\xc2\xa0=\xc2\xa0line-hist_type \n                       total\xc2\xa0  =\xc2\xa0line-quantity\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0             posnr \xc2\xa0 =\xc2\xa0line-po_item \xc2\xa0)\xc2\xa0). \n
Run Code Online (Sandbox Code Playgroud)\n

我在 LT_HISTORY 中有什么:

\n
HIST_TYPE POSNR QUANTITY\n   U       10    5\n   U       10    2\n   U       20    3\n   U       20   -3\n
Run Code Online (Sandbox Code Playgroud)\n

我在 LT_FINAL 中需要什么:

\n
DOCTYPE POSNR QUANTITY\n   U    10    7\n   U    20    0\n
Run Code Online (Sandbox Code Playgroud)\n

我试图用来获取基于和字段的字段GROUP BY中的值的总和。只是我不确定我到底需要在循环中添加什么。让我头晕。所以我尝试尽可能简单。TOTALPOSNRDOCTYPEGROUP BYFORREDUCE

\n

abap internal-tables

4
推荐指数
1
解决办法
2832
查看次数

在“COND”语句中使用“REPLACE”

我正在尝试根据某些条件使用 替换字符串中的子字符串COND #。但不确定REPLACE在语法中的何处合并。

正常代码:

DATA(v_string) = 'My string &1 &2'.

IF v_string CA '&1'.
  REPLACE '&1' WITH 'sub1' in v_string.
ELSEIF v_string CA '&2'.
  REPLACE '&2' WITH 'sub2' in v_string.
ENDIF.
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 ABAP 7.5 语法来实现相同的目标。

v_string = COND #( WHEN v_string CA '&1' THEN REPLACE '&1' WITH 'sub1' in v_string
                   WHEN v_string CA '&2' THEN REPLACE '&2' WITH 'sub2' in v_string ).
Run Code Online (Sandbox Code Playgroud)

获得所需结果的正确语法是什么?

abap

2
推荐指数
1
解决办法
6612
查看次数

标签 统计

abap ×2

internal-tables ×1