abap 内表 条件查找_ABAP 内表操作

本文详细介绍了ABAP中内表的类型、表关键字、初始大小设定、插入、APPEND、COLLECT、READ、MODIFY、DELETE、排序、复制和循环处理等操作。内容涵盖标准表、排序表和哈希表的区别,以及各种操作的适用场景和注意事项。
摘要由CSDN通过智能技术生成

内表:

1:ABAP中有三种类型的内表:

Index Tables

Hashed Table

Table Type

STANDARD TABLE

SORTED TABLE

HASHED TABLE

通过索引访问

通过键访问

KEY 唯一性

键不唯一

可唯一或不唯一

键必须唯一

相同值关键字行

可从复

可从复或不可从复

不可从复

通常访问方式

主要通过索引

主要通过关键字

只能通过关键字

STANDARD TABLE:

DATAITAB_STANDARDTYPESTANDARDTABLEOFMARA.

SORTED TABLE:DATAITAB_SORTEDTYPESORTEDTABLEOFMARAWITHNON-UNIQUEKEYTABLE_LINE.

WITHUNIQUE

KEY

或WITHNON-UNIQUE KEY 都可以。

HASHED TABLE:DATAITAB_HASHEDTYPEHASHEDTABLEOFMARAWITHUNIQUEDEFAULTKEY.

只能为WITHUNIQUE

KEY。

l

SORTED TABLE和HASHED TABLE 必须制定KEY字段的名称如果只是这样写报错:

×DATAITAB_HASHEDTYPEHASHEDTABLEOFMARAWITHUNIQUEKEY.

×DATAITAB_SORTEDTYPESORTEDTABLEOFMARAWITHNON-UNIQUEKEY.

2:表关键字

1….WITH

[UNIQUE|NON-UNIQUE] KEY COMP1……COMPn

2….WITH

[UNIQUE|NON-UNIQUE] KEY TABLE LINE

如果内表整行都是由基本字段组成的,则可以吧内表整行指定为表关键字。

3….WITH

[UNIQUE|NON-UNIQUE] KEY DEFAULT KEY

如果不指定任何关键字,则可以使用默认的标准关键字。

3:OCCURS N 的含义

DATA:BEGINOFITABOCCURS10,

NAME(20)TYPEC,

ADDRESSESTYPEADDRESS,ENDOFITAB.

该语句声明了一个标准内表,OCCURS10

代表分配初使内存大小为10行

4:内表的初始大小设定

DATAITABTYPESTANDARDTABLEOFMARAWITHNON-UNIQUEDEFAULTKEYINITIALSIZE n

l

INITIALSIZE

n声明内表的初始大小

WITHHEADERLINE.

先定义工作区与内表:

DATAIT_MARATYPESTANDARDTABLEOFMARA.DATAIS_MARATYPEMARA.

IS_MARA-MANDT = SY-MANDT.

IS_MARA-MATNR ='000000000000000059'.

IS_MARA-ERSDA = SY-DATUM.

IS_MARA-ERNAM ='44444'.

5:INSERT语句

1

通过索引插入单行:

INSERT工作区INTO内表INDEXN.

INSERTIS_MARAINTOIT_MARAINDEX2.

2

一般性插入单行的语法:

INSERT工作区INTOTABLE内表.

INSERTIS_MARAINTOTABLEIT_MARA.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值