在internal table中把相邻的两行组织成一行

 REPORT  ZTESTINTERNALTABLE.
TYPESBEGIN OF ts_table,
         matnr TYPE matnr,
         lgort TYPE lgort_d,
       END OF ts_table,
       BEGIN OF ts_table2,
         matnr TYPE matnr,
         f_lgort TYPE lgort_d,
         t_lgort TYPE  lgort_d,
       END OF ts_table2.
DATA: wa_table TYPE ts_table,
      wa_table2 TYPE ts_table2,
      it_table TYPE TABLE OF ts_table,
      it_table2 TYPE TABLE OF ts_table2.
DATA: v_len TYPE i.

*组织测试数据
DO 6 TIMES.
  wa_table-matnr = 'AAA'.
  wa_table-lgort = sy-index.
  APPEND wa_table TO it_table.
ENDDO.
DO.
  v_len = lines( it_table ).
  IF v_len = 0. “如果internal table中没有数据退出循环
    EXIT.
  ENDIF.
  CLEAR wa_table.

*将前两条数据放到一条记录中
  READ TABLE it_table INTO wa_table INDEX 1.
  wa_table2-matnr = wa_table-matnr.
  wa_table2-f_lgort = wa_table-lgort.
  READ TABLE it_table INTO wa_table INDEX 2.
  wa_table2-t_lgort = wa_table-lgort.
  APPEND wa_table2 TO it_table2.

*删除前两条数据处理下两条数据
  DELETE it_table FROM 1 TO 2.
ENDDO.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值