abap内表的操作_例子

*&---------------------------------------------------------------------*
*& Report  Z_LZ_002
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  Z_LZ_002.

DATA: BEGIN OF STUDENT OCCURS 0,
  GRAGE TYPE C,
  STRID TYPE I,
  SNAME(10) TYPE C,
  SORCE TYPE I,
  END OF STUDENT.

STUDENT-GRAGE = '1'.STUDENT-STRID = 11011. STUDENT-SNAME = 'LIUZHAN'. STUDENT-SORCE = 80.
APPEND STUDENT.
STUDENT-GRAGE = '2'.STUDENT-STRID = 11021. STUDENT-SNAME = 'JIANGRONG'. STUDENT-SORCE = 90.
APPEND STUDENT.
STUDENT-GRAGE = '3'.STUDENT-STRID = 11031. STUDENT-SNAME = 'ZHANGSAN'. STUDENT-SORCE = 77.
APPEND STUDENT.
STUDENT-GRAGE = '1'.STUDENT-STRID = 11012. STUDENT-SNAME = 'LISI'. STUDENT-SORCE = 62.
APPEND STUDENT.
STUDENT-GRAGE = '2'.STUDENT-STRID = 11022. STUDENT-SNAME = 'WANGWU'. STUDENT-SORCE = 89.
APPEND STUDENT.
STUDENT-GRAGE = '2'.STUDENT-STRID = 11023. STUDENT-SNAME = 'ZHAOLIU'. STUDENT-SORCE = 94.
APPEND STUDENT.

WRITE: / '按学号排序'.
SORT STUDENT BY STRID DESCENDING.
LOOP AT STUDENT.
  WRITE: / STUDENT-GRAGE,STUDENT-STRID, STUDENT-SNAME, STUDENT-SORCE.
ENDLOOP.

SKIP.
WRITE: / '按年级分数小计,汇总'.
LOOP AT STUDENT.
*  WRITE: / STUDENT-GRAGE,STUDENT-STRID, STUDENT-SNAME, STUDENT-SORCE.
  AT END OF GRAGE.
    SUM.
    WRITE: / STUDENT-GRAGE,STUDENT-SORCE.
  ENDAT.
  AT LAST.
    SUM.
    WRITE: / '总计:',STUDENT-SORCE.
  ENDAT.
ENDLOOP.

SKIP.
WRITE: / '将年级为2的分数改为80'.
STUDENT-SORCE = 80.
MODIFY STUDENT TRANSPORTING SORCE WHERE GRAGE = '2'.
LOOP AT STUDENT.
  WRITE: / STUDENT-GRAGE,STUDENT-STRID, STUDENT-SNAME, STUDENT-SORCE.
ENDLOOP.

SKIP.
WRITE: / '按年级把重复的记录删除'.
DELETE ADJACENT DUPLICATES FROM STUDENT COMPARING GRAGE.
LOOP AT STUDENT.
  WRITE: / STUDENT-GRAGE,STUDENT-STRID, STUDENT-SNAME, STUDENT-SORCE.
ENDLOOP.

SKIP.
WRITE: / '统计内表记录数'.
DATA: LIN TYPE I,
      OCC TYPE I.
DESCRIBE TABLE STUDENT LINES LIN OCCURS OCC.
WRITE: / 'LINES=',LIN,'OCCURS=',OCC.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值