原文連結:Processing Data
一些基礎的運算子:
DATA result TYPE i.
result = 2 + 3. "+ 加"
result = 2 - 3. "- 減"
result = 2 * 3. "* 乘"
result = 2 / 3. "/ 除"
result = 2 DVI 3. "除數"
result = 2 MOD 3. "餘數"
result = sqrt( 2 ). "平方"
result = ipow( base = 2 exp = 3 ). "冪次方"
sqrt()
:平方,如sqrt(2,2)
=4iPow()
:可表示冪次方,冪的值在後,如iPow(base = 2,exp = 3)
= 2的3次方 =8基本上就是函數優先運算子,然後先乘除後加減這樣
!!!注意:數值與運算子需間隔空格,否則會有語法錯誤
TYPES t_amount TYPE p LENGTH 8 DECIMALS 2.
DATA amount1 TYPE t_amount VALUE '1.20'.
DATA amount2 TYPE t_amount VALUE '2.10'.
"字串模板包在||之間"
DATA(text) = |Total: { amount1 + amount2 } EUR|. "Total: 3.30 EUR"
與一般字串資料不同的是,字串模板可在文字間嵌入表達式,可以當作更方便把變數賦值給字串的方法。
DATA the_date TYPE d VALUE '19891109'.
DATA my_number TYPE p LENGTH 3 DECIMALS 2 VALUE '-273.15'
* Date.
DATA(text) = |{ the_date }|. "19891109"
DATA(text) = |{ the_date Date = ISO }|. "1989-11-09"
DATA(text) = |{ the_date Date = USER }|. "11/09/1989"
* Number.
DATA(text) = |{ my_number }|. "-273.15"
DATA(text) = |{ my_number NUMBER = USER }|. "-273.15"
DATA(text) = |{ my_number SIGN = RIGHT }|. "273.15-"
DATA(text) = |{ my_number STYLE = SCIENTIFIC }|. "-2.7315E+02"
常用於代表時間的變數DATE,ISO代表輸出國際標準模式,USER則是使用者定義的時間格式。
而對於數值,NUMBER可以決定輸出格式,SIGN決定符號位置及顯示與否,STYLE則可顯示預定義的格式,如科學符號之類的。
DATA part1 TYPE string VALUE `Hello`.
DATA part2 TYPE string VALUE `World`.
DATA amount1 TYPE t_amount VALUE '1.20'.
DATA amount2 TYPE t_amount VALUE '2.10'.
DATA(text) = part1 && | | && part2. "Hello World"
DATA(text) = |{ amount1 } + { amount2 }| &&
| = | &&
|{ amount1 + amount2 }|.
"1.20 + 2.10 = 3.30"
out->write( text ).
在ABAP中,使用&&
連結字串或被| |
包裹的字串模板,若| |
中沒有包裹任何文字,則可視為空格。
!!!注意:字串模板的{}
也需與左右參數需間隔空格,否則會有語法錯誤。
學完運算子跟字串模板,緊接著要進入條件式了~