ABAP数据字典
1、数据字典的概念
- ABAP数据字典是定义和管理数据元素及数据库元素的中心工具,
系统的所有全局数据类型以及数据库表结构等都需要在数据字典中创建和维护。数据字典保证了数据的完整性,一致性,安全性。 - 相关的 T-CODE:SE11
2、数据字典功能
定义系统全局数据类型(基本类型、结构,表结构等)
定义数据库对象结构(数据库表、视图)
屏幕字段的格式化
定义搜索帮助
定义锁对象
3、数据字典中的对象
- ABAP字典中的基本对象为:表、视图、数据类型、域,搜索帮助和锁对象。
3.1、表
3.1.1、使用预定义数据类型创建表
- 表是数据库中实际存放数据的地方,在数据字典里定义的是表的结构,由行(记录)和列(字段)组成。表中的列通过数据元素来定义。透明表,簇表等。
在SE11中:进行如下步骤完成表的创建:
1、完成表的命名、描述等基础属性:
2、完成具体字段信息的定义:数据类型内置了31种条目,基本上满足所有的需求
3、特殊字段譬如数额、货币,需要定义参考表以及参考类型:
4、技术设置:
主要有这两个表属性的定义:
保存,完成创建。
- SE16对表进行查看、维护。更加适用于查看。
- 这里采用表维护器方式更优,生成表维护器。
- 表维护器完成后,在SM30中进行调用,可以单条、多条进行维护。在SE11中改动已激活表的任何属性之后,需要重新维护表格生成器。
- 查询结果:未在SM80中进行维护的数据库表,查询出的字段属性是显示为空的,以下截图已进行维护:
- 维护截图,SM80选择函数组—>屏幕—>维护
3.1.2、使用数据元素类型创建表
一次定义,多次使用
定义数据元素:SE11
系统自定义了部分数据元素,用户自定义数据元素则需要开发人员来定义。自定义如下,需要激活,分为普通数据元素和需要用域限制的数据元素。
数据元素需要,适配不同的场景需要,定义字段标签长度如下:
数据元素会带出已定义的数据类型、长度以及描述等信息。
定义货币数据元素:首先创建ZDSALEHB 域,取值范围限制在系统预定义的货币标准表TCURC中,来限制取值;然后对数据元素ZEWARK进行定义。
3.2、视图
- 视图是一个或者多个数据库表的逻辑表现形式,它本身不存储数据。
(参考MYSQL视图的定义)视图有4种类型:
Database view数据库视图 :对一张或者多张表按照连接条件和选择条件 筛选后的数据显示的视图。连接条件以及选择条件自己定义.连接条件是inner join。一张表的视图可以维护数据,维护了视图之后,表的数据也改变。(only) 多张表的视图只能显示。
Projection view保护(投影)视图: 数据来自一张表,用于屏蔽一些字段(一般用于保护数据时使用,如业务员表单中的关键信息,如将客户、金额字段设置为机密).
Maintenance view维护视图:允许你进行对几个表的数据进行修改,参与连接的表必须存在外键(主表与外键表),他们的连接条件是不能自定义的.要维护和显示数据必须要生成表格维护对话框(在“表格维护生成器”中维护),所有主键要在视图的字段里。
Help view帮助视图: 该类视图可以用搜索帮助的“selection method”中使用,参与连接表必须存在外键.
创建视图,选择视图类型。
最后,维护表生成器,但是数据库视图不允许维护,只读,所以无需创建。维护视图则必须创建维护表格生成器。
3.3、数据类型
数据类型是数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作(用于创建对象时的参考)。在SAP中,数据类型有3种:
- Data element(数据元素):最基本的数据单位,没有结构,定义了数据类型和长度、数据的描述等其他特征。
- Structure(结构体):由数据元素或者其他的数据类型组成的一个特定结构。
- Table type(表类型):table类型的数据元素(而不是物理上实际存在的表),可存放多行数据。
- 类型组是一个定义了多个数据类型的程序。类型组里的数据类型通过在ABAP程序开始声明TYPE-POOL后使用。(TYPE-POOLS:slis. "声明类型池)
3.4、域
- 域指定了列的属性及允许的值、长度。它通过数据元素和表的列相联,不能直接把域用于定义表的列。
- 数据元素记述字段内容等信息,所有表和结构体可以使用分配了域的数据元素定义字段。
- 这是SAP和其它系统的重要区别,在其它系统中,表的列会直接通过数据类型(字符、数字等)和长 度来定义。
- 域是ABAP数据字典上没有参照对象的最小单位。
3.5、搜索帮助
- 搜索帮助是非常有用的一个功能,可以提高用户友好性和程序的多样性,可用于自建表或者数据元素。
- 以什么表为数据来源,在SAP定义的表,一部分以常识来维护,一部分以系统来维护。但是这些表都是编号,而非文本。所以创建文本的搜索帮助,来满足用户的搜索需求。
3.6、外键表
- 主键:如果两个表中有一个公有的字段,它在一个表中是主键,那么这个公有的字段被称为另一个表的的外键。
- 由此可见,外键表示了两个关系之间的相关联系。以另一个表的外键作关键字的表被称为主表,具有此外键的表被称为从表。
- 作用:保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用主表中的列的值或使用空值。
外键类型
- 外键类型:描述了外键字段在外键表中的类型(外来关键字定义只能用于带有数据元素的字段)
- 非关键字/非基数:外键字段不是主键
- 关键字:是主键字段或者能够唯一确定记录
- 文本表关键字:外建表是主表的文本表,文本表中除了该字段和 语言码以外没有其他可以确定唯一性的字段了。
3.7、锁对象
- 锁对象是对数据的访问进行并发的控制。一般就是对表的数据加锁。加锁就是将用户正在访问的数据存在内存中的LOCK TABLE里,解锁了就释放数据。
- 创建锁对象会自动生成两个函数,一个加锁,一个解锁,在程序里通过函数调用来对数据进行控制。锁对象要以E打头。
文章来自于网络,如果侵犯了您的权益,请联系站长删除!