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

LOOP AT SCREEN

Former Member
0 Likes
877

hi experts,

i have made one selection screen.m sending you the code of mine.my requirement is such that..there are around 8 radiobuttons with their corresponding select-options.now user wants if he clicks on to one radiobutton then some of radiobuttons with there corresponding select-options become invisible and vice versa..it will be more clear to you when u people study my code..plz help me..or send me some related code with same kind of requirement.

TABLES: BSIK,BSAK,BSIS,BSAS,VBRP,VBRK,KNA1,KONV,BKPF,SKAT,BSEG,T171T,KNVP.

SELECTION-SCREEN BEGIN OF BLOCK RAMAN WITH FRAME TITLE TEXT-100.

PARAMETER BUKRS TYPE BSIK-BUKRS OBLIGATORY.

SELECT-OPTIONS POSTDAT FOR BSIK-BUDAT.

SELECTION-SCREEN END OF BLOCK RAMAN.

SELECTION-SCREEN BEGIN OF BLOCK RAMAN1 WITH FRAME TITLE TEXT-200.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: CREDIT RADIOBUTTON GROUP R.

SELECTION-SCREEN COMMENT 5(20) TEXT-007.

PARAMETERS: DEBIT RADIOBUTTON GROUP R.

SELECTION-SCREEN COMMENT 30(20) TEXT-008.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK RAMAN1.

SELECTION-SCREEN BEGIN OF BLOCK RAMAN0 WITH FRAME TITLE TEXT-500.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETER CHECK1 RADIOBUTTON GROUP J DEFAULT 'X' USER-COMMAND ABC.

SELECTION-SCREEN COMMENT 5(18) TEXT-012 MODIF ID C1.

PARAMETER CHECK2 RADIOBUTTON GROUP J.

SELECTION-SCREEN COMMENT 27(18) TEXT-013 MODIF ID C2.

SELECTION-SCREEN END OF LINE.

*SELECTION-SCREEN END OF BLOCK RAMAN0.

*SELECTION-SCREEN BEGIN OF BLOCK RAMAN2 WITH FRAME TITLE TEXT-105.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETER CUSTOMER RADIOBUTTON GROUP J. " DEFAULT 'X' USER-COMMAND ABC.

SELECTION-SCREEN COMMENT 5(18) TEXT.

SELECT-OPTIONS CUST FOR KNA1-KUNNR MODIF ID CS.

*PARAMETER VENDOR RADIOBUTTON GROUP G.

*SELECTION-SCREEN COMMENT 5(10) TEXT1.

*SELECT-OPTIONS VEND FOR BSIK-LIFNR MODIF ID VD.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETER STATE RADIOBUTTON GROUP J. " DEFAULT 'X' USER-COMMAND ABC.

SELECTION-SCREEN COMMENT 5(18) TEXT-001.

SELECT-OPTIONS REGIO FOR T171T-BZIRK MODIF ID RE .

*PARAMETER VSTATE RADIOBUTTON GROUP G.

*SELECTION-SCREEN COMMENT 5(10) TEXT-005.

*SELECT-OPTIONS VREGIO FOR T171T-BZIRK.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETER SO RADIOBUTTON GROUP J. " DEFAULT 'X' USER-COMMAND ABC.

SELECTION-SCREEN COMMENT 5(18) TEXT-002.

SELECT-OPTIONS KUNNSO FOR KNA1-KUNNR MODIF ID SO .

*PARAMETER PO RADIOBUTTON GROUP G.

*SELECTION-SCREEN COMMENT 5(10) TEXT-006.

*SELECT-OPTIONS KUNNPO FOR BSIK-LIFNR MODIF ID VD.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETER AM RADIOBUTTON GROUP J. " DEFAULT 'X' USER-COMMAND ABC.

SELECTION-SCREEN COMMENT 5(18) TEXT-003.

SELECT-OPTIONS KUNNAM FOR KNA1-KUNNR MODIF ID AM .

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETER RM RADIOBUTTON GROUP J. " DEFAULT 'X' USER-COMMAND ABC.

SELECTION-SCREEN COMMENT 5(18) TEXT-004.

SELECT-OPTIONS KUNNRM FOR KNA1-KUNNR MODIF ID RM .

SELECTION-SCREEN END OF LINE.

*SELECTION-SCREEN END OF BLOCK RAMAN2.

*SELECTION-SCREEN BEGIN OF BLOCK RAMAN4 WITH FRAME TITLE TEXT-101.

*

SELECTION-SCREEN BEGIN OF LINE.

PARAMETER VENDOR RADIOBUTTON GROUP J.

SELECTION-SCREEN COMMENT 5(18) TEXT1.

