‎2007 May 18 6:28 AM
Hi,
I am having a problem regarding disabling of blocks in report.I have two radio buttons,by clicking on one first button should appear and by clicking on second radio button first block should disappear and second should appear.
Following is my code...
PARAMETERS:block1 RADIOBUTTON GROUP rad1 USER-COMMAND R DEFAULT 'X',
block2 RADIOBUTTON GROUP rad1.
TABLES : eban.
***********************************************
FIRST BLOCK
**********************************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:i AS CHECKBOX MODIF ID abc USER-COMMAND u1.
SELECTION-SCREEN COMMENT 30(20) text-001 FOR FIELD s_matnr MODIF ID abc.
SELECT-OPTIONS s_matnr FOR eban-matnr NO INTERVALS MODIF ID abc.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:j AS CHECKBOX MODIF ID abc .
SELECTION-SCREEN COMMENT 30(20) text-002 FOR FIELD s_loc MODIF ID abc.
SELECT-OPTIONS s_loc FOR eban-lgort NO INTERVALS MODIF ID abc.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
***********************************************
SECOND BLOCK
**********************************************
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 30(20) text-005 FOR FIELD s_pur MODIF ID cdf.
SELECT-OPTIONS s_pur FOR eban-banfn NO INTERVALS MODIF ID cdf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN:
PUSHBUTTON 12(10) text-003 USER-COMMAND u3.
AT SELECTION-SCREEN OUTPUT.
IF block1 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'abc'.
screen-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
endif.
IF block2 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'cdf'.
screen-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
but this does not work.Plz help
‎2007 May 18 6:42 AM
hi,
see the coding in bold, This will work for sure..
PARAMETERS:block1 RADIOBUTTON GROUP rad1 USER-COMMAND R DEFAULT 'X',
block2 RADIOBUTTON GROUP rad1.
TABLES : eban.
***********************************************
FIRST BLOCK
**********************************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:i AS CHECKBOX MODIF ID abc USER-COMMAND u1.
SELECTION-SCREEN COMMENT 30(20) text-001 FOR FIELD s_matnr MODIF ID abc.
SELECT-OPTIONS s_matnr FOR eban-matnr NO INTERVALS MODIF ID abc.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:j AS CHECKBOX MODIF ID abc .
SELECTION-SCREEN COMMENT 30(20) text-002 FOR FIELD s_loc MODIF ID abc.
SELECT-OPTIONS s_loc FOR eban-lgort NO INTERVALS MODIF ID abc.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
***********************************************
SECOND BLOCK
**********************************************
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 30(20) text-005 FOR FIELD s_pur MODIF ID cdf.
SELECT-OPTIONS s_pur FOR eban-banfn NO INTERVALS MODIF ID cdf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN OUTPUT.
<b>
IF block1 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'ABC'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'CDF'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
endif.
IF block2 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'CDF'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'ABC'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.</b>
rewards if useful..
regards,
nazeer
Message was edited by:
nazeer shaik
Message was edited by:
nazeer shaik
‎2007 May 18 6:40 AM
Hi,
try with the following code,
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'abc'.
SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
coninue.
ENDIF.
IF screen-group1 = 'cdf'.
SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
regards
‎2007 May 18 6:42 AM
hi,
see the coding in bold, This will work for sure..
PARAMETERS:block1 RADIOBUTTON GROUP rad1 USER-COMMAND R DEFAULT 'X',
block2 RADIOBUTTON GROUP rad1.
TABLES : eban.
***********************************************
FIRST BLOCK
**********************************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:i AS CHECKBOX MODIF ID abc USER-COMMAND u1.
SELECTION-SCREEN COMMENT 30(20) text-001 FOR FIELD s_matnr MODIF ID abc.
SELECT-OPTIONS s_matnr FOR eban-matnr NO INTERVALS MODIF ID abc.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:j AS CHECKBOX MODIF ID abc .
SELECTION-SCREEN COMMENT 30(20) text-002 FOR FIELD s_loc MODIF ID abc.
SELECT-OPTIONS s_loc FOR eban-lgort NO INTERVALS MODIF ID abc.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
***********************************************
SECOND BLOCK
**********************************************
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 30(20) text-005 FOR FIELD s_pur MODIF ID cdf.
SELECT-OPTIONS s_pur FOR eban-banfn NO INTERVALS MODIF ID cdf.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN OUTPUT.
<b>
IF block1 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'ABC'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'CDF'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
endif.
IF block2 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'CDF'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'ABC'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.</b>
rewards if useful..
regards,
nazeer
Message was edited by:
nazeer shaik
Message was edited by:
nazeer shaik
‎2007 May 18 6:54 AM
‎2007 May 18 6:43 AM
Hi ,
Use the event At Selection-screen on radio button group and write the following code.(define some screen groups)
LOOP AT SCREEN.
IF screen-group1 = 'abc'.
SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
coninue.
ENDIF.
IF screen-group1 = 'cdf'.
SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
‎2007 May 18 6:43 AM
Hi Neerja,
This code is working. try with this,
Report ztesting.
tables : sscrfields,mara,marc.
data : w_flag type c.
selection-screen : begin of block b1 with frame title text-001.
parameters : p_matnr like mara-matnr modif id ar1,
p_werks like marc-werks modif id ar1.
selection-screen : end of block b1.
selection-screen : begin of block b2 with frame title text-002.
parameters : p_matnr1 like mara-matnr modif id ar2,
p_werks1 like marc-werks modif id ar2.
selection-screen : end of block b2.
at selection-screen.
clear w_flag.
if block1 = 'X'.
w_flag = 1.
elseif block2 = 'X'.
w_flag = 2.
endif.
at selection-screen output.
loop at screen.
if w_flag = 1.
if screen-group1 = 'AR1'.
screen-active = '0'.
endif.
endif.
if w_flag = 2.
if screen-group1 = 'AR2'.
screen-active = '0'.
endif.
endif.
modify screen.
endloop.
Hope this helps you. Reply for queries, shall post the updates.
Regards.
Kumar
‎2007 May 18 6:45 AM
Hi,
do the follwoing in AT selection-screen output...
use INPUT instaed of ACTIVE
AT SELECTION-SCREEN OUTPUT.
IF block1 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'abc'.
screen-input = 1.
elseIF screen-group1 = 'cdf'.
screen-input = 0.
endif.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
endif.
IF block2 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'cdf'.
screen-input= 1.
elseIF screen-group1 = 'abc'.
screen-input = 0.
endif.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.