ABAP 按条件 汇总记录数据
时间: 2024-02-17 10:20:02 浏览: 24
在 ABAP 中,如果你想要按条件对记录进行汇总,你可以使用 LOOP 语句来遍历内表,并结合条件语句进行判断和汇总。以下是一个示例代码,用于演示如何按条件汇总内表中的数据:
```abap
DATA: lt_data TYPE TABLE OF ty_data, " 内表类型
lv_sum TYPE i, " 汇总字段类型
lv_condition TYPE c. " 条件字段类型
APPEND INITIAL LINE TO lt_data ASSIGNING FIELD-SYMBOL(<fs_data>).
<fs_data>-amount = 100. " 假设这是一个数值字段
<fs_data>-category = 'A'. " 假设这是一个条件字段
APPEND INITIAL LINE TO lt_data ASSIGNING FIELD-SYMBOL(<fs_data>).
<fs_data>-amount = 200.
<fs_data>-category = 'B'.
lv_condition = 'A'. " 假设条件为 A
lv_sum = 0.
LOOP AT lt_data ASSIGNING FIELD-SYMBOL(<fs_data>).
IF <fs_data>-category = lv_condition.
lv_sum = lv_sum + <fs_data>-amount.
ENDIF.
ENDLOOP.
WRITE: / '按条件汇总数:', lv_sum.
```
在这个示例中,我们创建了一个内表 `lt_data`,并向其中添加了两行数据。然后,我们定义了一个条件变量 `lv_condition`,并将其设置为 'A'。接下来,我们使用 `LOOP AT` 语句遍历内表,并在循环中使用 `IF` 条件语句判断当前记录的 `category` 字段是否满足条件。如果满足条件,则将该记录的 `amount` 字段值累加到 `lv_sum` 变量中。
最后,使用 `WRITE` 语句将按条件汇总的结果输出到屏幕上。
请注意,以上代码仅为示例,实际使用时你需要根据自己的需求定义内表类型和字段名,并根据具体条件进行逻辑判断和汇总操作。