10-25-2007 7:58 PM
Hi Guys,
Can anybody tell me how to activate and deactive the Selectrion screen.
My Req is I have 4 Blocks.
in 1st BLOCK 3 Check boxes are there based on these 3 Check Boxes i have to Activate and Deactivate the other 3 Blocks which are B2 , B3 and B4.
i tried to write the code but it doesn't working even after usinf User Command sattements for these3 check Boxes
Code is Below
SELECTION-SCREEN: BEGIN OF BLOCK bk1 WITH FRAME TITLE text-001.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETER: p_MIP AS CHECKBOX DEFAULT 'X' USER-COMMAND ABC.
SELECTION-SCREEN COMMENT 2(65) TEXT-002 for field p_MIP.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETER: p_PFT AS CHECKBOX DEFAULT 'X' USER-COMMAND BCA.
SELECTION-SCREEN COMMENT 2(65) TEXT-003 for field p_PFT.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETER: p_ISD AS CHECKBOX DEFAULT 'X' USER-COMMAND CAB.
SELECTION-SCREEN COMMENT 2(65) TEXT-004 for field p_ISD.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN END OF BLOCK bk1.
SELECTION-SCREEN BEGIN OF BLOCK bk2 WITH FRAME TITLE text-005.
PARAMETER: p_MiIP AS CHECKBOX DEFAULT 'X' MODIF ID P1,
p_payme AS CHECKBOX DEFAULT 'X' MODIF ID P1,
p_vend AS CHECKBOX DEFAULT 'X' MODIF ID P1.
SELECTION-SCREEN END OF BLOCK bk2.
SELECTION-SCREEN BEGIN OF BLOCK bk3 WITH FRAME TITLE text-006.
*
PARAMETER: p_MiIP1 AS CHECKBOX DEFAULT 'X' MODIF ID P2,
p_payme1 AS CHECKBOX DEFAULT 'X' MODIF ID P2,
p_vend1 AS CHECKBOX DEFAULT 'X' MODIF ID P2.
SELECTION-SCREEN END OF BLOCK bk3.
SELECTION-SCREEN BEGIN OF BLOCK bk4 WITH FRAME TITLE text-007.
PARAMETER: p_MiIP2 AS CHECKBOX DEFAULT 'X' MODIF ID P3,
p_payme2 AS CHECKBOX DEFAULT 'X' MODIF ID P3,
p_vend2 AS CHECKBOX DEFAULT 'X' MODIF ID P3.
SELECTION-SCREEN END OF BLOCK bk4.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF P_MIP EQ 'X'." AND SCREEN-GROUP1 = 'P1'.
SCREEN-ACTIVE = '1'.
ELSE.
SCREEN-ACTIVE = '0'.
Endif.
IF p_PFT EQ 'X' ."AND SCREEN-GROUP1 = 'P2'.
SCREEN-GROUP1 = 'P2'.
SCREEN-ACTIVE = '1'.
ELSE.
SCREEN-ACTIVE = '0'.
Endif.
IF p_ISD EQ 'X' ."AND SCREEN-GROUP1 = 'P3'.
*SCREEN-GROUP1 = 'P1'.
SCREEN-ACTIVE = '1'.
ELSE.
SCREEN-ACTIVE = '0'.
Endif.
MODIFY SCREEN.
ENDLOOP.
Thanks,
Gopi.
10-25-2007 8:21 PM
Hello Anne
You were quite close to the right solution. Have a look at my sample report <b>ZUS_SDN_DYNAMIC_SELSCREEN</b>.
*&---------------------------------------------------------------------*
*& Report ZUS_SDN_DYNAMIC_SELSCREEN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zus_sdn_dynamic_selscreen.
SELECTION-SCREEN: BEGIN OF BLOCK bk1 WITH FRAME TITLE text-001.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETER: p_mip AS CHECKBOX DEFAULT 'X' USER-COMMAND abc.
SELECTION-SCREEN COMMENT 2(65) text-002 FOR FIELD p_mip.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETER: p_pft AS CHECKBOX DEFAULT 'X' USER-COMMAND bca.
SELECTION-SCREEN COMMENT 2(65) text-003 FOR FIELD p_pft.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETER: p_isd AS CHECKBOX DEFAULT 'X' USER-COMMAND cab.
SELECTION-SCREEN COMMENT 2(65) text-004 FOR FIELD p_isd.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN END OF BLOCK bk1.
SELECTION-SCREEN BEGIN OF BLOCK bk2 WITH FRAME TITLE text-005.
PARAMETER: p_miip AS CHECKBOX DEFAULT 'X' MODIF ID p1,
p_payme AS CHECKBOX DEFAULT 'X' MODIF ID p1,
p_vend AS CHECKBOX DEFAULT 'X' MODIF ID p1.
SELECTION-SCREEN END OF BLOCK bk2.
SELECTION-SCREEN BEGIN OF BLOCK bk3 WITH FRAME TITLE text-006.
*
PARAMETER: p_miip1 AS CHECKBOX DEFAULT 'X' MODIF ID p2,
p_payme1 AS CHECKBOX DEFAULT 'X' MODIF ID p2,
p_vend1 AS CHECKBOX DEFAULT 'X' MODIF ID p2.
SELECTION-SCREEN END OF BLOCK bk3.
SELECTION-SCREEN BEGIN OF BLOCK bk4 WITH FRAME TITLE text-007.
PARAMETER: p_miip2 AS CHECKBOX DEFAULT 'X' MODIF ID p3,
p_payme2 AS CHECKBOX DEFAULT 'X' MODIF ID p3,
p_vend2 AS CHECKBOX DEFAULT 'X' MODIF ID p3.
SELECTION-SCREEN END OF BLOCK bk4.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
CASE screen-group1.
WHEN 'P1'.
IF ( p_mip = 'X' ).
screen-input = '1'.
ELSE.
screen-input = '0'.
ENDIF.
WHEN 'P2'.
IF ( p_pft = 'X' ).
screen-input = '1'.
ELSE.
screen-input = '0'.
ENDIF.
WHEN 'P3'.
IF ( p_isd = 'X' ).
screen-input = '1'.
ELSE.
screen-input = '0'.
ENDIF.
WHEN OTHERS.
CONTINUE.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
START-OF-SELECTION.
END-OF-SELECTION.
Regards
Uwe
10-25-2007 8:56 PM
Check the below program and which i modified :
REPORT ztest_ytt no standard page heading.
tables : t000md.
SELECTION-SCREEN: BEGIN OF BLOCK bk1 WITH FRAME TITLE text-001.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETER: p_MIP AS CHECKBOX DEFAULT 'X' USER-COMMAND ABC.
SELECTION-SCREEN COMMENT 2(65) TEXT-002 for field p_MIP.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETER: p_PFT AS CHECKBOX DEFAULT 'X' USER-COMMAND BCA.
SELECTION-SCREEN COMMENT 2(65) TEXT-003 for field p_PFT.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETER: p_ISD AS CHECKBOX DEFAULT 'X' USER-COMMAND CAB.
SELECTION-SCREEN COMMENT 2(65) TEXT-004 for field p_ISD.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN END OF BLOCK bk1.
SELECTION-SCREEN BEGIN OF BLOCK bk2 WITH FRAME TITLE text-005.
PARAMETER: p_MiIP AS CHECKBOX DEFAULT 'X' MODIF ID P1,
p_payme AS CHECKBOX DEFAULT 'X' MODIF ID P1,
p_vend AS CHECKBOX DEFAULT 'X' MODIF ID P1.
SELECTION-SCREEN END OF BLOCK bk2.
SELECTION-SCREEN BEGIN OF BLOCK bk3 WITH FRAME TITLE text-006.
*
PARAMETER: p_MiIP1 AS CHECKBOX DEFAULT 'X' MODIF ID P2,
p_payme1 AS CHECKBOX DEFAULT 'X' MODIF ID P2,
p_vend1 AS CHECKBOX DEFAULT 'X' MODIF ID P2.
SELECTION-SCREEN END OF BLOCK bk3.
SELECTION-SCREEN BEGIN OF BLOCK bk4 WITH FRAME TITLE text-007.
PARAMETER: p_MiIP2 AS CHECKBOX DEFAULT 'X' MODIF ID P3,
p_payme2 AS CHECKBOX DEFAULT 'X' MODIF ID P3,
p_vend2 AS CHECKBOX DEFAULT 'X' MODIF ID P3.
SELECTION-SCREEN END OF BLOCK bk4.
AT SELECTION-SCREEN OUTPUT.
select single * from t000md.
LOOP AT SCREEN.
case screen-group1.
when 'P1'.
IF P_MIP EQ 'X'.
SCREEN-ACTIVE = '1'.
screen-input = '1'.
else.
SCREEN-ACTIVE = '0'.
screen-input = '0'.
endif.
when 'P2'.
IF p_PFT EQ 'X'.
SCREEN-ACTIVE = '1'.
screen-input = '1'.
else.
SCREEN-ACTIVE = '0'.
screen-input = '0'.
endif.
when 'P3'.
IF p_ISD EQ 'X'.
SCREEN-ACTIVE = '1'.
screen-input = '1'.
else.
SCREEN-ACTIVE = '0'.
screen-input = '0'.
endif.
endcase.
MODIFY SCREEN.
ENDLOOP.
Thanks
Seshu
10-25-2007 10:55 PM
Hi Seshu,
Thanks for your reply.
The logic which u send is fine.But i need to activate only one Check box in Block1, so that the other check boxes of block1 must be deactivated .
So can u tell me How to do?
Thanks,
Gopi Anne.
10-26-2007 4:23 AM
Hello Anne
If you formulate your requirements exactly and completely you will get right answers much faster. Mutally exclusive checkboxes are nothing else but radiobuttons.
*&---------------------------------------------------------------------*
*& Report ZUS_SDN_DYNAMIC_SELSCREEN
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zus_sdn_dynamic_selscreen.
SELECTION-SCREEN: BEGIN OF BLOCK bk1 WITH FRAME TITLE text-001.
**SELECTION-SCREEN: BEGIN OF LINE.
**PARAMETER: p_mip AS CHECKBOX DEFAULT 'X' USER-COMMAND abc.
**SELECTION-SCREEN COMMENT 2(65) text-002 FOR FIELD p_mip.
**SELECTION-SCREEN: END OF LINE.
**
**SELECTION-SCREEN: BEGIN OF LINE.
**PARAMETER: p_pft AS CHECKBOX DEFAULT 'X' USER-COMMAND bca.
**SELECTION-SCREEN COMMENT 2(65) text-003 FOR FIELD p_pft.
**SELECTION-SCREEN: END OF LINE.
**
**SELECTION-SCREEN: BEGIN OF LINE.
**PARAMETER: p_isd AS CHECKBOX DEFAULT 'X' USER-COMMAND cab.
**SELECTION-SCREEN COMMENT 2(65) text-004 FOR FIELD p_isd.
**SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETER: p_mip RADIOBUTTON GROUP rad DEFAULT 'X' USER-COMMAND abc.
SELECTION-SCREEN COMMENT 2(65) text-002 FOR FIELD p_mip.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETER: p_pft RADIOBUTTON GROUP rad.
SELECTION-SCREEN COMMENT 2(65) text-003 FOR FIELD p_pft.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: BEGIN OF LINE.
PARAMETER: p_isd RADIOBUTTON GROUP rad.
SELECTION-SCREEN COMMENT 2(65) text-004 FOR FIELD p_isd.
SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN END OF BLOCK bk1.
SELECTION-SCREEN BEGIN OF BLOCK bk2 WITH FRAME TITLE text-005.
PARAMETER: p_miip AS CHECKBOX DEFAULT 'X' MODIF ID p1,
p_payme AS CHECKBOX DEFAULT 'X' MODIF ID p1,
p_vend AS CHECKBOX DEFAULT 'X' MODIF ID p1.
SELECTION-SCREEN END OF BLOCK bk2.
SELECTION-SCREEN BEGIN OF BLOCK bk3 WITH FRAME TITLE text-006.
*
PARAMETER: p_miip1 AS CHECKBOX DEFAULT 'X' MODIF ID p2,
p_payme1 AS CHECKBOX DEFAULT 'X' MODIF ID p2,
p_vend1 AS CHECKBOX DEFAULT 'X' MODIF ID p2.
SELECTION-SCREEN END OF BLOCK bk3.
SELECTION-SCREEN BEGIN OF BLOCK bk4 WITH FRAME TITLE text-007.
PARAMETER: p_miip2 AS CHECKBOX DEFAULT 'X' MODIF ID p3,
p_payme2 AS CHECKBOX DEFAULT 'X' MODIF ID p3,
p_vend2 AS CHECKBOX DEFAULT 'X' MODIF ID p3.
SELECTION-SCREEN END OF BLOCK bk4.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
CASE screen-group1.
WHEN 'P1'.
IF ( p_mip = 'X' ).
screen-input = '1'.
ELSE.
screen-input = '0'.
ENDIF.
WHEN 'P2'.
IF ( p_pft = 'X' ).
screen-input = '1'.
ELSE.
screen-input = '0'.
ENDIF.
WHEN 'P3'.
IF ( p_isd = 'X' ).
screen-input = '1'.
ELSE.
screen-input = '0'.
ENDIF.
WHEN OTHERS.
CONTINUE.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
START-OF-SELECTION.
END-OF-SELECTION.
Regards
Uwe