一、基本概念
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開頭