编程技术分享平台

网站首页 > 技术教程 正文

SAP ABAP编程基础-内表的操作一(sap modify 内表)

xnh888 2024-11-04 14:55:56 技术教程 32 ℃ 0 评论

ABAP内表包含三种类型,标准表,排序表和散列表。

标准表是一种索引表,可以不指定主键,该表的特点是填充表的速度较快,若需要经常使用索引访问表,则选择标准表,标准表也是最常用的内表。

排序表也是一种索引表,与标准表的区别是排序表是按主键自动进行排序的,而标准表只能采用SORT来排序。排序表可以使用二分查找(BINARY SEARCH)方法。

散列表不是索引表,内部的标识记录的散列值是根据散列算法计算得出的,可以提供快速插入和查找操作。散列表必须指定KEY,且是UNIQUE KEY,不可以使用索引查询,只能使用主键查询。

标准表的创建
定义并创建一个内表,可以按以下操作:
1.定义行的类型,使用TYPES定义机构体类型。
2.定义标准表类型,使用TYPES定义类型,同时定义主键,访问方式和表类型。
3.定义内表变量,用DATA定义内表变量。
4.定义内表工作区结构体变量。

标准表的插入
1. 使用INSERT将结构体变量数据插入内表最末尾一行。
INSERT gs_tab INTO TABLE gt_tab.
如果内表设置了主键(UNIQUE KEY),当主键重复时,返回系统号码SY-SUBRC=4。

2.使用APPEND将数据插入内表最末尾一行。
APPEND gs_tab TO gt_tab.
INSERT插入重复不会抛出异常,但是APPEND插入重复的数据时会抛出异常。

3.用INSERT LINES OF 语句追加多条数据,或将一个内表的数据追加到另一个同结构的内表中,可以重复插入。
INSERT LINES OF gt_tab1 INTO TABLE gt_tab2.

标准表的修改
1.使用MODIFY来修改内表的一条记录
MODIFY TABLE gt_tab FROM gs_tab.

2.MODIFY TABLE FROM TRANSPORTING语句,修改表中的一条记录的指定字段。
MODIFY TABLE gt_tab FROM gs_tab TRANSPORTING kwmeng.

3.MODIFY和条件语句WHERE修改表中多条记录,可指定修改字段。
MODIFY gt_tab FROM gs_tab TRANSPORTING kwmeng where...

标准表的删除
1.DELETE TABLE FROM 工作区,删除由工作区结构指定的一条记录。
DELETE TABLE gt_tab FROM gs_tab.

2.DELETE TABLE WHERE WITH TABLE KEY,根据主键删除指定的一条记录。

3.ADJACENT DUPLICATE 删除重复的记录。

4.DELETE WHERE 根据字段值按条件删除多条记录。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表