内表是一种临时的数据表,它并不建立在Database Server上,而是建立在本地内存空间中,所以它不占用系统资源,而且存取速度快。正因为这些特性,使得内表在ABAP编程中显得相当的重要。
•特征 内部表是ABAP/4中最核心的处理对象
内部表是用来处理(增加、查询、修改、删除)
一系列具有相同结构的数据的 内部表涵盖了在其它编程语言中数组的功能
内部表仅在ABAP/4程序运行时在内存空间里存在
内部表是自动化的对象,它自动完成相关的内存管理
•内表可以分為序表和无序表(hashtable),有序表又分为标准表和排序表。这三种表在使用中各有区别,一般我们未特别指明的情况下都是用的标准表。
•标准表是以Index来进行排列的,我们可以使用Index和Key来访问它。排序表是以Key来进行排列的,同样的,我们也可以使用Index和Key来进行访问。
•无序表是(hashtable)不按照任何规则进行排列的,对它的访问只能按照Key来进行。
内表的声明:
此处声明的是不带表头行的内表,若在语句之后加上with header line.则代表是带表头行的内表.表头也叫工作区(work area),使用不带表头的内表时,需要通过工作区编辑内表中的数据,而使用带表头的内表时,则可以直接用内表名编辑内表值.带表头与不带表头的内表使用的相关语句:下面的图片源于: https://www.jianshu.com/p/5f154b5270a4
数据库的访问
ABAP/4访问数据库有两种方式:
•Open SQL
Open SQL是SAP ABAP/4语言中一系列访问数据库的语法的集合
•Native SQL
Native SQL是ABAP/4语言中提供的一种直接执行R/3底层数据库的机制,一般情况下不建议使用
读取数据:select
SELECT
INTO "可以是结构的最后一条或者内表的所有符合条件的
FROM
[WHERE ]
[GROUP BY ]
[HAVING ]
[ORDER BY ].
重点:select后面的字段如果比into table后面的字段多,程序运行的时候就会Dump掉,这时候你需要用SELECT INTO CORRESPONDING FIELDS of TABLE YYY&#