*&---------------------------------------------------------------------*
*& TYPES定義
*&---------------------------------------------------------------------*
TYPES:
BEGIN OF TS_ADD,
ID TYPE ZWMQ_E_CODE, " 学生ID
NAME1 TYPE ZSTD_WMQ001-Z_NAME, " 学生姓名
Z_SCHID TYPE ZSTD_WMQ001-Z_SCHID, " 学校ID
Z_SCHFEE TYPE ZSCH_WMQ001-Z_SCHFEE, " 学费
END OF TS_ADD.
*&---------------------------------------------------------------------*
*& DATA定義
*&---------------------------------------------------------------------*
DATA:
I_ADD TYPE STANDARD TABLE OF TS_ADD,
I_ADD2 TYPE STANDARD TABLE OF TS_ADD,
ST_ADD TYPE TS_ADD.
ST_ADD-ID = 1001.
ST_ADD-NAME1 = '张三'.
ST_ADD-Z_SCHID = '101'.
ST_ADD-Z_SCHFEE = 10000.
APPEND ST_ADD TO I_ADD.
CLEAR ST_ADD.
ST_ADD-ID = 1002.
ST_ADD-NAME1 = '李四'.
ST_ADD-Z_SCHID = '101'.
ST_ADD-Z_SCHFEE = 10000.
APPEND ST_ADD TO I_ADD.
CLEAR ST_ADD.
* 输出
WRITE:'初始数据'.
LOOP AT I_ADD INTO ST_ADD.
WRITE:/ ST_ADD-ID,
ST_ADD-NAME1,
ST_ADD-Z_SCHID,
ST_ADD-Z_SCHFEE.
ENDLOOP.
* 增删改
* INSERT
ST_ADD-ID = 1003.
ST_ADD-NAME1 = '小王'.
ST_ADD-Z_SCHID = '101'.
ST_ADD-Z_SCHFEE = 10000.
INSERT ST_ADD INTO I_ADD INDEX 1.
WRITE: / 'INSERT单条'.
LOOP AT I_ADD INTO ST_ADD.
WRITE:/ ST_ADD-ID,
ST_ADD-NAME1,
ST_ADD-Z_SCHID,
ST_ADD-Z_SCHFEE.
ENDLOOP.
INSERT LINES OF I_ADD INTO I_ADD2 INDEX 1.
WRITE: / 'INSERT多条I_ADD2'.
LOOP AT I_ADD2 INTO ST_ADD.
WRITE:/ ST_ADD-ID,
ST_ADD-NAME1,
ST_ADD-Z_SCHID,
ST_ADD-Z_SCHFEE.
ENDLOOP.
* DELETE
DELETE I_ADD WHERE NAME1 = '张三'.
WRITE: / 'DELETE'.
LOOP AT I_ADD INTO ST_ADD.
WRITE:/ ST_ADD-ID,
ST_ADD-NAME1,
ST_ADD-Z_SCHID,
ST_ADD-Z_SCHFEE.
ENDLOOP.
ST_ADD-ID = 1004.
ST_ADD-NAME1 = '小王'.
ST_ADD-Z_SCHID = '101'.
ST_ADD-Z_SCHFEE = 10000.
APPEND ST_ADD TO I_ADD.
WRITE: / '去重'.
LOOP AT I_ADD INTO ST_ADD.
WRITE:/ ST_ADD-ID,
ST_ADD-NAME1,
ST_ADD-Z_SCHID,
ST_ADD-Z_SCHFEE.
ENDLOOP.
sort I_ADD BY NAME1.
DELETE ADJACENT DUPLICATES FROM I_ADD
COMPARING NAME1.
WRITE: / '去重结果'.
LOOP AT I_ADD INTO ST_ADD.
WRITE:/ ST_ADD-ID,
ST_ADD-NAME1,
ST_ADD-Z_SCHID,
ST_ADD-Z_SCHFEE.
ENDLOOP.
*INSERT LINES OF I_ADD INTO I_ADD2 INDEX 2.
I_ADD2 = I_ADD.
WRITE: / 'INSERT多条I_ADD2'.
LOOP AT I_ADD2 INTO ST_ADD.
WRITE:/ ST_ADD-ID,
ST_ADD-NAME1,
ST_ADD-Z_SCHID,
ST_ADD-Z_SCHFEE.
ENDLOOP.
ST_ADD-Z_SCHFEE = 100.
*MODIFY
MODIFY I_ADD FROM ST_ADD TRANSPORTING Z_SCHFEE
WHERE NAME1 <> '张三'.
WRITE: / 'MODIFY'.
LOOP AT I_ADD INTO ST_ADD.
WRITE:/ ST_ADD-ID,
ST_ADD-NAME1,
ST_ADD-Z_SCHID,
ST_ADD-Z_SCHFEE.
ENDLOOP.