SAP的內建基本資料型別
1,定長型別:C, N ,T ,D ,I ,F ,P ,X 定義資料物件在程式執行期間不能改變,其中T ,D ,I ,F 的資料儲存長度是固定的,不能在程式中指定參照該型別生成的資料物件佔用的記憶體位元組數,而C ,N ,P ,X 生成資料型別在宣告時需要指定其長度,因而他們也屬於一般型別。
2,長度可變型別:String ,XString 生成的資料物件長度無需指定,在程式執行過程中可以隨意改變。
3,定長型別的又可分成三類,字元型別(C ,N ,T ,D 主要用於值的顯示與儲存),數字型別(I ,F ,P用於運算),十六進位制型別(X顯示記憶體資料的未編碼狀態)。
<1>,宣告一個數據物件時,不指名其型別,則預設為C型別,ABAP中沒有布林型別,類似判斷真假方式程式碼:
DATA: bool_ind TYPE c.
bool_ind = 'X'.
IF bool_ind = 'X'.
WRITE / 'True'.
ElSE.
WRITE / 'False'.
ENDIF.
<2>,N的資料包含阿拉伯數字字元, 但不能當做數值型別來處理,不能用於精確計算。員工編號,公司程式碼,銀行賬號,郵編等是 典型的N欄位。
DATA: p_code TYPE n.
p
<3>,T ,D 型別分別用於儲存時間,日期,二者有固定的長度格式。T型別儲存格式HHMMSS(即小時/分鐘/秒),D型別儲存格式YYYYMMDD(即年/月/日)
DATA: date TYPE d;
time TYPE t;
date = '20151213'.
time = '121520'.
date = date + 1. "新值為2006年1月1日
<4>,I型別稱為整形型別,一般宣告索引值,計算器變數,用於算術運算。如果運算出現非整數,則進行四捨五入。
DATA: index TYPE i,
n TYPE i VALUE 5
index = 1.
DO n TIMES.
index = index +1.
ENDDO.
<5>,P用於宣告小數位固定的壓縮數,其資料物件佔據記憶體位元組數和數值範圍取決於定義時指定的整個資料大小和小數點後位數,如果不指定小數位,則將P型別資料視為I型別資料。有效大小可以是從1~16位元組的任意值,在小數點後最多允許14個數字。
<6>,F型別為浮點數,就是指數字在記憶體中以位元組形式表示。包括三部分:符號,尾數和指數。尾數僅包含資料中的數字部分,指數則決定小數點的位置。
DATA: square_root TYPE f.
square_root = sqrt(2).
<6>,X是十六進位制型別,可表示記憶體位元組實際內容。每一個記憶體位元組中都含有八個二進位制位,每四個二進位制位可以由一個十六進位制(0,1,2,3,...9,A...F)來表示,因而X中的每一位代表四個二進位制數。
<7>,String可以看做長度可變的C型別,XString是長度可變的X型別。
DATA: text_string TYPE string.
text_string = 'Data Object'.