日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

abap range 或 Filter的说明

發布時間:2025/3/20 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 abap range 或 Filter的说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RANGES語句:要用與選擇表相同的結構創建內表,可使用RANGES語句,如下所示:

語法:RANGES<seltab> FOR<f>.

該語句創建選擇表<seltab>,該表參考數據庫表的列<f>或內部字段<f>。選擇表<seltab>必須在程序中填充。不必在程序中再用TABLES語句聲明數據庫表。

RANGES語句是下列語句的短格式:

DATA: BEGIN OF<seltab> OCCURS 10,

????????SIGN(1),

????????OPTION(2)

????????LOW? LIKE <f>,

????????HIGH LIKE <f>,

?????END OF <seltab>.

用RANGES創建的內表與選擇表結構相同,但功能不同。

用RANGES語句創建的選擇表:

不是選擇屏幕的一部分:它們在程序<prog>中不能用于數據傳遞,該程序由下列語句啟動:SUBMIT<prog> WITH<seltab> IN<table>.請注意,表<table>可以在調用程序中用RANGES創建(參見《調用報表》)。

不與數據庫表相鏈接。這意味著:

????????它們不被傳遞給連接數據庫(參見《自定義選擇標準與邏輯數據庫》)。

????????它們不能與邏輯表達式的短格式一起使用(參見《在邏輯表達式中使用選擇表》)

????????它們不能與《在GET事件中與CHECK語句一起使用選擇表》中描述的變體CHECK SELECT-OPTIONS一起使用。

您可以象使用真正的選擇表一樣在開放式SQL語句的WHERE子句中和在帶IN參數(參見《使用報表的選擇標準》)的邏輯表達式中使用這些內表。

RANGES S_CARRID FOR SPFLI-CARRID.

S_CARRID-SIGN?? ='I'.

S_CARRID-OPTION = 'EQ'.

S_CARRID-LOW???= 'LH'.

APPEND S_CARRID.

該示例中,內表S_CARRID按選擇表的結構創建,并參考數據庫表SPFLI的列CARRID。字段S_CARRID-LOW和S_CARRID-HIGH具有相同的類型CARRID。內表S_CARRID的表頭行被填充并添加到表中。表中定義的選擇條件與下列邏輯表達式的功能相同:SPFLI-CARRIDEQ 'LH'

?

選擇表:

系統為每個SELECT-OPTIONS語句創建選擇表。選擇表的目的是按標準化的方式保存復合選擇限制。它們可按多種方式使用。它們的主要目的是使用OpenSQL語句的WHERE子句(參見《使用報表的選擇標準》)把選擇標準直接傳輸到數據庫表。

選擇表是一個帶表頭行的內表。它的行結構是字段字符串,由四個組件構成,即SIGN、OPTION、LOW和HIGH。每個選擇表行表示數據選擇的條件:

????????SIGN?:SIGN的數據類型是C,長度為1。SIGN是標志,表示保存在OPTION中的運算符是否需要翻轉。允許值是I和E。

????????I表示“包含”(包含標準-運算符不翻轉)

?????????E表示“排除”(排除標準-運算符翻轉)

????????OPTION:OPTION的數據類型是C,長度為2。OPTION包含選擇運算符。如果SIGN包含E,運算符的作用就象它的前面有NOT(有關NOT的詳細信息,參見《組合幾個邏輯表達式》)一樣。下列運算符是可用的:

?????????如果HIGH是空的,您可以使用EQ、NE、GT、LE、LT、CP和NP。這些運算符在《編程邏輯表達式》中描述。運算符CP和NP沒有它們在通常邏輯表達式中所具有的范圍。只有當在輸入字段中使用了通配符(“*”或“+”)時它們才是有效的。沒有定義退出符號。

?????????如果HIGH已被填充,則可以使用BT(位于)和NB(不位于)。這些運算符的功能與BETWEEN和NOTBETWEEN一樣(參見《檢查字段是否屬于某一范圍》)。

????????LOW:LOW的數據類型與數據庫表的列類型相同,該表與選擇標準相連接。

?????????如果HIGH為空,LOW的內容定義單值選擇。它與OPTION中的運算符相結合,為數據庫選擇指定了條件。

?????????如果HIGH已填充,LOW和HIGH中的內容為間隔選擇指定上界和下界。與OPTION中的運算符相結合,該間隔為數據庫選擇指定了條件。

????????HIGH:HIGH的數據類型與數據庫表的列類型相同,該表與選擇標準相連接。HIGH中的內容為間隔選擇指定了上界。與OPTION中的運算符相結合,該間隔為數據庫選擇指定了條件。

?

如果選擇表包含多行,系統將按下列規則執行數據選擇:

???????組成在SIGN字段值為I(包含)的行上定義的集合聯合。

???????去掉在SIGN字段值為E(排除)的行上定義的集合聯合。

???????選擇結果集合。

?

如果選擇表只具有SIGN字段等于E的行,系統將選擇這些行所指定的集合之外的所有數據。

除了用SELECT-OPTIONS語句創建選擇表,您可以用在《創建和處理內表》中描述的語句或RANGES語句,按相同的結構創建內表。這些表可以用與SELECT-OPTIONS語句創建的真正的選擇表相似方法使用,但是有限制。有關RANGES語句的詳細信息,參見《RANGES語句》


總結

以上是生活随笔為你收集整理的abap range 或 Filter的说明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。