abap range 或 Filter的說明

2021-05-28 18:15:38 字數 2332 閱讀 2498

引用自

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

語法:ranges for .

該語句建立選擇表,該錶參考資料庫表的列或內部字段。選擇表必須在程式中填充。不必在程式中再用tables語句宣告資料庫表。

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

data: begin of occurs 10,

sign(1),

option(2)

low  like ,

high like ,

end of .

用ranges建立的內錶與選擇表結構相同,但功能不同。

用ranges語句建立的選擇表:

不是選擇螢幕的一部分:它們在程式中不能用於資料傳遞,該程式由下列語句啟動:submit with in . 請注意,表可以在呼叫程式中用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'.

該示例中,內錶s_carrid按選擇表的結構建立,並參考資料庫表spfli的列carrid。欄位s_carrid-low和s_carrid-high具有相同的型別carrid。內錶s_carrid的表頭行被填充並新增到表中。表中定義的選擇條件與下列邏輯表示式的功能相同:spfli-carrid eq 'lh'

選擇表:

系統為每個select-options語句建立選擇表。選擇表的目的是按標準化的方式儲存復合選擇限制。它們可按多種方式使用。它們的主要目的是使用open sql語句的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和not between一樣(參見《檢查字段是否屬於某一範圍》)。

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語句》

關於CATransition的filter屬性

osx關於filter的屬性的介紹 需要設定 view 的wantlayer屬性和layerusescoreimagefilters屬性為yes 然後看下面的 塊 cifilter afilter cifilter filterwithname cimotionblur afilter setdef...

DirectShow的基本單元 Filter

directshow所採用的是一種模組化的結構,其基本單元是一類成為filter的com物件。directshow提供了多種預定義的標準filter元件,同時開發者也可以根據需要開發自己的個性化filter。常用的filter一般可分為以下不同類別 2 transform filter 負責資料的變...

Python基礎 lambda與filter用法

1.lambda用法。python使用lambda來建立匿名函式。lambda只是乙個表示式,函式體比def簡單很多。lambda的主體是乙個表示式,而不是乙個 塊。僅僅能在lambda表示式中封裝有限的邏輯進去。lambda函式擁有自己的命名空間,且不能訪問自有引數列表之外或全域性命名空間裡的引數...