2008 Aug 21 6:49 AM
Hi all,
my slection screen is like below.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_BOX1 AS CHECKBOX,
PARAMETERS: P_BOX2 AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK IN.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.
PARAMETERS: P_VAR1 TYPE C OBLIGATORY,
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-003.
PARAMETERS: P_VAR2 TYPE C OBLIGATORY,
SELECTION-SCREEN END OF BLOCK B3.
NOW IF I CHECK P_BOX1, P_VAR2 PARAMETER IN BLOCK3 SHOULD NOT STOP PROCEESING .THE REPORT SHOULD RUN WITH P_VAR1, AND VICE VERSA.
CAN ANY ONE HELP ME IN THIS.
2008 Aug 21 8:30 AM
Hi
If u want ur fields to be obligatory try this...
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_box1 AS CHECKBOX USER-COMMAND ch1.
PARAMETERS: p_box2 AS CHECKBOX USER-COMMAND ch2.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS: p_var1 TYPE c MODIF ID v1.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
PARAMETERS: p_var2 TYPE c MODIF ID v2.
SELECTION-SCREEN END OF BLOCK b3.
AT SELECTION-SCREEN OUTPUT.
IF p_box1 EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 EQ 'V2'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF p_box2 EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 EQ 'V1'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
AT SELECTION-SCREEN." ON RADIOBUTTON GROUP r1 .
IF ( p_box1 = 'X' ) AND ( p_var1 IS INITIAL ) AND ( sy-ucomm = 'ONLI' ).
MESSAGE 'Enter var1' TYPE 'E'.
ELSEIF ( p_box2 = 'X' ) AND ( p_var2 IS INITIAL ) AND ( sy-ucomm = 'ONLI' ).
MESSAGE 'Enter var2' TYPE 'E'.
ENDIF.
Hi all,
my slection screen is like below.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_BOX1 AS CHECKBOX,
PARAMETERS: P_BOX2 AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK IN.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.
PARAMETERS: P_VAR1 TYPE C OBLIGATORY,
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-003.
PARAMETERS: P_VAR2 TYPE C OBLIGATORY,
SELECTION-SCREEN END OF BLOCK B3.
NOW IF I CHECK P_BOX1, P_VAR2 PARAMETER IN BLOCK3 SHOULD NOT STOP PROCEESING .THE REPORT SHOULD RUN WITH P_VAR1, AND VICE VERSA.
CAN ANY ONE HELP ME IN THIS.
2008 Aug 21 6:50 AM
HI,
change this:
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_BOX1 AS CHECKBOX,
PARAMETERS: P_BOX2 AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK B1.
Regards
Nicole
2008 Aug 21 6:52 AM
Hello,
Instead of OBLIGATORY, do folllowing:
AT SELECTION-SCREEN.
if p_box1 is not initial.
if p_var1 is initial.
raise error.
endif.
endif.
if p_box2 is not initial.
if p_var2 is initial.
raise error.
endif.
endif.
2008 Aug 21 6:53 AM
Hi,
Don't use OBLIGATORY.
Use this type of logic
REPORT z_sdn.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_box1 AS CHECKBOX USER-COMMAND abc.
PARAMETERS: p_box2 AS CHECKBOX USER-COMMAND xyz.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS: p_var1 TYPE c MODIF ID chr.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
PARAMETERS: p_var2 TYPE c MODIF ID num.
SELECTION-SCREEN END OF BLOCK b3.
AT SELECTION-SCREEN OUTPUT.
IF p_box1 EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 EQ 'CHR'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF p_box2 EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 EQ 'NUM'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
START-OF-SELECTION.
WRITE: 'Hello'.
Regards
Abhijeet
2008 Aug 21 6:56 AM
Hi,
change this
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_BOX1 AS CHECKBOX,
PARAMETERS: P_BOX2 AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK b1.
once select the check box disable the parameter p_var1 and vs p_var2
try this below code
PARAMETERS: p_rprint AS CHECKBOX USER-COMMAND check.
PARAMETERS : p_rec TYPE zsqno MODIF ID gr1.
AT SELECTION-SCREEN OUTPUT .
IF p_rprint EQ space. .
LOOP AT SCREEN.
IF screen-name = 'GR1'.
IF p_rprint EQ 'X'.
screen-input = `1`.
screen-invisible = 0.
ELSE.
screen-input = `0`.
screen-invisible = 1.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
regards
bhupal
Edited by: bhupal reddy on Aug 21, 2008 7:57 AM
2008 Aug 21 7:07 AM
Hi,
Try the code given below.
Regards,
Wajid Hussain P.
* * * *
at selection-screen output.
if p_box1 = 'X' or p_var1 is not initial.
loop at screen.
if screen-name eq 'P_VAR2'.
screen-required = 0.
modify screen.
endloop.
else.
loop at screen.
if screen-name eq 'P_VAR2'.
screen-required = 1.
modify screen.
endloop.
endif.
2008 Aug 21 7:13 AM
Thanks bhupal,
please check my parameters are obligatory.
gopal
2008 Aug 21 7:20 AM
Hi,
the only thing we can do is to remeve OBLIGATORY from parameters declaration and write the logic for obligatory at selection-screen.
something like this :
AT SELECTION-SCREEN.
if P_BOX1 is not initial.
if P_VAR1 is not initial.
logic....
endif.
endif.
if P_BOX2 is not initial.
if P_VAR2 is not initial.
logic....
endif.
endif.
hope this helps.
thanx,
dhanashri.
2008 Aug 21 7:45 AM
HI,
Please copy and paste the code given below...
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_box1 AS CHECKBOX.
PARAMETERS: p_box2 AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS: p_var1 TYPE c.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
PARAMETERS: p_var2 TYPE c.
SELECTION-SCREEN END OF BLOCK b3.
Thanks.
Nitesh
2008 Aug 21 8:30 AM
Hi
If u want ur fields to be obligatory try this...
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_box1 AS CHECKBOX USER-COMMAND ch1.
PARAMETERS: p_box2 AS CHECKBOX USER-COMMAND ch2.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS: p_var1 TYPE c MODIF ID v1.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
PARAMETERS: p_var2 TYPE c MODIF ID v2.
SELECTION-SCREEN END OF BLOCK b3.
AT SELECTION-SCREEN OUTPUT.
IF p_box1 EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 EQ 'V2'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF p_box2 EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 EQ 'V1'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
AT SELECTION-SCREEN." ON RADIOBUTTON GROUP r1 .
IF ( p_box1 = 'X' ) AND ( p_var1 IS INITIAL ) AND ( sy-ucomm = 'ONLI' ).
MESSAGE 'Enter var1' TYPE 'E'.
ELSEIF ( p_box2 = 'X' ) AND ( p_var2 IS INITIAL ) AND ( sy-ucomm = 'ONLI' ).
MESSAGE 'Enter var2' TYPE 'E'.
ENDIF.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |