ABAP-内表增删改查

*&---------------------------------------------------------------------*
*& Report  Z10
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT z10.

"定义结构体
TYPES: BEGIN OF ty_itab1,
       field1 TYPE char20,
       field2 TYPE int2,
       END OF ty_itab1.



DATA list TYPE ty_itab1 OCCURS 0 WITH HEADER LINE. "带有表头的内表

list-field1 = 'php'.
list-field2 = '10'.
INSERT list into TABLE list.  "


list-field1 = 'java'.
list-field2 = '20'.
append list to list.


list-field1 = 'asp.net'.
list-field2 = '30'.
append list."也可以这样子直接添加进内表


list-field1 = 'python'.
list-field2 = '40'.
append list to list.

list-field1 = 'mysql'.
list-field2 = '50'.
append list to list.


delete list WHERE  field1 = 'asp.net'.  "删除数据
delete list index 2.


list-field1 = 'mysql'.
list-field2 = '80'.


MODIFY list from list TRANSPORTING field1  WHERE field1 = 'php'. "把php行数据修改掉
"MODIFY list FROM list index 1.


READ TABLE list WITH KEY field1 = 'mysql'. "查询某个列的值是否存在

IF sy-subrc = 0.
  WRITE '存在mysql...'.
ENDIF.


LOOP at list INTO list WHERE field1 = 'mysql'.
    WRITE list-field1.
    WRITE list-field2.
    SKIP.
  ENDLOOP.







BREAK-POINT.
*&---------------------------------------------------------------------*
*& Report  Z10 
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT z10.

"定义结构体
TYPES: BEGIN OF ty_itab1,
       field1 TYPE char20,
       field2 TYPE int2,
       END OF ty_itab1.


TYPES:t_itab1 TYPE ty_itab1 OCCURS 0.  "声明内表类型
TYPES:t_itab2 TYPE TABLE OF ty_itab1.  "志明内表类型

DATA:itab1 TYPE TABLE OF ty_itab1  .  "定义内表变量1


DATA:wa TYPE ty_itab1.
DATA:wa1 TYPE ty_itab1.

wa-field1 = 'ccc'.
wa-field2 = 3.
INSERT wa INTO TABLE itab1.

wa-field1 = 'aaa'.
wa-field2 = 1.
INSERT wa INTO TABLE itab1.


wa-field1 = 'bbb'.
wa-field2 = 2.
INSERT wa INTO TABLE itab1.


wa-field1 = 'bbbbbb'.
wa-field2 = 2.
INSERT wa INTO TABLE itab1.


DATA:xxx TYPE ty_itab1.
READ TABLE itab1 INTO xxx WITH KEY field2 = 1.

IF sy-subrc = 0.
  WRITE xxx-field1.
  WRITE xxx-field2.
  SKIP.
ENDIF.

LOOP AT itab1 INTO xxx.
  WRITE xxx-field1.
  WRITE xxx-field2.
  SKIP.
ENDLOOP.







BREAK-POINT.

 

posted @ 2022-11-15 00:09  往事只能回味---  阅读(140)  评论(0)    收藏  举报