11-13-2006 4:17 AM
Hi
i am using 2 parameter declared like this:
PARAMETERS:
cb_bord AS CHECKBOX , "Electronic Borderel
p_file TYPE rlgrap-filename MODIF ID scr. "OBLIGATORY. " File Name
and my req is when the check bos is checked the p_file shud b input enabled and mandatory.....
for that i am doing...
CLEAR screen.
IF cb_bord EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 EQ c_scr.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-group1 EQ c_scr.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
but at the same time how to make fields madatory..if i declare it mandatory in the parameter......once the check box is unchecked it again prompts for entering some value in that p_file parameter....
Regards
Gunjan
11-13-2006 5:35 AM
Hi Gunjan,
Try assigning a user command to the checkbox.
Try this code.
constants : c_scr type char03 value 'SCR'.
PARAMETERS:
cb_bord AS CHECKBOX user-command CHECK, "Electronic Borderel
p_file TYPE rlgrap-filename MODIF ID scr. "OBLIGATORY. " File Name
at selection-screen output.
CLEAR screen.
IF cb_bord EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 EQ c_scr.
screen-input = '1'.
screen-required = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-group1 EQ c_scr.
screen-input = '0'.
screen-required = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
11-13-2006 4:20 AM
Hi,
Manually check if the field is populated or instead of using OBLIGATORY..
AT SELECTION-SCREEN.
IF CB_BORD = 'X'.
IF P_FILE IS INITIAL.
MESSAGE E208(00) WITH 'FILE NAME REQUIRED'.
ENDIF.
ENDIF.
Thanks,
Naren
11-13-2006 4:20 AM
11-13-2006 4:20 AM
Assign a user command to check1 as below
PARAMETERS: check1 TYPE char1 AS CHECKBOX USER-COMMAND cb1.
and Use the AT-SELECTION-SCREEN event.
AT-SELECTION-SCREEN.
IF check1 = 'X' and SO is initial.
Message e000(VZ) with 'Enter value in SO'.
Endif.
11-13-2006 4:22 AM
HI,
check the code in bold for making field mandatory.
CLEAR screen.
IF cb_bord EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 EQ c_scr.
screen-input = '1'.
<b> screen-required = '1'.</b>
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-group1 EQ c_scr.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Regards,
11-13-2006 4:33 AM
HI
if i make all the changes mentioned in the post the file name is mandaotur gets triggred even before making field input enabled.....so first i need to make the field input enabvled and then make it mandatory....
i have written the input enabled part in at selection screen output.....
and if i make the screen-required = 1...if i press the back button it prompts for entering something in this field..
regards
Gunjan
11-13-2006 4:40 AM
Hi,
Check this code..
PARAMETERS:
cb_bord AS CHECKBOX USER-COMMAND FILE, "Electronic Borderel
p_file TYPE rlgrap-filename MODIF ID scr.
AT SELECTION-SCREEN.
IF SY-UCOMM <> 'FILE' AND cb_bord = 'X' AND P_FILE IS INITIAL.
MESSAGE E208(00) WITH 'FILE IS REQUIRED'.
ENDIF.
AT SELECTION-SCREEN OUTPUT.
IF CB_BORD = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'SCR'.
SCREEN-INPUT = '1'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'SCR'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Thanks,
Naren
11-13-2006 5:03 AM
at selection screen gets triggred before output and hence it checks for the mandatory field ir p_file even before making it mandatory!!
11-13-2006 5:07 AM
Hi,
That is what your requirement is??correct?..You want to make the file parameter mandatory if the checkbox is checked..
PARAMETERS:
cb_bord AS CHECKBOX USER-COMMAND FILE, "Electronic Borderel
p_file TYPE rlgrap-filename MODIF ID scr.
AT SELECTION-SCREEN.
IF SY-UCOMM <> 'FILE' AND cb_bord = 'X' AND P_FILE IS INITIAL.
MESSAGE E208(00) WITH 'FILE IS REQUIRED'.
ENDIF.
AT SELECTION-SCREEN OUTPUT.
IF CB_BORD = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'SCR'.
SCREEN-INPUT = '1'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'SCR'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
Thanks,
Naren
11-13-2006 5:09 AM
pls read the post carefully...
-
mandatory after making it input enabled
11-13-2006 5:35 AM
Hi Gunjan,
Try assigning a user command to the checkbox.
Try this code.
constants : c_scr type char03 value 'SCR'.
PARAMETERS:
cb_bord AS CHECKBOX user-command CHECK, "Electronic Borderel
p_file TYPE rlgrap-filename MODIF ID scr. "OBLIGATORY. " File Name
at selection-screen output.
CLEAR screen.
IF cb_bord EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 EQ c_scr.
screen-input = '1'.
screen-required = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-group1 EQ c_scr.
screen-input = '0'.
screen-required = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
11-13-2006 5:47 AM
Hi Gunjan
Hope this is what you are expecting.
PARAMETERS:
cb_bord AS CHECKBOX user-command abc, "Electronic Borderel
p_file TYPE rlgrap-filename MODIF ID scr. "OBLIGATORY.
at selection-screen output.
loop at screen.
check screen-name eq 'P_FILE'.
case cb_bord.
when 'X'.
screen-required = '1'.
screen-input = '1'.
when space.
screen-required = '0'.
screen-input = '0'.
endcase.
modify screen.
endloop.
Kind Regards
Eswar