Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

disabling block

Former Member
0 Likes
796

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
763

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

6 REPLIES 6
Read only

Former Member
0 Likes
763

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

Read only

Former Member
0 Likes
764

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

Read only

0 Likes
763

thnx nazzer,my code is working now and thnx everyone

Read only

Former Member
0 Likes
763

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.

Read only

Former Member
0 Likes
763

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

Read only

Former Member
0 Likes
763

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.