1. 數字型別(numeric types)
(1).型別
abap支援三種數字型別:
i:整型
範圍:-2147483648 to 2147483647
p:16位
範圍:取決於小數字的長度
f:浮點型別
範圍:+/- 2.2250738585072014e-308 to 1.7976931348623157e+308
注意事項:因為長度的關係,所以盡量不要用兩個該型別的資料相等作為判斷條件
(2).定義方法
[f1] type i.
[f1] type p decimals [num].
[f1] type f.
(3).使用
i型別:
主要是用於計數器,數量,索引,偏移量等等
例如:*取得內錶行數
data: v_counter type i.
v_counter = lines( i_tab ).
*根據索引讀取內錶中的資料
data: v_index type i.
read table i_tab index v_index.
*擷取字串
data: v_offset_start type i,
v_offset_length type i,
v_c(10) type c,
l_c(3) type c.
v_c = 『abcdefghij』.
v_offset_start = 3.
v_offset_length = 5
l_c = v_c+v_offset_start(v_offset_length).
result:
l_c = 『defgh』.
p型別:
主要和資料庫中的quan型別關聯;
常用場合:大小,長度,重量,貨幣等有單位的場合
*根據單位把數量寫入字元型變數中
write:[數量] to [字元型變數] unit [單位].
f型別:
常用場合:計算
字元型別:
一.包括:
c:字元
n:應該算是字元型的數字
d:日期型別,標準長度8(yyyymmdd),注意其初期值的判斷,不是space,而是'00000000',判斷語句可以使用is initial or not。
t:時間型別,標準長度6(hhmmss)
二.具體使用:
1.對字串的操作
1).shift:截斷字串
shift [by places] .:
作用:去掉字串的前n個位置的字元,如果n未指定,預設為1,如果指定的n小於等於0,則字串不變。如果n超出字串的長度,則字串變空,所以在做此操作的時候要注意n的指定。可以首先獲得該字串的長度,方法:len=strlen(c)。
mode:指定字串截斷的方向。
left:從左邊截斷
right:從右邊截斷
circular:把左邊的字元放到右邊。
shift up to .:
作用:把字串中在str以前的字元都去掉,同樣可以指定mode,原理同上。
shift left deleting leading .
shift right deleting trailing .:
作用:這兩個語句就是把字串c中前的(left)或者後的(right)的字元str都去掉。
以上語句常用的場合:
a.去掉字串中的前導字元。例如:如果alv中定一了乙個欄位是10位的字元,裡面放的是so,po等number,而你不想顯示前面的0,那麼就可以這樣做:shift left deleting leading 0.
b.已知某個字串中包含固定的字元,想把這個固定字元前面的字元刪掉,那麼可以使用:shift up to 。例如:某個物料,通過增強mga00002和mga00003對其加了字首,這個字首部分是在某固定值表中取得的資料,在具體顯示中,要把其字首去掉。如te-mrp-mat1中想把te去掉,mrp表示該物料是跑mrp的,需求要求把te-去掉,mrp可以在固定值表中取得,則可以使用shift up to 'mrp'.
2).replace:替換字串
replace with into [length ].:
作用:把字串c中的str1替換成str2,如果指定l,就是指定了替換的長度。如果替換成功,則sy-subrc設定成0。
常用場合:
字串的替換操作比較常用,需要注意的是l的指定長度。
3). translate:轉換字串
translate to upper case.
translate to lower case.:
作用:字串的大小寫的轉換
translate using . :
作用:根據規則r轉換字串c
常用場合:
sap系統一般都是使用大寫字母的,但是某些特定的字段卻是用小寫字母來標記的,在操作這些欄位的時候就需要注意大小寫的轉換了。轉換規則倒是不太常用,到現在我還沒有遇到過。
4). search:查詢字串
search for .:
作用:在字串c中查詢str,如果找到了,sy-subrc為0,sy-fdpos為找到字串的具體位置。
需要說明的地方:注意模式的使用
指定str:查詢str,str中後面的空格忽略
指定.str.:查詢str,包含了str中尾部的空格
指定*str:查詢以str結尾的字串
指定str*:查詢以str開頭的字串
的指定:
主要用到的就是:starting at 指定開始位置
ending at 指定結束位置
常用場合:
一般用來判斷某個字串是否符合條件。也可以結合其他語句對字串進行操作。
5).condense:去掉字串中的空格
condense [no-gaps].:
作用:去掉字串中的前面和後面的空格,如果指定no-gaps,則去掉字串中的所有空格。
常用場合:獲得字串的精確長度,用於判斷。
6).split:拆分字串
split at into ... .
作用:按照分割字元del把字串c分割成c1…cn。
split at into table .
作用:按照分割字元del把c分割,然後放到內錶中的相應字段
常用場合:
檔名的分割,根據完整的檔案路徑加檔名把檔名分割出來。
難點:無法確定要分割多少次.
解決方法:兩兩分割,到最後的那個就是了。例如:str=c:/dir1/dir2/dir3/file
split str at '/' into str1 str2.
find str2 for '/'.
check sy-subrc = 0.
do.find str2 for '/'.
if sy-subrc = 0.
split str2 into str1 str2.
else.
exit.
endif.
enddo.
檔案上傳的型別是字串,把其分割後放到內錶中。例如上面的問題:
data: begin of itab occurs 0 ,
col1(30) type c,
end of itab.
split str at '/' into table itab.
describe table itab lines line.
read table itab index line.
itab-col1就是file
7).concatenate:連線字串
concatenate ... into [separated by ].
作用:把c1…cn用s分隔連線到c中
MySQL 基礎語法 資料型別
ddl 語句 資料定義語句,定義不同資料庫 資料表 列 索引等資料庫物件,常用關鍵字有create drop alter等 dml 語句 資料操作語句,用於新增 刪除 修改和查詢資料庫記錄,並檢查資料的完整性。常用關鍵字有 insert delete update select等 dcl 語句 資料...
C 基礎 (1) 基本語法 資料型別
1.成員變數 變數是類的屬性或資料成員,用於儲存資料。2.成員函式 函式是一系列執行指定任務的語句,類中的成員函式指其方法 c 中有3種資料型別 值型別 引用型別 指標型別 1 值型別可以直接分配資料,例如你宣告乙個int型別,系統開闢乙個記憶體空間儲存該int的值 2 引用型別不儲存資料,而是儲存...
ABAP資料型別
abap 4 資料型別 下表總結了 abap 4 中預定義的 基本資料類 型 有效大 小以位元組為 單位 資料型別 默 認大小 有效 大小 初始值 說明c1 1 65535 space 文 本 字元 字母數字字 符 d8 8 00000000 日 期 格式 yyyymmdd f8 80浮 點數i4 ...