2012-12-07 27 views
1

我有一些單選按鈕,當我在它們之間切換時,某些塊出現/消失。 但是,如果我將參數設置爲強制性或必需的,除非我填充它們,否則它們不會隱藏。我想製作參數,但當我更改單選按鈕選項時,我需要隱藏它們。更改單選按鈕時隱藏一個強制參數

+0

請指定您是在說選擇屏幕還是常規屏幕。 – vwegert

+0

對不起,它在選擇屏幕。 – luiserta

回答

4

我想這是一個選擇屏幕...

  • 然後循環在你的屏幕,並檢查 「YOUR_RADIO_BUTTON」
  • 值啓用或禁用塊

    AT SELECTION-SCREEN OUTPUT. 
    
        LOOP AT SCREEN. 
    * Radio button parameter = P_RADIO 
    * hide the parameter named "to_hide" 
        IF P_RADIO EQ 'X' AND SCREEN-NAME CS 'TO_HIDE'. 
         SCREEN-INPUT = 0. 
         MODIFY SCREEN. 
        ENDIF. 
    
    * display the parameter named "to_hide" 
        IF P_RADIO <> 'X' AND SCREEN-NAME CS 'TO_HIDE'. 
         SCREEN-INPUT = 1. 
         MODIFY SCREEN. 
        ENDIF. 
    
        ENDLOOP. 
    
+0

我明白你的意思,但如果block內的參數是強制性的,你不能隱藏一個block,因爲你需要填寫必須的參數。 – luiserta

2

如果您使用PARAMETERS ... OBLIGATORY,這是一個無條件聲明 - 無論其他設置如何,此參數都是必需的。如果您需要進行條件檢查,則必須自行編碼:

PARAMETERS p_chkbuk AS CHECKBOX. 
PARAMETERS p_bukrs TYPE bukrs. 

AT SELECTION-SCREEN ON p_bukrs. 
    IF p_chkbuk = abap_true AND p_bukrs IS INITIAL. 
    MESSAGE 'You need to enter something.' TYPE 'I' DISPLAY LIKE 'E'. 
    ENDIF. 
+0

嗯。好。它有效,但程序結束。我找到了一個方法。我可以簡單地放上'MESSAGE',你需要輸入一些東西。'類型'我'顯示像'E'.' – luiserta