先来看看内表是什么东西。顾名思义内表是一张存在内存中的表。首先,它是由很多work
area组成。所谓work
area,说通俗一点即是表的一行,占用一定的内存空间。那么为什么要有内表存在呢?原因在于我们直接在数据库中取数速度慢,而内存的速度远远高于存储数据的硬盘的速度,我们将数据库表拷贝至存在于内存中的内表上,再在内表上进行查询、取数等操作,效率将大大提高。这也是近些年SAP大力推销其内存计算产品的一个原因。
先看一段关于内表的小程序:
DATA: BEGIN OF LINE,
    LINE1TYPE I,
    LINE2TYPE I,
    ENDOF LINE.
DATA: BEGIN OF LINE OCCURS 0,
    LINE1TYPE I,
    LINE2TYPE I,
    ENDOF LINE.
前者声明了一个work area,后者则声明了一个internal table。
对比这两段程序,可以看出二者的区别就在于一个包含OCCURS,而另一个不包含。OCCURS的意思是为这个内表分配多大的空间,可以简单的理解为为内表分配了若干行的空间。第一个程序没有使用occurs,所以它是一个workarea,我们可以简单的理解成它是内表的一行,因为内表是由若干个work area组成的。实际上我们可以先定义一行的workarea然后通过APPEND行的方式,来实现内表的定义,因此occurs现在就并不常用了。
内表与工作区在语法上有所区分,但在实际上可以理解为相近的东西,即内表是由工作区组成的。
内表操作对应的关键字有type table of, type lineof等,而单独使用type则是对于工作区而言。
再看一段关于内表声明的小程序:
DATA: BEGIN OF LINE OCCURS 0,
    LINE1TYPE I,
    LIEN2TYPE I,
    ENDOF LINE,
    ITABLIKE TABLE OF LINE.
TYPES: BEGIN OF LINE,
    LINE1TYPE I,
    LINE2TYPE I,
    ENDOF LINE.
DATA: ITAB TYPE TABLE OF LINE.
这边说明了DATA与TYPES的区别,因为这种区别导致了内表不同的声明方法。DATA声明的东西对应于c语言中的初始化变量,是已经分配了内存空间的了。而type声明的东西相当于一种变量类型,对应于c语言中的结构体,需要为它赋值、初始化。

SAP ABAP内表OCCURS,WORK AREA等 语法对比!相关推荐

  1. 【转载】SAP ABAP内表OCCURS,WORK AREA等 语法对比

    先来看看内表是什么东西.顾名思义内表是一张存在内存中的表.首先,它是由很多work area组成.所谓work area,说通俗一点即是表的一行,占用一定的内存空间.那么为什么要有内表存在呢?原因在于 ...

  2. SAP abap内表分类与增删改查操作

    SAP abap内表分类与增删改查操作 1.内表的分类 1.1.标准表 (standard table ) 系统为该表每一行生成一个院级索引.填表是可以将数据附加在现有行之后,也可以插入到指定的位置, ...

  3. SAP ABAP 内表使用

    SAP里面主要有三处类型的内表:standard table,sorted table,hashed table 定义语法:TYPES|DATA itab {TYPE|LIKE} tabkind OF ...

  4. SAP ABAP 内表无数据、数据损坏、数据恢复办法。

    在练习数据库表的时候发现查询出来的表没有数据,解决办法如下: 步骤一:T-CODE:SE38 步骤二:执行函数SAPBC_DATA_GENERATOR,直接执行: 步骤三:执行后出现下面的界面,直接执 ...

  5. SAP ABAP 内表分类汇总

    1个内表里有3个字段,字段1.2是主键,汇总放到字段3: REPORT ztest01.TYPES:BEGIN OF struct,key1 TYPE string,key2 TYPE string, ...

  6. SAP ABAP——内表(三)【工作区与表头】

  7. 【转】ABAP内表数据和JSON格式互转

    本程序演示ABAP内表数据如何转为JSON格式, 以及JSON数据如何放入内表. REPORT ZTEST005. DATA : JSON_SER TYPE REF TO CL_TREX_JSON_S ...

  8. 上传EXCEL到ABAP内表

    上传EXCEL到ABAP内表 将EXCEL文件上载到内表两种方式: 一.直接将excel数据读入具有相同结构的内表 二.将excel数据读入一个行号,列号,值组成的内表,然后通过指针将数据读到与exc ...

  9. ABAP内表数据和JSON格式互转

    本程序演示ABAP内表数据如何转为JSON格式,以及JSON数据如何放入内表. 注:json字符串格式如:jsonstr = '[ {flag: "0",message: &quo ...

  10. abap内表的操作汇总

    abap内表是abap开发中最常用的工具之一 这里总结一个常用的一些操作,以后可以直接复制使用 1,定义 参考字段定义 DATA:BEGIN OF i_list OCCURS 0 ,   matnr ...

最新文章

  1. 产品经理读:李善友《产品型社群-互联网思维的本质》
  2. OpenGL天空游戏
  3. 2075. 解码斜向换位密码
  4. c3p0-config.xml
  5. flexsim物流仿真案例_仓储物流设计-从设计方法到应用参数
  6. php 判断语句是一个作用域吗,关于php变量作用域的详细介绍_后端开发
  7. 让html的text输入框只能输入数字和1个小数点
  8. zabbix监控oracle rac,CentOS6.9下zabbix3.4.9通过orabbix1.2.3来监控oracle11gRAC
  9. 文科生也能学会的Excel VBA 宏编程入门
  10. 【更新】VMware虚拟机黑群晖7.1.1 RC(懒人包)
  11. 鱼眼镜头的成像原理到畸变矫正(完整版)
  12. 手机是如何做到精准定位的
  13. Steve Jobs Said
  14. win7 win 2008 R2多系统multi OS
  15. c语言settextstyle有哪些字体,settextstyle() 设置文本型式函数
  16. 新茶饮迎来新玩家,柠檬茶酸涩难甜
  17. opencv的NORM_MINMAX参数
  18. 凡事预则立不预则废---20180112
  19. txt文件转csv文件乱码问题
  20. [精华]史上最强买笔记本电脑专业精粹导购指南,让奸商彻底晕菜!

热门文章

  1. linux下编译qt chart,QT Charts入门
  2. Qcon 实时音视频专场:实时互动的最佳实践与未来展望
  3. 【考研英语语法】一般过去式练习题
  4. 【Python】多进程 AttributeError: Can‘t pickle local object
  5. QQ空间无法修改“空间描述”修复方法
  6. mysql笔记简答。
  7. 太空大战游戏开发实例
  8. 锂电池放空后充不进电_锂电池放置太久无法充电 血的教训!
  9. dataframe删除原来索引,使新索引从0开始
  10. The Little Schemer 中文版