SAP ABAP DDIC 結構欄位的一些技術限制條件

JerryWang_汪子熙發表於2023-01-09

SAP ABAP 表欄位是資料庫表結構的組成部分,描述了資料庫表欄位的名稱、資料型別和任何語義屬性。

下圖這些高亮區域就是 ABAP 表欄位的一些例子。

表欄位是表的結構化資料型別的組成部分,相關規則適用於組成部分名稱和組成部分型別,具有以下限制:

(1) 表欄位名不能為保留名。 不能使用的保留名稱在資料庫表 TRESE 中。 這在使用包含結構(Include Structure)時也很重要。

(2) 表欄位始終具有一種基本資料型別。引用型別、子結構和表型別是不可能的。也就是說引用型別,子結構和表型別不能出現在 Data element 和 Data Type 這兩列下面,如下圖所示:

基本資料型別直接為表欄位指定或使用資料元素指定,並且始終基於 ABAP 字典中的預定義型別。表欄位在物理資料庫表中具有特定於平臺的型別。

對於每個平臺,ABAP 字典中的基本型別與特定於平臺的型別之間存在對映。 如果僅使用 Open SQL,則此對映對 ABAP 程式設計師是透明的,並且只有 ABAP 字典中的預定義型別及其 ABAP 型別與 ABAP 程式相關。

(3) 一個表最多可以有 749 個欄位。 所有欄位長度的總和限制為 4030 位元組。 對於 STRING、RAWSTRING、LRAW 和 LCHR 等深層欄位,只計算引用而不計算實際內容。

CHAR 型別的欄位最多可以包含 1333 個字元。

(4) 任何具有 LRAW 或 LCHR 型別的欄位都必須位於表的末尾,並且每個表中只允許一個這種型別的欄位。

注意:除了透明表之外,還有一個特定於 SAP 的資料庫表類別可以在 ABAP 詞典中定義, 即 Pool tables 和 Cluster tables. 二者可以透過 Open SQL 訪問,就像訪問透明表一樣。資料庫介面將訪問轉換為對二者的相關訪問。 但是,某些限制適用,這些限制也在相關宣告中指定。無法使用 native SQL 直接訪問 Pool tables 和 Cluster tables.

相關文章