选择屏幕——按钮、单选复选框
12.6.?????按鈕、單選復選框、下拉框的FunCode
如果復選框與單選按鈕沒有設置Function Code,則它們就會像普通的輸入框一樣,即使狀態發生了改變,也不會觸發PAI事件
對話屏幕中的按鈕、復選框、單選按鈕、下拉框的Function Code都是通過屏幕元素?attributes來設置的;選擇屏幕中的FunCode則通過USER-COMMAND選項來設置
12.6.1.???????????選擇屏幕中的按鈕
SELECTION-SCREEN:PUSHBUTTON?2(12)??but1?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.
總結
以上是生活随笔為你收集整理的选择屏幕——按钮、单选复选框的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于自定义程序的效能优化
- 下一篇: SAP物料管理自动记帐详解