*//===========================================================//* * PARAMETERS *//===========================================================//* *屏幕條件查詢顯示界面 SELECTION-SCREEN BEGIN OF BLOCK blk01 WITH FRAME TITLE text-001 . PARAMETERS: p_d1 TYPE c RADIOBUTTON GROUP pz DEFAULT 'X' USER-COMMAND rad_click , " 物料憑證 p_d2 TYPE c RADIOBUTTON GROUP pz . " 預留單 SELECTION-SCREEN END OF BLOCK blk01 .
SELECTION-SCREEN BEGIN OF BLOCK blk02 WITH FRAME TITLE text-002 . PARAMETERS: p_mjahr LIKE mkpf-mjahr DEFAULT sy-datum+0(4) MODIF ID sa ." 年度 SELECT-OPTIONS: s_bldat FOR mkpf-bldat MODIF ID sa , " 物料憑證日期 s_mblnr FOR mkpf-mblnr MODIF ID sa , " 物料憑證號碼 s_rsdat FOR rkpf-rsdat MODIF ID sb , " 預留單憑證日期 s_rsnum FOR rkpf-rsnum MODIF ID sb , " 預留號 s_matnr FOR mseg-matnr, " 物料號碼 s_bwart FOR mseg-bwart. " 移動類型 SELECTION-SCREEN END OF BLOCK blk02. 為了方便單選按鈕的控制,我們對輸入控件進行了分組,使用MODIF ID name(name只能為3個字符以內),對這一組參數進行屏蔽或打開。在本例程中組名為sa/sb。 還需要注意,我們希望屏幕上的radiobutton能夠觸發事件,因此需要在第一個RadioButton上加上USER-COMMAND name的代碼,它會觸發屏幕標準的事件。
* 處理輸入屏幕的互相鎖定 AT SELECTION-SCREEN OUTPUT . LOOP AT SCREEN . IF screen-group1 = 'SA' AND SCREEN-GROUP3 <> 'OPU' AND SCREEN-GROUP3 <> 'TXT'. IF p_d1 = 'X' . screen-input = '1' . ELSE. screen-input = '0' . ENDIF. ELSEIF screen-group1 = 'SB' AND SCREEN-GROUP3 <> 'OPU' AND SCREEN-GROUP3 <> 'TXT'. IF p_d2 = 'X' . screen-input = '1' . ELSE. screen-input = '0' . ENDIF. ENDIF. MODIFY SCREEN. ENDLOOP.