ABAP-内表

1.      内表的类型及定义:

 

1 .ANY TABLE :即任意表类型,此种定义方式只能在传递参数的时候定义。

 

      例如: FORM XXX USING/CHANGING TYPE ANY TABLE .

 

2 .ANY TABLE 包括了两种类型: INDEX TABLE HASHED TABLE

 

   1 .INDEX TABLE :包括了 STANDARD TABLE SORTED TABLE

 

A.      STANDARD TABLE :其实就是一个线性表,通过 key 访问内表是线性查找的,也就是说,随着表中记录的增加,对表的操作的时间开销也相应的增加。

 

定义方法: TYPES/DATA LIKE/TYPE STANDARD TABLE OF .

 

B.      SORTED TABLE: 顾名思义,表中的记录是按照一定的顺序排列的。访问表的主要方式是表中定义的 key ,如果 key 不唯一,则选择 index 最小的那个。也可以通过 index 来访问排序表,如果你想通过 index 插入一条记录,系统会自动检查你插入的位置是否正确。所以,如果插入的时间比插入到标准表的时间会长。因此,尽量选择 key 来对排序表进行操作。

 

定义方法: TYPES/DATA LIKE/TYPE SORTED TABLE OF .

 

2 .HASHED TABLE :对哈希表只能用你定义的 key 进行操作,而不能使用 index 进行操作。因此,定义哈希表必须定义 unique key 。注意:所有关于使用 index 操作表的语句都不能用于操作哈希表。例如: sort loop 等。

 

         定义方法: TYPES/DATA LIKE/TYPE HASHED TABLE OF .

 

2.      内表的操作:

 

1 . 创建:

 

      A. 定义一个结构,然后 type/like 这个结构

 

         例如:

 

TYPES: BEGIN OF ,
         ...
         i> ...,
         ...
       END OF .

 

DATA  TYPE STANDARD TABLE OF
                 WITH NON-UNIQUE DEFAULT KEY
                 INITIAL SIZE
                 WITH HEADER LINE.

 

      B. type/like 系统表或者数据库表或者结构

 

DATA  TYPE STANDARD TABLE OF < 系统表名 >
                 INITIAL SIZE
                 WITH HEADER LINE.

 

2 . 添加数据:

 

      A APPEND :直接向表中添加数据

 

 

 

 

      B .向表中插入数据:

 

1. INSERT [wa INTO|INITIAL LINE INTO] itab [INDEX idx] [ASSIGNING |REFERENCE INTO dref].

 

2. INSERT [wa INTO|INITIAL LINE INTO] TABLE itab [ASSIGNING |REFERENCE INTO dref].

 

 

 

      C .相同字段求和向表里添加:

 

Basic form

 

COLLECT [wa INTO] itab.

 

Extras:

 

 

3 . 删除数据:

 

 

4 . 修改数据:

 

 

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值