ABAP语言是一个很方便,很简洁,很人性的语言,并不存在一些很难的知识,对于有语言基础的人来说仅仅是需要熟悉和转变风格而已。
今天就和大家谈谈ABAP中的STRUCTURE, WORK AREA ,HEADER LINE和INTERNAL TABLE。
首先谈谈STRUCTURE----结构体。
在ABAP中定义一个结构体是利用TYPES来声明的,作用与其他语言中的结构体作用一样,就是制作一个需要的数据类型,比如。
types: begin of structure,
name type c,
grade type i,
id type i,
end of structure.
这样就定义了一个结构体可以用来存放 “一条” 数据记录,那么定义这样的结构体有什么用呢?定义出这样的数据类型就是为了我们对数据库中的DICTIONARY TABLE操作而准备的。利用data声明我们就可以定义一个类型给这个结构体的数据了,例如:
data:wa type structure.
这样我们就定义了一个数据,类型给我们所DECLARING的STRUCTURE结构。那么您肯定要问了我们做这个定义这样一个数据有什么用呢?这下就不得不提我们ABAP中内表的概念了。
在ABAP中内表是一个很重要的概念,除了DB中的字典表,那么用到最多的就是内表了,简单的说内表就是在程序中所虚拟的一个表,仅仅存在程序中,不会存放在数据库中,是为了方便数据调用的一种表。
内表分为两种,一种是有HEADER LINE,另一种就是没有的。具有表头的内表可以直接将从字典表中SELECT的数据通过表头放入内表中,而没有表头的内表则不可以这样操作,需要有一个中转,所以我们所定义的WORK AREA在这里就派上用场了。各位看了我下面举的例子就能明白这两种内表的操作和数据流向有何不同了。
1.有表头的iter table:
table student.
*(定义一个结构体) ********************************************************
types: begin of structure,
name type c,
grade type i,
id type i,
end of structure.
*(定义一个内表)******************************************
data: itab type standard table of structure initial 10 with header line.
*(将字典表STUDENT中相应的数据LOADING到我们所定义的内表中)*************
select * from student.
move-corresponding student to itab.
append itab
endselect.
2.没有表头的内表:
table student.
*(定义一个结构体) ********************************************************
types: begin of structure,
name type c,
grade type i,
id type i,
end of structure.
*(定义一个WORK AREA)*******************************
data:wa type structure.
*(定义一个内表)******************************************
data: itab type standard table of structure initial 10 .
*(将字典表STUDENT中相应的数据LOADING到我们所定义的内表中)*************
select * from student.
move-corresponding student to wa .
append wa to itab
endselect.
通过以上的例子我们可以知道,我们定义一个结构体就是为了得到一种需要的数据类型,而这样的数据类型可以让我们定义work area和内表使用。在对内表进行读写的时候当是有表头的内表时,我们可以直接将字典表中的数据读入内表中,但是如果内表是没有表头的话我们需要用WA来进行中转,写到这里大家应该很好理解,简单的说表头和WA的作用都是起数据转录的中转作用,但是区别是一个是在表内一个是在表外,具体效率上的差别有兴趣的朋友可以自己尝试。
有头内表的数据流向:
dictionary table=====》header line======》internal table。
无表头的数据流行为:
dictionary=======》wa========》iternal table。
ABAP学习笔记(1)
最新推荐文章于 2024-06-25 11:55:36 发布