ABAP按照定義的方式
1.預定義數據類型:SAP中預定義的類型
關於預定義數據類型:
數字類型:
I(整數類型) 默認初始值是0(4Byte)
P(小數類型)默認初始值是0? 在定義數據類型P時,需要指定小數位數。(8byte)(可變長度為1-16byte)
P類型1字節前兩位由數字構成,後面幾位是符號位。
如:DATA test TYPE P LENGTH 10 DECIMALS? 3.
這裏定義了壹個p型變量test 長度是10,小數位數是3.
字符類型:
C(char/文本類型) 默認初始值為空(1byte)
D(日期類型) 格式為:YYYYMMDD? 默認初始值是'00000000'.(8byte)sy-datum(存儲當天日期的變量)
T(時間類型) 格式為: HHMMSS 默認初始值是‘000000’(6byte)sy-uzeit(存儲現在時刻的變量)
字符串類型:STRING 默認長度為0,有效長度為任意長度,默認值為空字符串。
?這表示定義STRING類型變量不需要指定長度
在定義預定義數據類型時,我們知道所有數據類型都具有初始值,那麽使用VALUE選項就可以設置初始值
如果使用VALUE IS INITAL語句,則變量使用默認初始值。(省略此語句,結果相同)
這裏就知道了預定義數據類型可以分為:1.預定義可變長度數據類型
? 2.預定義固定長度數據類型
在定義預定義數據類型的變量時,D,F,I不用指定長度,而C,N,X需要指定其長度,其中類型P
還需要指定小數位數。(DECIMALS).
2.全局數據類型(數據字典類型):SE11裏定義的數據類型, 所有程序都可以使用的數據類型 。
全局數據類型顧名思義就是所有程序都可以使用的數據類型。
3.局部數據類型(用戶自定義的數據類型):用戶程序中 使用TYPES關鍵字來自定義的數據類型
如:TYPES ty_var_c10 TYPE c LENGTH 10. "這裏就定義了壹種長度為10的字符類型ty_var_c10
DATA,TYPES,和TYPE 的區別
DATA 是用來直接聲明實際的變量,可以指定變量類型是 預定義類型或自定義類型
DATE c1 TYPE c LENGHT 10.
TYPES是用來定義局部數據類型的,定義的是類型而不是變量
TYPES ty_var_c10 TYPE c LENGTH 10.
這裏的ty_var_c10 就時用戶自定義的數據類型。
TYPE是用來指定類型的,當TYPE和DATA關鍵字壹起使用時,則是用於定義變量的類型;
當TYPE和TYEPES關鍵字壹起使用時,就是用於定義自定義類型。
LINK(用來定義數據變量的類型)
DATA: gv_num3? LINK gv_num1. 這裏LINK的作用就是定義變量gv_num3且它的數據類型為gv_num1.
按結構區分的數據類型
基本數據類型:固定長度數據類型
? 可變長度數據類型
參考數據類型:數據參考類型
? 對象參考類型
復雜數據類型:結構類型
? 表類型