Dear All,
In my selection screen I made some fields active based on some condition. The problem is if i run the program and give no value in input fields( which were enabled based on the given condition), and press enter then those fields are made disabled ! I need to handle this problem. Fields should not be disabled upon pressing on ENTER . Please help me out. Here is my code. Please take a look.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-010.
PARAMETERS : sto_ic RADIOBUTTON GROUP rdb2 DEFAULT 'X' USER-COMMAND radio1.
PARAMETERS : exp_ins RADIOBUTTON GROUP rdb2.
PARAMETERS : p_vbeln TYPE vbeln_vf MODIF ID m3 OBLIGATORY.
SELECTION-SCREEN SKIP.
PARAMETERS : p_ctype TYPE char100 MODIF ID m5 AS LISTBOX VISIBLE LENGTH 35 USER-COMMAND listbox.
PARAMETERS: p_cust TYPE kna1-kunnr MODIF ID m6.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION POS_HIGH.
SELECTION-SCREEN COMMENT 33(50) c_name FOR FIELD p_cust.
SELECTION-SCREEN END OF LINE.
PARAMETERS :p_reason(50) TYPE c MODIF ID m6." OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b3.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : ip_vbeln TYPE likp-vbeln MODIF ID m1
p_mjahr1 TYPE mkpf-mjahr OBLIGATORY DEFAULT sy-datum+0(4) MODIF ID m1.
PARAMETERS : p_veh TYPE zvehicle_no MODIF ID m1 OBLIGATORY DEFAULT 'N/A'.
PARAMETERS : p_date TYPE sy-datum DEFAULT sy-datum MODIF ID m1.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME.
PARAMETERS : p_damt TYPE pswbt DEFAULT 0 MODIF ID m4.
SELECTION-SCREEN END OF BLOCK b4.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS : rdb_no RADIOBUTTON GROUP rdb1 DEFAULT 'X' USER-COMMAND radio.
PARAMETERS : rdb_yes RADIOBUTTON GROUP rdb1.
PARAMETERS : p_werks TYPE t001w-werks MODIF ID m2.
PARAMETERS : p_mjahr TYPE mseg-mjahr DEFAULT sy-datum+0(4) MODIF ID m2.
PARAMETERS : p_sno TYPE zmusak11_ch-sno_challan MODIF ID m2.
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF rdb_no = 'X'.
IF sto_ic = 'X'.
IF screen-group1 = 'M6' OR screen-group1 = 'M3' OR screen-group1 = 'M4' OR screen-group1 = 'M2'.
screen-input = 0.
ENDIF.
ELSEIF exp_ins = 'X'.
IF screen-group1 = 'M6' OR screen-group1 = 'M4' OR screen-group1 = 'M2'.
screen-input = 0.
ENDIF.
ENDIF.
ELSE.
IF screen-group1 = 'M3' OR screen-group1 = 'M5' OR screen-group1 = 'M6' OR screen-group1 = 'M1' OR screen-group1 = 'M4'.
screen-input = 0.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
CASE gd_ucomm.
WHEN 'LISTBOX'.
IF sto_ic = 'X'.
IF sto_others NE 'S' .
IF p_ctype = '0006' OR p_ctype = '0007' OR p_ctype = '0008' OR p_ctype = '0009'.
LOOP AT SCREEN.
IF screen-group1 = 'M6'.
screen-input = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
MESSAGE s013 DISPLAY LIKE 'E'.
STOP.
ENDIF.
ENDIF.
ELSE.
IF sto_others NE 'I'
MESSAGE s013 DISPLAY LIKE 'E'.
STOP.
ENDIF.
ENDIF
ENDCASE.