賽銳資訊,SAP ERP定製,ERP定製
ABAP提供了一組豐富的運算子來操縱變數。 所有ABAP運算子分為四類 :
1、算術運算子
2、比較運算子
3、按位運算子
4、字串運算子
算術運算子算術運算子在數學表示式中使用的方式與在代數中使用的方式相同。 以下列表描述了算術運算子。 假設整數變數A保持20並且變數B保持40。
賽銳資訊,SAP ERP定製,ERP定製
例子REPORT YS_SEP_08. DATA: A TYPE I VALUE 150, B TYPE I VALUE 50, Result TYPE I. Result = A / B. WRITE / Result.
上面的程式碼產生以下輸出
賽銳資訊,SAP ERP定製,ERP定製
注意 – 如果變數的資料型別或長度不匹配,則執行自動轉換。 在比較不同資料型別的兩個值時,對一個或兩個值執行自動型別調整。 轉換型別由資料型別和資料型別的首選順序決定。
以下是喜好的順序 :
如果一個欄位是型別I,則另一個欄位轉換為型別I.如果一個欄位是P型別,則另一個欄位轉換為型別P.如果一個欄位是型別D,則另一個欄位轉換為型別D.但是C和N型別不轉換,它們直接比較。 類似於型別T的情況。如果一個欄位是型別N,另一個是型別C或X,則兩個欄位都轉換為型別P.如果一個欄位是型別C,另一個是型別X,則X型別轉換為型別C.例項1REPORT YS_SEP_08. DATA: A TYPE I VALUE 115, B TYPE I VALUE 119. IF A LT B. WRITE: / 'A is less than B'. ENDIF.
上面的程式碼產生以下輸出
A is less than B
例項2
REPORT YS_SEP_08. DATA: A TYPE I. IF A IS INITIAL. WRITE: / 'A is assigned'. ENDIF.
上面的程式碼產生以下輸出
A is assigned.
按位運算子
ABAP還提供了一系列可以用於構建布林代數表示式的逐位邏輯運算子。 位運算子可以使用括號等組合在複雜表示式中。
編號按位運算子和說明1BIT-NOT一元運算子,將十六進位制數中的所有位翻轉為相反的值。 例如,將此運算子應用於具有位級值10101010(例如“AA”)的十六進位制數將給出01010101。2BIT-AND此二進位制運算子使用布林AND運算子逐位比較每個欄位。3BIT-XOR二進位制運算子,使用布林XOR(異或)運算子逐位比較每個欄位。4BIT-OR二進位制運算子,使用布林OR運算子逐位比較每個欄位。
賽銳資訊,SAP ERP定製,ERP定製
例如,以下是真值表,其示出了當對包含在欄位A和欄位B中的兩個位元值應用布林AND,OR或XOR運算子時生成的值。
賽銳資訊,SAP ERP定製,ERP定製
字串運算子以下是字串運算子的列表 –
賽銳資訊,SAP ERP定製,ERP定製
例子REPORT YS_SEP_08. DATA: P(10) TYPE C VALUE 'APPLE', Q(10) TYPE C VALUE 'CHAIR'. IF P CA Q. WRITE: / 'P contains at least one character of Q'. ENDIF.
上面的程式碼產生以下輸出:
P contains at least one character of Q.