第一次接觸sap… 真的跟一般的db不太一樣
但是又跟 oracle 不一樣
目前發現一樣的是,一般我們稱的 Record,在sap or oracle 裡稱為 Line or Entry
首先,有一個重要的概念是 『Table in ABAP Dictionary』
Two level domain concept
EX: Table
|→ Field
|→ Data Element
|→ Data Domain
|→ CHAR, INT, DATE...
※ 不同的 Data Element 可以使用同一個 Domain
■ Data Class ■ 分成四種
1. Master Data:很少修改或變動,ex: 姓名、電話、地址
2. Transaction Data:經常變動,ex: 物料庫存
3. Organizational Data:客製化的,系統建製後就很少變動的,ex: 城市代碼
4. System Data:只有R/3 system 需要,ex: 表格包含 program sources
■ Size Category ■ 設定值為 0~4, 指資料筆數的範圍 10,000 ~ 40,000
Initial Extent、First Extent、Second Extent
■ Foreign Key ■
用以連接另一張table的primary key,主要是用來檢查資料的一致性
Foreign Key 有四種型態
1. Not specified:無後得知外來鍵的種類
2. No key fields / Candidates:此外來鍵非外來鍵表格的 Primary Key,也不是唯一的一筆記錄
3. Key fields / Candidates:此外來鍵是外來鍵表格的 Primary Key,也是唯一的一筆記錄
4. Key fields of a text table:此外來鍵表格為 Check Table 的文字,
ex: 此外來鍵表格的鍵只不同於 Check Table 的鍵,多了 Language Key Fields.
※ 有使用 Foreign Key 的 Table,不得任意 insert / delete 資料
※ Data Element 指定的 Domain 裡如果也有設定 Value Range OR Single Value
而當該設定和 Foreign Key 有衝突的話,則以「Foreign Key」的 Check Field 設定為主