*&---------------------------------------------------------------------*
*& 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.
abap内表的操作_例子
最新推荐文章于 2024-11-11 15:14:00 发布