SELECT-OPTIONS VEND FOR BSIK-LIFNR MODIF ID VD.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETER VSTATE RADIOBUTTON GROUP J.

SELECTION-SCREEN COMMENT 5(18) TEXT-005.

SELECT-OPTIONS VREGIO FOR T171T-BZIRK MODIF ID VRE.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETER PO RADIOBUTTON GROUP J.

SELECTION-SCREEN COMMENT 5(18) TEXT-006.

SELECT-OPTIONS KUNNPO FOR BSIK-LIFNR MODIF ID PO.

SELECTION-SCREEN END OF LINE.

*

SELECTION-SCREEN END OF BLOCK RAMAN0.

SELECTION-SCREEN BEGIN OF BLOCK RAMAN3 WITH FRAME TITLE TEXT-102..

SELECTION-SCREEN BEGIN OF LINE.

PARAMETER SD RADIOBUTTON GROUP H .

SELECTION-SCREEN COMMENT 5(5) TEXT-009.

PARAMETER FI RADIOBUTTON GROUP H.

SELECTION-SCREEN COMMENT 15(5) TEXT-010.

PARAMETER ALL RADIOBUTTON GROUP H.

SELECTION-SCREEN COMMENT 25(5) TEXT-011.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK RAMAN3.

AT SELECTION-SCREEN OUTPUT.

TEXT = 'CUSTOMER'.

TEXT1 = 'VENDOR'.

LOOP AT SCREEN.

IF CHECK1 = 'X'.

IF SCREEN-GROUP1 = 'VD' OR SCREEN-GROUP1 = 'VRE' OR SCREEN-GROUP1 = 'PO'.

SCREEN-INVISIBLE = 0.

ELSEIF SCREEN-GROUP1 = 'C1'.

FREE: CUST,KUNNSO,KUNNAM,KUNNRM,REGIO.

SCREEN-INVISIBLE = 1.

ENDIF.

ELSEIF CHECK2 = 'X'.

IF SCREEN-GROUP1 = 'CS' OR SCREEN-GROUP1 = 'RE' OR SCREEN-GROUP1 = 'SO' OR SCREEN-GROUP1 = 'AM' OR SCREEN-GROUP1 = 'RM'.

SCREEN-INVISIBLE = 0.

ELSEIF SCREEN-GROUP1 = 'C2'.

FREE: VEND,KUNNPO,VREGIO.

SCREEN-INVISIBLE = 1.

ENDIF.

ENDIF.

ENDLOOP.

7 REPLIES 7
Read only

Former Member
0 Likes
803

Hi,

Refer this sample code below.

SELECTION-SCREEN BEGIN OF BLOCK zb3 WITH FRAME TITLE text-z03.

PARAMETERS:p_rb1 RADIOBUTTON GROUP rg1 DEFAULT 'X' USER-COMMAND select,

p_rb2 RADIOBUTTON GROUP rg1,

p_rb3 RADIOBUTTON GROUP rg1 .

SELECTION-SCREEN END OF BLOCK zb3.

SELECTION-SCREEN BEGIN OF BLOCK zb1 WITH FRAME TITLE text-z01.

SELECT-OPTIONS s_ktokd FOR kna1-ktokd MODIF ID sc1.

PARAMETERS p_vkorg LIKE knvv-vkorg MODIF ID sc2.

PARAMETERS p_vtweg LIKE knvv-vtweg MODIF ID sc2.

SELECT-OPTIONS selkunnr FOR kna1-kunnr MATCHCODE OBJECT debi.

SELECT-OPTIONS s_bukrs FOR knb1-bukrs MODIF ID sc3.

INITIALIZATION.

CLEAR: selkunnr,s_ktokd,p_vkorg,p_vtweg,s_bukrs.

AT SELECTION-SCREEN.

IF sy-ucomm EQ 'ONLI' AND p_folder IS INITIAL.

MESSAGE e001(vl) WITH text-002.

ENDIF.

AT SELECTION-SCREEN OUTPUT.

IF p_rb1 = 'X'.

LOOP AT SCREEN.

IF screen-group1 = 'SC2' .

screen-active = 0.

MODIFY SCREEN.

CONTINUE.

ENDIF.

IF screen-group1 = 'SC3'.

screen-active = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ELSEIF p_rb2 = 'X'.

LOOP AT SCREEN.

IF screen-group1 = 'SC1'.

screen-active = 0.

MODIFY SCREEN.

CONTINUE.

ENDIF.

IF screen-group1 = 'SC2'.

screen-active = 1.

MODIFY SCREEN.

CONTINUE.

ENDIF.

