首页 > 其他分享 >ABAP 辨析 标准表|排序表|哈希表

ABAP 辨析 标准表|排序表|哈希表

时间:2023-02-28 17:47:33浏览次数:39  
标签:内表 ABAP 关键字 标准表 哈希 TABLE UNIQUE

1、文档介绍

本文档将介绍内表的区别和用法,涉及标准表、排序表、哈希表

2、用法与区别

2.1、内表种类

内表顶层为任意表,任意表分为索引表和哈希表,索引表又可分为标准表和排序表,结构如图:

2.2、内表用法

2.2.1、标准表

说明:标准表的每一行会有一个逻辑索引,查找数据时,可以通过关键字或索引进行查找;添加数据时,可通过索引添加到具体位置,也可以默认添加到最后

对表进行插入、删除等操作时,各数据行在内存中的位置不变,系统仅重新排列各数据行的索引值。

语法:STANDARD TABLE,现在ABAP版本可以省略STANDARD 关键字,默认定义的内表即为标准表

DATA:lt_ekpo TYPE STANDARD TABLE OF ty_ekpo.

定义关键字段:默认为本行非数字,非内表的字段为关键字。

       还可以通过语法:WITH NON-UNIQUE KEY ebeln ebelp.定义关键字(非必要)

DATA:lt_ekpo TYPE STANDARD TABLE OF ty_ekpo WITH NON-UNIQUE KEY ebeln ebelp.

         NON-UNIQUE | UNIQUE :(非特有|特有)代表内表中定义的关键字的数据行是否能重复出现,UNIQUE代表相同关键字字段的行不能重复出现。

       因为标准表允许出现重复数据,因此,标准表中不允许使用UNIQUE KEY。

读取效率:消耗时间随表行数呈线性增长。

2.2.2、排序表

说明:每行数据也具有一个逻辑索引,并且总是按其关键字升序排序后再进行存储,其访问方式与标准表相同。   

语法:SORTED TABLE

DATA:lt_sort TYPE SORTED TABLE OF ty_ekpo WITH NON-UNIQUE KEY ebeln ebelp.

定义关键字段:可使用NON-UNIQUE | UNIQUE

读取效率:系统使用二分法查找,消耗时间随表行数呈对数级增长。

2.2.3、哈希表

说明:没有索引,只能通过关键字来访问。

语法:HASHED TABLE

DATA:lt_hash TYPE HASHED TABLE OF ty_ekpo WITH UNIQUE KEY ebeln ebelp.

定义关键字段:哈希表关键字对应的行不允许重复,因此只能使用UNIQUE

读取效率:系统用哈希算法管理表中的数据,因此查询一行数据的时间和表的行数无关。

2.2.4、访问方式

 根据数据预计的行数和访问频率,来决定使用什么类型的内表:

1、数据量少于100行,很少使用关键字操作,使用标准表没效率问题;

2、运行期间必须以某种排序形式出现的内表,使用排序表;

3、数据量较大,且不存在重复行,只需要使用关键字访问的内表,则定义哈希表;

 

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
  TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back

标签:内表,ABAP,关键字,标准表,哈希,TABLE,UNIQUE
From: https://www.cnblogs.com/BinGeneral/p/17165319.html

相关文章

  • ABAP程序更改记录 vrsd
    表VRSD-版本管理:目录表中,记录程序每次修改的请求号:   视图REPOSRC中,记录着每个程序最新更改信息(对应表为REPOSRC,记录代码) ......
  • 单词拆分(字典树、记忆化搜索)、字母异位词分组(哈希表、字符串)、定义一个类Generator
    单词拆分(字典树、记忆化搜索)给定一个非空字符串s和一个包含非空单词的列表wordDict,判定s是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重......
  • ABAP 辨析CO|CN|CA|NA|CS|NS|CP|NP
    1、文档说明本篇文档将通过举例,解析字符的比较运算符之间的用法和区别,涉及到的操作符:CO|CN|CA|NA|CS|NS|CP|NP2、用法和区别用法总览以下举例,几乎都使用一个字符变量和一个......
  • ABAP 辨析CO|CN|CA|NA|CS|NS|CP|NP
    1、文档说明本篇文档将通过举例,解析字符的比较运算符之间的用法和区别,涉及到的操作符:CO|CN|CA|NA|CS|NS|CP|NP2、用法和区别用法总览以下举例,几乎都使用一个字符变量和一个......
  • ABAP 辨析CO|CN|CA|NA|CS|NS|CP|NP
    1、文档说明本篇文档将通过举例,解析字符的比较运算符之间的用法和区别,涉及到的操作符:CO|CN|CA|NA|CS|NS|CP|NP2、用法和区别用法总览以下举例,几乎都使用一个字符变量......
  • 哈希表日志追加式方法的优缺点
    优点追加和分段合并主要是顺序写入,通常比随机写入要快得多。在旋转式磁盘上和SSD中都是适合的。并发和崩溃恢复要简单的多合并旧段可以解决数据文件的碎片化问题缺陷......
  • java 常见数据结构之哈希表
       ......
  • [ChatGPT 勘误]:SAP ABAP 系统里数据库表 dlv_systc 的用途
    SAPABAP系统里数据库表dlv_systc的用途?ChatGPT的回复:在SAPABAP系统中,数据库表dlv_systc是用于存储交货单系统条件检查的相关数据的。交货单是指在销售和分销......
  • [ChatGPT 勘误]SAP ABAP 里 CL_WB_ED_ENHANCEMENT_HANDLER 的用途介绍
    以下是ChatGPT关于CL_WB_ED_ENHANCEMENT_HANDLER的介绍:在ABAP中,CL_WB_ED_ENHANCEMENT_HANDLER是一个用于管理ABAP代码增强(CodeEnhancement)的类。ABAP代码增......
  • ABAP 委外采购收货调用过账bapi
    相关的表:ekko:采购凭证抬头表用于判断是否委外ekpo:采购凭证行项目表用于判断是否委外以及委外采购的数量resb:获取委外采购单中bom的相应预留mseg:获取已经委外原材......