比較所有的欄位型別

fog911811發表於2012-07-03
文章摘要: 比較所有的欄位型別 要比較所有的欄位型別,可以在邏輯表示式中使用下列運算子: <運算子>含義 EQ等於 =等於 NE不等於 <>不等於 ><不等於 LT ...

比較所有的 欄位型別

要比較所有 的欄位型別 ,可以在邏 輯表示式中 使用下列運 算符: 

<運算子>含 義 

EQ 等於 

= 等於 

NE 不 等於 

<> 不 等於 

>< 不 等於 

LT 小 於 

< 小於 

LE 小 於等於 

<= 小 於等於 

GT 大 於 

> 大於 

GE 大 於等於 

>= 大 於等於 

運算元可以 是資料庫字 段、內部字 段、文字或 常數。 

除基本欄位 外,還可以 將結構資料 型別和上表 中的運算子 結合起來作 為運算元。 字

段串逐個 元件進行比 較,巢狀的 結構分為基 本的欄位。 關於比較內 表的詳細信 息,

參見 比較內表 (頁 Error! Not a valid link.) 。 

如果有意義 ,可以對不 同資料型別 的欄位進行 比較。如果 欄位可轉換 ,就可以進 行

比較。在 比較之前, 系統將按照 下列層次規 則執行自動 型別轉換( 參見 鍵入轉換 (頁 

6–36) ): 

1. 

如果 運算元之一 是浮點數( 型別 F),則系 統將其它操 作數轉換為 型別 F。 

2. 

如果 運算元之一 是壓縮欄位 (型別 P),則系 統將其它操 作數轉換為 型別 P。 

3. 

如果 運算元之一 是日期欄位 (型別 D)或時間 欄位(型別 T),則系 統將其它操 作數轉換

為 型別 D 或 T。不支援 日期和時間 欄位之間的 比較,這會 導致程式中 斷。 

4. 

如果 運算元之一 是字元欄位 (型別 C)且其它 運算元是十 六進位制欄位 (型別 X),則系 統

將型別 X 的運算元轉 換為型別 C。 

5. 

如果 運算元之一 是字元欄位 (型別 C),其它 運算元為數 字欄位(類 型 N),則系 統將這

兩種 運算元都轉 換為型別 P。 

DATA: F TYPE F VALUE '100.00', 

P TYPE P VALUE '50.00' DECIMALS 2, 

I TYPE I VALUE '30.00'. 

WRITE 'The following logical expressions are true:'. 

IF F >= P .

 WRITE: / F,'>=',P. 

ELSE.

 WRITE: / F,'<',P. 

ENDIF. 

IF I EQ P .

 WRITE: / I,'EQ',P. 

ELSE.

 WRITE: / I,'NE',P. 

ENDIF.

這生成如下 輸出: 

The following logical expressions are true: 

1.000000000000000E+02 >= 50.00 

30 NE 50.00 

這裡,在 IF 語句中使用 兩個邏輯表 達式。如果 邏輯表示式 為真,則屏 幕上顯示出 

來。如果邏 輯表示式為 假,則將相 反表示式顯 示在螢幕上 。

下篇提示:ABAP/4也包含重要的附加特徵。 ABAP/4程式流可以內部控制和外部控制。ABAP/4程式流的內部控制和外部控制之間 的差別在ABAP/4中流控制的概念(頁62)中解釋。 本節主要討論內部流控制。為此,可使用其他程式語言(例如,C、FORTRAN、PASCAL 等等)中熟悉的標準控制...

相關文章