SAP ABAP - 資料型別



在 ABAP 程式設計中,我們需要使用各種變數來儲存各種資訊。變數只不過是保留的記憶體位置,用於儲存值。這意味著當您建立變數時,您會在記憶體中保留一些空間。您可能希望儲存各種資料型別的資訊,例如字元、整數、浮點數等。根據變數的資料型別,作業系統分配記憶體並決定可以在保留的記憶體中儲存什麼。

基本資料型別

ABAP 為程式設計師提供了豐富的固定長度和可變長度資料型別。下表列出了 ABAP 基本資料型別:

型別 關鍵字
位元組欄位 X
文字欄位 C
整數 I
浮點數 F
打包數字 P
文字字串 STRING

可以使用一個或多個名稱修改某些欄位和數字,如下所示:

  • 位元組
  • 數值
  • 字元型

下表顯示了資料型別、在記憶體中儲存值所需的記憶體大小以及可以儲存在此類變數中的最小值和最大值。

型別 典型長度 典型範圍
X 1 位元組 任何位元組值 (00 到 FF)
C 1 個字元 1 到 65535
N(數值文字欄位) 1 個字元 1 到 65535
D(字元型日期) 8 個字元 8 個字元
T(字元型時間) 6 個字元 6 個字元
I 4 位元組 -2147483648 到 2147483647
F 8 位元組 2.2250738585072014E-308 到 1.7976931348623157E+308 正數或負數
P 8 位元組 [-10^(2len -1) +1] 到 [+10^(2len -1) 1] (其中 len = 固定長度)
STRING 可變 任何字母數字字元
XSTRING(位元組字串) 可變 任何位元組值 (00 到 FF)

示例

REPORT YR_SEP_12. 
DATA text_line TYPE C LENGTH 40. 
text_line = 'A Chapter on Data Types'. 
Write text_line. 

DATA text_string TYPE STRING. 
text_string = 'A Program in ABAP'. 
Write / text_string. 

DATA d_date TYPE D. 
d_date = SY-DATUM. 
Write / d_date.

在此示例中,我們有一個型別為 C 的字元字串,其預定義長度為 40。STRING 是一種可用於任何可變長度字元字串(文字字串)的資料型別。對於固定長度不重要的字元型內容,通常應使用 STRING 型別的資料物件。

上述程式碼產生以下輸出:

A Chapter on Data Types 
A Program in ABAP 
12092015 

DATE 型別用於儲存日期資訊,可以儲存八位數字,如上所示。

複雜型別和引用型別

複雜型別分為結構型別表型別。在結構型別中,基本型別和結構(即嵌入在結構中的結構)組合在一起。您可以只考慮基本型別的組合。但是您必須意識到結構巢狀的可用性。

當基本型別組合在一起時,可以訪問資料項作為分組資料項,或者可以訪問各個基本型別資料項(結構欄位)。表型別在其他程式語言中更廣為人知的是陣列。陣列可以是簡單的陣列或結構陣列。在 ABAP 中,陣列稱為內部表,與其他程式語言相比,它們可以以多種方式宣告和操作。下表顯示了根據其特性來區分內部表的引數。

序號 引數和說明
1

行型別

內部表的一行可以是基本型別、複雜型別或引用型別。

2

指定欄位或欄位組作為內部表的鍵,用於標識錶行。鍵包含基本型別的欄位。

3

訪問方法

描述 ABAP 程式如何訪問各個表條目。

引用型別用於引用類、介面和執行時資料項的例項。ABAP 面向物件執行時型別服務 (RTTS) 支援在執行時宣告資料項。

廣告