ABAP几种内表的操作
来源:互联网 发布:淘宝网点击结算没反应 编辑:程序博客网 时间:2024/06/09 21:42
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 ,
...
igt; ...,
...
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 :直接向表中添加数据
1. APPEND [wa TO|INITIAL LINE TO] itab[ASSIGNING |REFERENCE INTO dref].
2. APPEND LINES OF itab1 [FROM idx1] [TO idx2] TO itab2.
3. APPEND [wa TO] itab SORTED BY f [ASSIGNING
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].
3. INSERT LINES OF itab1 [FROM idx1] [TO idx2] INTO itab2 [INDEX idx3].
4. INSERT LINES OF itab1 [FROM idx1] [TO idx2] INTO TABLE itab2.
C .相同字段求和向表里添加:
Basic form
COLLECT [wa INTO] itab.
Extras:
1. ... ASSIGNING
2. ... REFERENCE INTO dref
3. ... SORTED BY f
( 3 ) . 删除数据:
1. DELETE itab.
2. DELETE TABLE itab WITH TABLE KEY k1 = v1 ... kn = vn.
3. DELETE TABLE itab [FROM wa].
4. DELETE itab INDEX idx.
5. DELETE itab FROM idx1 TO idx2.
6. DELETE itab WHERE logexp.
7. DELETE ADJACENT DUPLICATES FROM itab.
( 4 ) . 修改数据:
1. MODIFY itab [FROM wa] [INDEX idx] [ASSIGNING |REFERENCE INTO dref] [TRANSPORTING f1 ... fn].
2. MODIFY TABLE itab [FROM wa] [ASSIGNING |REFERENCE INTO dref] [TRANSPORTING f1 ... fn].
3. MODIFY itab [FROM wa] TRANSPORTING f1 ... fn WHERE cond.
- ABAP几种内表的操作
- ABAP几种内表的操作
- ABAP几种内表的操作
- ABAP几种内表的操作
- abap 基本类型的操作
- abap 基本类型的操作
- ABAP久违的操作符
- ABAP当中的字符操作
- ABAP 简单的OLE操作
- ABAP操作应用服务器文件的方式
- ABAP中对XML的操作
- ABAP:数据库操作时的锁定问题
- abap内表的操作_例子
- abap 单元格级别的操作ALV.
- abap 单元格级别的操作ALV.
- ABAP中ZIP文件的操作
- abap中内表和表的关联操作
- ABAP中ZIP文件的操作
- ubuntu15.04显卡安装经验与教训
- 联动
- java入门教程-7.11Java线程的挂起、恢复和终止
- 分页:用sql语句分页
- sublime text3 自动换行
- ABAP几种内表的操作
- js getBoundingClientRect
- 二叉树中序遍历
- 程序员跨平台跨语言学习攻略(不断更新中)
- NSScanner:一个陌生的条件判断利器
- java入门教程-8.1Java输入输出(IO)和流的基本概念
- html5获取新闻列表查看详细内容
- HDU 1217 Arbitrage
- spring的Quartz的动态定时器