[SAP ABAP开发技术总结]选择屏幕——SELECT-OPTIONS
?
12.4.???????? SELECT-OPTIONS. 89
12.4.1.???? 輸入ABAP程序默認(rèn)值時,需要加上“=”. 89
12.4.2.???? 選擇條件內(nèi)表多條件組合規(guī)則... 89
12.4.3.???? 使用SELECT-OPTIONS替代PARAMETERS. 90
12.4.???? SELECT-OPTIONS
SELECT-OPTIONS selcrit FOR {dobj|(name)}
? screen_options[OBLIGATORY|NO-DISPLAY][VISIBLE LENGTH vlen][NO-EXTENSION][NO INTERVALS][MODIF ID id]
? value_options [DEFAULT val1 [TO val2] [OPTION opt] [SIGN sgn]][LOWER?CASE]
? [MATCHCODE?OBJECT search_help][MEMORY?ID pid]
該語句會生成一個名為selcrit選擇條件內(nèi)表,具體請參數(shù)OPEN SQL章節(jié)中的 RANG條件內(nèi)表
NO-EXTENSION:限制選擇表為單行,元素輸入后面不會出現(xiàn)按鈕
NO INTERVALS:只會出現(xiàn)LOW字段,To后面的HIGH字段不出現(xiàn)在選擇屏幕上,但是用戶仍然可以在Mutiple Selection窗口中輸入范圍選擇。也就是說:只要有按鈕,就可以選擇多個條件與范圍值
OBLIGATORY:只有前面一個框框中出現(xiàn)鉤,第二個框沒有,也就是說該選項只能LOW字段有效
DEFAULT:
TABLES: mara,marc.
SELECT-OPTIONS:werks FOR marc-werks OBLIGATORY?DEFAULT?1001?TO?1007?SIGN I?OPTION BT.
SELECT-OPTIONS:p2 FOR mara-matnr MODIF.
AT SELECTION-SCREEN OUTPUT.
? p2-low = 'aaaa'.
? APPEND p2 .
MEMORY ID:將第一個輸入框中的數(shù)據(jù)存放到SAP MEMORY中共享
12.4.1.?????????? 輸入ABAP程序默認(rèn)值時,需要加上“=”
如果輸入框中輸入的值恰為ABAP程序中相應(yīng)字段所對應(yīng)的初始值時(如字符類型為空串,時間與數(shù)字類型為“0”串時),需要在第一個框前面選擇操作符,否則程序?qū)雎赃@個值的輸入,即查詢所有的
12.4.2.?????????? 選擇條件內(nèi)表多條件組合規(guī)則
((Select Single Values OR…) OR(Select Intervals OR…))( AND NOT Exclude Single Values) … ( AND NOT Exclude Intervals) …
("MATNR" = '1' OR "MATNR" >= '2' OR "MATNR" <= '3' OR "MATNR" > '4' OR "MATNR" < '5' OR "MATNR" <> '6' OR "MATNR" <> '7' OR "MATNR" LIKE '23%' OR NOT ( "MATNR" LIKE '24_' ) OR"MATNR" BETWEEN '8' AND '9' OR NOT ( "MATNR" BETWEEN '10' AND '11' )) AND"MATNR" <> '12' AND "MATNR" < '13' AND "MATNR" > '14' AND "MATNR" <= '15' AND "MATNR" >= '16' AND "MATNR" = '17' AND "MATNR" = '18' AND NOT ( "MATNR" LIKE '25%' ) AND "MATNR" LIKE '26_' AND NOT ("MATNR" BETWEEN '19' AND '20' ) AND "MATNR" BETWEEN '21' AND '22'
12.4.3.?????????? 使用SELECT-OPTIONS替代PARAMETERS
實際上PARAMETERS 類型的參數(shù)完全可以使用SELECT-OPTIONS來替代,下面就是使用這種替換方式,外表看上去與PARAMETERS是一樣的,但雙擊后可以出現(xiàn)操作符選擇界面,所以唯一不同點就是這個可以選擇操作符,而且這樣做的好處是:當(dāng)不輸入值時,查詢所有的,但PARAMETERS值為空是查詢就是為空(或0)的值(如果此時要忽略這個條件,則要將單值轉(zhuǎn)換為Rang或者是分兩種情況來寫SQL條件):
TABLES: marc.
SELECT-OPTIONS: s_werks? FOR marc-werks NO INTERVALS NO-EXTENSION.
總結(jié)
以上是生活随笔為你收集整理的[SAP ABAP开发技术总结]选择屏幕——SELECT-OPTIONS的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ 1182 食物链 [并查集 带权
- 下一篇: 1月第4周中美五大顶级域名总量涨幅相近