SAP对内表数据进行分类汇总
时间: 2023-09-24 15:11:15 浏览: 122
SAP物料主数据表关系
在SAP中,可以使用内表(Internal Table)来存储和处理数据。要对内表数据进行分类汇总,可以使用SORT和LOOP语句结合使用来实现。
下面是一个简单的示例:
```
DATA: it_data TYPE STANDARD TABLE OF mara,
wa_data LIKE LINE OF it_data.
* 假设it_data已经被填充了数据
* 对it_data按照matnr字段进行升序排序
SORT it_data BY matnr ASCENDING.
* 定义一个变量来存储当前matnr值
DATA: lv_matnr TYPE mara-matnr.
* 定义一个变量来存储当前matnr值的小计
DATA: lv_total TYPE i.
* 初始化小计变量
lv_total = 0.
* 循环内表数据
LOOP AT it_data INTO wa_data.
* 如果当前matnr值与之前不同,说明进入了下一个分类
IF wa_data-matnr <> lv_matnr.
* 输出上一个分类的小计
WRITE: / '分类 ', lv_matnr, ' 的总数为 ', lv_total.
* 初始化小计变量
lv_total = 0.
* 更新当前matnr值
lv_matnr = wa_data-matnr.
ENDIF.
* 累加小计
lv_total = lv_total + 1.
ENDLOOP.
* 输出最后一个分类的小计
WRITE: / '分类 ', lv_matnr, ' 的总数为 ', lv_total.
```
上述示例中,我们首先使用SORT语句按照matnr字段进行升序排序。然后使用LOOP语句循环内表数据,并且定义了两个变量lv_matnr和lv_total,分别用于存储当前matnr值和当前分类的小计。在循环过程中,我们判断当前matnr值是否与之前不同,如果不同,则说明进入了下一个分类,需要输出上一个分类的小计,并且更新当前matnr值和小计变量。最后再输出最后一个分类的小计即可。
阅读全文