[SAP ABAP開發技術總結]選擇屏幕——按鈕、單選復選框


 

12.6.     按鈕、單選復選框、下拉框FunCode

如果復選框與單選按鈕沒有設置Function Code,則它們就會像普通的輸入框一樣,即使狀態發生了改變,也不會觸發PAI事件

對話屏幕中的按鈕、復選框、單選按鈕、下拉框的Function Code都是通過屏幕元素 attributes來設置的;選擇屏幕中的FunCode則通過USER-COMMAND選項來設置

12.6.1.           選擇屏幕中的按鈕

SELECTION-SCREEN:PUSHBUTTON 2(12but1 USER-COMMAND cli1.
INITIALIZATION.
but1
= 'Button 1'."可直接設置按鈕上的標簽文本
AT SELECTION-SCREEN.
 
CASE sy-ucomm.
   
WHEN 'CLI1'.
 
ENDCASE.

12.6.2.           選擇屏幕中的單選/復選按鈕:點擊時顯示、隱藏其他屏幕元素

更多請參考動態修改屏幕章節

PARAMETERS show_all AS CHECKBOX USER-COMMAND flag.
PARAMETERS hide
  RADIOBUTTON GROUP  rd USER-COMMAND flag2 DEFAULT 'X'.
PARAMETERS
show  RADIOBUTTON GROUP  rd .
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME .
 
PARAMETERS: p1 TYPE c LENGTH 10 ,
              p2
TYPE c LENGTH 10.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE t.
 
PARAMETERS: p3 TYPE c LENGTH 10 MODIF ID bl2,
              p4
TYPE c LENGTH 10 MODIF ID bl2.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME .
 
PARAMETERS: p5 TYPE c LENGTH 10 MODIF ID bl3,
              p6
TYPE c LENGTH 10 MODIF ID bl3.
SELECTION-SCREEN END OF BLOCK b3.

INITIALIZATION.
  t
= '----ALL----'.
"單先與復選框、下拉列表項點擊觸發PAI后,接下來還會觸發屏幕的PBO(回車也是這樣),但如果點擊的是執行按鈕,則不會接着觸發屏幕的PBO,除非沒有輸出或在Basic List列表頁面上點擊返回按鈕時,才會觸發PBO
AT SELECTION-SCREEN OUTPUT.
 
LOOP AT SCREEN.
   
IF show_all = 'X'  AND screen-group1 = 'BL2'.
     
screen
-active = '1'."顯示
     
MODIFY SCREEN.
   
ELSEIF screen-group1 = 'BL2'.
     
screen
-active = '0'."隱藏
     
MODIFY SCREEN.
   
ENDIF.
   
IF  show = 'X'  AND screen-group1 = 'BL3'.
     
screen-active = '1'.
     
MODIFY SCREEN.
   
ELSEIF  screen-group1 = 'BL3'.
     
screen-active = '0'.
     
MODIFY SCREEN.
   
ENDIF.
 
ENDLOOP.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM