‎2007 Oct 30 10:41 AM
Hi all,
I have to make my one block in selection scren invisible based on a particular condition.
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_status FOR g_status NO INTERVALS.
PARAMETERS : p_trans(3) TYPE c,
p_hub(3) TYPE c.
SELECT-OPTIONS: s_auart FOR g_auart.
PARAMETERS: p_buyt(1) TYPE c.
SELECT-OPTIONS:
s_order FOR g_vbeln,
s_zzhrt FOR g_zzhrtosec,
s_vbeln1 FOR g_vbeln1,
s_dccode FOR g_dccode NO INTERVALS,
s_pgi FOR g_pgi.
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
PARAMETERS : p_c1 AS CHECKBOX USER-COMMAND cmd.
SELECT-OPTIONS: s_list FOR g_list NO INTERVALS MODIF ID sc1.
SELECTION-SCREEN END OF BLOCK blk2 .
SELECTION-SCREEN BEGIN OF BLOCK blk3 WITH FRAME TITLE text-003.
PARAMETERS : p_c2 AS CHECKBOX USER-COMMAND cmd2.
SELECT-OPTIONS: s_mail FOR g_mail NO INTERVALS MODIF ID sc2.
PARAMETERS: p_accld LIKE g_saknr DEFAULT '1342009999' MODIF ID sc2
OBLIGATORY,
p_accit LIKE g_saknr DEFAULT '1365009999' MODIF ID sc2
OBLIGATORY,
p_opacc LIKE g_saknr DEFAULT '346100XX99' MODIF ID sc2
OBLIGATORY,
p_lmacc LIKE g_saknr DEFAULT '1393009999' MODIF ID sc2
OBLIGATORY,
p_lmopa LIKE g_saknr DEFAULT '3471009999' MODIF ID sc2
OBLIGATORY.
SELECTION-SCREEN END OF BLOCK blk3.
The block 3 'blk3' should be made invisible based on a condition.
I have tried loop at screen-name but its not working.
Kindly advice.
Thanks and Regards,
Divya
‎2007 Oct 30 10:44 AM
PARAMETERS : CHK AS CHECKBOX USER-COMMAND ABC.
*--------------- Block 1
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME .
PARAMETERS : A(10) TYPE C MODIF ID BK1.
SELECTION-SCREEN END OF BLOCK B1.
*--------------- Block 2
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME .
PARAMETERS : B(10) TYPE C MODIF ID BK2.
PARAMETERS : C(10) TYPE C MODIF ID BK2.
PARAMETERS : D(10) TYPE C MODIF ID BK2.
SELECTION-SCREEN END OF BLOCK B2.
*----------------------------------
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF CHK = 'X'.
IF SCREEN-GROUP1 = 'BK1'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF CHK IS INITIAL.
IF SCREEN-GROUP1 = 'BK2'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
Message was edited by:
Perez C
‎2007 Oct 30 10:43 AM
For your conditions make the field attribute active as 0.
loop at screen.
screen-active = 0.
update screen.
endloop.
‎2007 Oct 30 10:44 AM
PARAMETERS : CHK AS CHECKBOX USER-COMMAND ABC.
*--------------- Block 1
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME .
PARAMETERS : A(10) TYPE C MODIF ID BK1.
SELECTION-SCREEN END OF BLOCK B1.
*--------------- Block 2
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME .
PARAMETERS : B(10) TYPE C MODIF ID BK2.
PARAMETERS : C(10) TYPE C MODIF ID BK2.
PARAMETERS : D(10) TYPE C MODIF ID BK2.
SELECTION-SCREEN END OF BLOCK B2.
*----------------------------------
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF CHK = 'X'.
IF SCREEN-GROUP1 = 'BK1'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF CHK IS INITIAL.
IF SCREEN-GROUP1 = 'BK2'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
Message was edited by:
Perez C
‎2007 Oct 30 10:45 AM
Hi,
Define the MODIF ID for all select-options and parameters within the block, then turn them off for that group.
selection-screen begin of block b1.
select-options s_datum for sy-datum. modif id CHK.
parameters: p_datum type sy-datum modif id CHK.
selection-screen end of block b1.
at selection-screen output.
loop at screen.
if screen-group1 = 'CHK'.
<b> screen-invisible = '1'.</b>
modify screen.
endif.
endloop.
You also have help on this link. an exisintg topic.
Hope this helps.
Reward if helpful.
Regards,
Guru
‎2007 Oct 30 10:47 AM
Hi..
Try this...
SELECTION-SCREEN BEGIN OF BLOCK blk3 WITH FRAME TITLE text-003.
PARAMETERS : p_c2 AS CHECKBOX USER-COMMAND cmd2.
SELECT-OPTIONS: s_mail FOR g_mail NO INTERVALS MODIF ID sc2.
PARAMETERS: p_accld LIKE g_saknr DEFAULT '1342009999' MODIF ID sc2
OBLIGATORY,
p_accit LIKE g_saknr DEFAULT '1365009999' MODIF ID sc2
OBLIGATORY,
p_opacc LIKE g_saknr DEFAULT '346100XX99' MODIF ID sc2
OBLIGATORY,
p_lmacc LIKE g_saknr DEFAULT '1393009999' MODIF ID sc2
OBLIGATORY,
p_lmopa LIKE g_saknr DEFAULT '3471009999' MODIF ID sc2
OBLIGATORY.
SELECTION-SCREEN END OF BLOCK blk3.
<b>AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF CHK = 'X'.
IF SCREEN-GROUP1 = 'SC2'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.</b>
reward if Helpful.
‎2007 Oct 30 10:51 AM
Hi Divya,
Try this.
SELECTION-SCREEN BEGIN OF BLOCK blk3 WITH FRAME TITLE text-003.
PARAMETERS : p_c2 AS CHECKBOX USER-COMMAND cmd2.
SELECT-OPTIONS: s_mail FOR g_mail NO INTERVALS MODIF ID sc2.
PARAMETERS: p_accld LIKE g_saknr DEFAULT '1342009999' MODIF ID sc2
OBLIGATORY,
p_accit LIKE g_saknr DEFAULT '1365009999' MODIF ID sc2
OBLIGATORY,
p_opacc LIKE g_saknr DEFAULT '346100XX99' MODIF ID sc2
OBLIGATORY,
p_lmacc LIKE g_saknr DEFAULT '1393009999' MODIF ID sc2
OBLIGATORY,
p_lmopa LIKE g_saknr DEFAULT '3471009999' MODIF ID sc2
OBLIGATORY.
SELECTION-SCREEN END OF BLOCK blk3.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF CHK = 'X' and
SCREEN-GROUP1 = 'SC2'.
SCREEN-INVISIBLE = 1.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Reward If Useful.
Regards,
Chitra.
‎2007 Oct 30 10:52 AM
Hi Divya,
Check the below code.
tables: pa0000, pa0001.
parameters: p_chk1 as checkbox user-command rusr,
p_chk2 as checkbox user-command rusr,
p_chk3 as checkbox user-command rusr,
p_chk4 as checkbox user-command rusr,
p_chk5 as checkbox user-command rusr.
selection-screen: begin of block blk1 with frame.
select-options: s_pernr for pa0000-pernr modif id ABC,
s_stat2 for pa0000-stat2 modif id DEF,
s_werks for pa0001-werks modif id GHI,
s_persg for pa0001-persg modif id JKL,
s_persk for pa0001-persk modif id MNO.
selection-screen: end of block blk1.
AT SELECTION-SCREEN output.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'ABC'.
IF p_chk1 = 'X'.
SCREEN-ACTIVE = 1.
ELSE.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'DEF'.
IF p_chk2 = 'X'.
SCREEN-ACTIVE = 1.
ELSE.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'GHI'.
IF p_chk3 = 'X'.
SCREEN-ACTIVE = 1.
ELSE.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'JKL'.
IF p_chk4 = 'X'.
SCREEN-ACTIVE = 1.
ELSE.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF SCREEN-GROUP1 = 'MNO'.
IF p_chk5 = 'X'.
SCREEN-ACTIVE = 1.
ELSE.
SCREEN-ACTIVE = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
*************************************
*Note
*Titles for check boxes and select options
*P_CHK1 Personal Number
*P_CHK2 Employment Status
*P_CHK3 Personnel Area
*P_CHK4 Employee Group
*P_CHK5 Employee Sub group
*S_PERNR Personal Number
*S_PERSG Employee Group
*S_PERSK Employee Sub group
*S_STAT2 Employment Status
*S_WERKS Personnel Area