ABAP学习笔记之——第七章:ABAP数据字典

一、数据字典

        在 ABAP 程序里使用的所有对象 (表、视图、结构体、类型等)统称为 ABAP 数据字典。这些对象的信息叫 Metadata 或者 Data Definition,另外,ABAP 数据字典有定义和管理数据结构,集中管理系统中使用的对象的功能。

数据字典类型:

1、数据库对象:

表:存储系统中生成的数据实际物理内存,是数据库的主干。

视图:由一个以上的表逻辑性结合在一起的结构,因此没有实际存储的数据,只是结合表中的数据,主要用于查询符合条件的数据。

2、类型定义:

数据元素(基本类型与参照类型): 包含字段的描述且可以参照域生成。域是定义表字段的技术属性的对象,在 ABAP 程序中不能直接参照域定义变量。

结构体(结构体类型):由拥有类型的组件构成。

表类型:用于定义内表的技能属性,其中存在特殊结构的 Range 表类型

3、Abap工具:

二、表

表由二维结构模型(Matrix)构成。列中显示各自的名字及属性,这些称之为字段 (Field)。字段是固定的,拥有不重复的唯一的名字及属性。表可以指定一个或多个字段作为主键,并且通过这些主键控制重复数据的产生。除了主键以外的字段叫一般字段General Field)或者叫功能字段(Functional Field)。另外,表的行坐标用行(Line)、元组(Tuple)、记录 (Record)、数据 (Data) 等术语表达。

表分三种:透明表、池表、簇表。池表、簇表是把多个表组合成一个ABAP数据字典对象。 

表属性:

表字段有字段名及属性。存在主键。

表字段包含以下属性:

字段名最大长度为 16 位,要以字母开头,允许使用下画线 (_)。

主键选项定义表主键。

字段要指定为主键时选择 Key 选项。一般把唯一可以区分数据的字段设置为主键。

一个表最多可以指定 16 个主键

主键字段长度合计长度可达 120。

主键基本上都选择Initial Value

选项创建表时自动创建以主键构成的主索引。

初始值用于设置字段的初始值。

NULL与Initial value(初始值)的区别:

NULL 是指“无”。

NULL 是指不存在值。不占用内存空间。

NULL 不可能是下列值。

:0,’’,SPACE,空

NULL 不能作为分配、运算、比较用对象。

在ABAP语言中类似于IS NULLIS NOT NULL的比较运算符可以用在 SOL语句中

Initial Value 是指“有”

-Initial Value 是指存在值。因此占用内存空间。

-Initial Value 可能会是下列值。

:0,,SPACE,空

-Initial Value 可以作为分配、运算、比较用对象。

在ABAP 语言中可以使用类似于IS INITIALIS NOTINITIAL 比较运算符

字段类型定义如字符型,数字型等数据类型

字段长度定义字段可容纳的数据长度。

小数位指定小数位。

记述字段意义的内容。

表创建涉及的Delivery Class

外部键定义该表与其他表之间的关系。

一般外部键:只将检查表的一部分主键定义成了外部键。此时,在外部表中追加数据,则只会检查设定为外部键的字段是否存在。这种情况叫一般外部键定义。

静态外部键:外部键中可以指定常量。当该字段的值和常量一致时才能输入值,否则就无法输入值。

技术属性设置表数据的总件数、缓冲设定等表属性。

Include结构体:创建一个公用的结构体,当很多表重复使用相同的字段时,可直接将此结构体包含到表中。

Append结构体:在实际业务中使用的 Append 结构体是指把一个结构体追加到一个表(或结构体)的方法,换句话说,就是不用直接修改表而可以追加字段的方法。

Append 结构体有下列几种功能

在标准或者 CBO 表中追加新字段

在现存表中追加及定义外部键。

在现存表中追加检索帮助。

索引可以提高查询数据的速度,在表中创建索引。若表中已经追加了索引,则每当往表中追加数据时索引中也要一起追加,因此读取速度提高的同时插入数据的速度反而下降

 

三、结构体

        结构体 (Structure) 和表一样由字段构成,但不能存储数据,只是拥有结构。在实际数据库中不存在,而只存在于 ABAP 数据字典中,是一个类型。

        结构体在 ABAP 程序中是以参照类型或表及结构体的从属结构 (INCLUDE、APPEND)形式使用的。类似于表用TABLES 语句定义结构体,可以当个别程序的工作区使用。另外,结构体可以用于定义模块池画面(Screen)的接口及函数的参数类型。

        结构体可以包含其他结构体且可以无限包含。

四、视图

关系型数据库中存在多个表,且这些表中的数据很多情况下都是分散存在的。在这种情况下需要一次查询所有数据时就要使用视图。

 

视图类型:

数据库视图 (Database View)。

数据库视图是在多个表中提取必要的数据的视图。激活视图后在 ABAP 数据字典中可以使用,它是通过ABAP数据字典定义的,因此和一般ABAP数据字典表一样可以用OPEN SOLNATIVE SOL 从程序中读取数据。

投影视图 (Projection View)。

可以同时维护多个表中的数据的对象叫维护视图,此时表之间是由外部键连接在一起的。SAP R/3 是逻辑性单位,因此很多情况下数据都存在于多个表中。此种情况下利用维护表可以一次性查询/变更/创建所有数据。

帮助视图 (Help View)。

维护视图(Maintenance View)

创建视图可能会用上的属性工具:

视图字段选项:

 视图访问选项:

 表维护器选项:

五、表类型

表类型特性:

为了定义内表行数据类型属性与结构体的行类型

为了访问及内表数据的选项 (Access Mode)。

内表的主键(主键定义与主键范畴)。

创建表类型相关说明:

访问模式:

 主键定义:

访问模式与主键范畴:

 

RANGE表类型:RANGE 表类型是特殊表类型,在 ABAP 程序中当 RANGE 变量使用。

RNAGE 表类型是 ABAP 数据字典,因此是在所有程序中都可以使用的对象。与此相反,RANGE变量是在个别程序中用 RANGES 语定义而使用的对象。RANGES 变量的结构与带表头的 SELECT-OPTIONS 的结构相同。若从部传入值为目的的对象是 SELECT-OPTIONS,则RANGES 变量主要用于内部变量。本地 RANGE 变量使用下列语句定义。        

RANGE变量由下面4个结构组成:

SIGN: I(Inclusive), E(Exclusive)。

OPTION: EQ (等于),BT (区间值),GE (大于等于),LE (小于等于),GT(大于),LT (小于),NE(不等于),CP (包含)。

LOW: FROM值。

 

六、域

定义:域(DOMAIN)是定义字段的技术属性,是分配到数据元素中使用的对象。

定义表字段类型、长度等技术属性的对象叫域,而记述字段内容等信息的对象叫数据元素。所有表与结构体可以使用分配了域的数据元素定义字段。

 

七、数据元素

定义:数据元素就是拥有表字段的所有信息的 ABAP 数据字典对象。

数据元素与基本类型:

定义元素的技术属性方法有两种:

  • 使用域。在前面已经介绍,域是 ABAP 数据字典中独立存在的存储对象,是定义数据元素的技术属性的对象。一个域可以在多个数据元素中使用。
  • 直接使用数据类型。数据类型 (Data Type) 是事先定义在ABAP 数据字典中的经常使用的数据类型,和基本数据类型一样可以在程序内参照使用。

基本数据类型与数据字典类型

 数据字典类型种类

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值