IF screen-group1 = 'SC3'.

screen-active = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ELSE.

LOOP AT SCREEN.

IF screen-group1 = 'SC1'.

screen-active = 0.

MODIFY SCREEN.

CONTINUE.

ENDIF.

IF screen-group1 = 'SC2'.

screen-active = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

Reward Points if useful.

Regards

rose

Read only

Former Member
0 Likes
803

Hi,

See my simple code and change accordingly..

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

**--parameters

PARAMETERS : p_add RADIOBUTTON GROUP radi USER-COMMAND radio,

p_chng RADIOBUTTON GROUP radi.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.

**--select options

SELECT-OPTIONS :

s_idn FOR ws_c_vendor MODIF ID mod,

s_pcode FOR ws_c_pcode MODIF ID mod,

p_plant LIKE zaw_pol_plan-plant MODIF ID rad,

p_zzvend LIKE zaw_pol_plan-zzvendor MODIF ID rad.

SELECTION-SCREEN END OF BLOCK b2.

AT SELECTION-SCREEN OUTPUT.

IF p_DISP EQ 'X'.

**Disable and enabling the screen fields dynamically

LOOP AT SCREEN.

IF screen-group1 EQ 'MOD'.

screen-active = 1.

MODIFY SCREEN.

ENDIF.

IF screen-group1 EQ 'RAD'.

screen-active = 0.

MODIFY SCREEN.

ENDIF.

ELSE.

LOOP AT SCREEN.

IF screen-group1 EQ 'MOD'.

screen-active = 0.

MODIFY SCREEN.

ENDIF.

IF screen-group1 EQ 'RAD'.

screen-active = 1.

MODIFY SCREEN.

ENDIF.

ENDIF.

ENDLOOP.

Read only

Former Member
0 Likes
803

Hi Raman,

To make a screen visible and invisible you have to manipulate the field 'ACTIVE'

ie

instead of SCREEN-INVISIBLE = 0.

use SCREEN-ACTIVE = 1. (this will make sceen visible)

Rewards points if useful

Thanks Arjun

Read only

Former Member
0 Likes
803

hi,

I checkeed at your code it seems you have taken the sy-ucomm values ABc which are required to change the screen as per radiobutton correctly.

also you have selected correct event for screen processing i. at selection screen output.

i dont think so therse is anything wrong. just you need to right the if else conditons aorrectly as per your trequirement in at selection screen output.

write below code..

loop at screen.

if screen-group = 'TEST'

screen-invisible = '1'.

screen-input = '0'.

modify screen.

elseif.....

and so on..

....

Dont forget to modify the sctreen each time. rest code looks great....

Read only

Former Member
0 Likes
803

Try using


screen-active = 0 instead of screen-invisible = 0.
screen-active = 1 instead of screen-invisible = 1.

Also add modify screen within LOOP AT SCREEN... ENDLOOP.


LOOP AT SCREEN.
  <set of stmts>
  MODIFY SCREEN.
ENDLOOP.

Hope this helps.

Thanks,

Balaji

Read only

Former Member
0 Likes
803

hi raman,

this is the code for test report and u do like this. i had seen ur code but there is no check boxes provided and there is no groups u specified ....please check my code and do like this...

REPORT ZVENKATTEST0.

TABLES:MARA.

SELECT-OPTIONS:S_TEST1 FOR MARA-MATNR MODIF ID M1 ,

S_TEST2 FOR MARA-MEINS MODIF ID M2 .

PARAMETERS:P_RAD1 RADIOBUTTON GROUP G1 USER-COMMAND UC1 DEFAULT 'X',

P_RAD2 RADIOBUTTON GROUP G1 ,

P_RAD3 RADIOBUTTON GROUP G1 .

AT SELECTION-SCREEN OUTPUT .

LOOP AT SCREEN.

IF P_RAD1 = 'X'.

IF SCREEN-NAME = 'S_TEST1-LOW' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST1-HIGH' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST2-LOW' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST2-HIGH' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

ENDIF.

IF P_RAD2 = 'X'.

IF SCREEN-NAME = 'S_TEST1-LOW' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST1-HIGH' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

ENDIF.

IF P_RAD3 = 'X'.

IF SCREEN-NAME = 'S_TEST2-LOW' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

IF SCREEN-NAME = 'S_TEST2-HIGH' .

SCREEN-INPUT = '0'.

MODIFY SCREEN.

ENDIF.

ENDIF.

ENDLOOP.

regards,

venkat.

Read only

Former Member
0 Likes
803

Hi,

According to your code, which fields you dont want , when you select a button. Also specify the buttons as well so that, we can make the appropriate changes in your code itself.

Regards.