一、基本概念
1.域(Domain)
域是用来描述一个字段的技术属性的集合,包括数据类型,数据长度,小数点位数以及取值范围等。具有以上技术属性的相同定义的字段可以包含进一个域,那么当域的属性定义发生改变时,一旦域被激活,所有引用它的字段属性都会对应进行更改。
2.数据元素(Data Element)
数据元素是一个数据的类型,包含了这个元素的语义属性,包含了一些非结构化的数据对象(如表的字段、结构的字段和变量等)的技术属性(域)、屏幕信息(比如字段长、中、短、头标签等),是能够被引用的数据类型的最小单元,比如表或结构的字段可以参考数据元素,这样可以保证这类特性的数据一致性。同是在ABAP中,数据元素也可以直接用关键字type进行引用,从数据定义的角度来看,数据元素于ABAP最基本的数据类型(C、I、F等)是同一层面
3.字段(Field)
字段是表的列信息,它是物质对象的某一类特征的描述,包含了数据类型信息(数据元素)、字段名、字段描述信息等。ABAP中的字段名只能是以字母开始,不能以数字或者汉字开始。ABAP中的字段也可以是一个附属结构的名字,附属结构下所有的字段本身可以作为表格的字段。
4.表(Table)
表是物质对象一系列的集合体,既包含特征类(字段)、关键特征(主键),也包含这些特征具体的数据(数据记录)。表是数据库的基础,承载实际数据的最小单元。是对现实物质对象的数据抽象,即数字化。
二、域、数据元素、字段、表的关系
域——>数据元素——>字段——表
1)前面三个都是后面一个的继承前面一个所有的属性,而字段则是表的构成部分。域和数据元素的最大作用是增加了数据类型的重用性,并且域的取值范围还能取到数据一致性检查的作用,在维护数据记录的时候,能够起到提示作用。
2)前面三个虽然是继承关系,但是并非必要条件。字段可以引用数据元素,也可以不引用,直接使用定义数据字典的基本类型(如CHAR,NUMC,CURR等和ABAP的基本数据类型还不一样,也不能在ABAP代码中直接进行TYPE式引用);数据元素的定义也可以引用域,也可以不引用域,直接定义数据字典的基本类型。
3)SAP中所有的数据字典对象,只有被激活过才能够被其他对象进行引用。此原则也适用SAP其他开发对象。
三、小试牛刀
说了这么多,还是来点实的吧,下面创建一个简单的员工表。表具有的属性有:ID、编号、姓名、性别、身高、体重、薪水等
1)创建域(ZXM)
在ABAP主界面,运行事务码se11,进入数据字典维护界面,选择域,输入要创建的域名,点击创建进入到下一界面。域名的命名规范,必须是字母Y或者Z开头,一般自定义的默认用Z开头