Application Development 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: 

parameter is functional/ not functional based from radiobutton

aris_hidalgo
Contributor
0 Kudos

Hello experts,

Based from the code below, How can I make the parameter 'p_code' accept input only if the user clicks on the pr_edit button? I asked this yesterday but that was a different program. Again, thank you guys and take care!

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

PARAMETERS: pr_upld RADIOBUTTON GROUP grp MODIF ID id3.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 03(30) text-a11 FOR FIELD p_flnme MODIF ID id3.

PARAMETERS: p_flnme LIKE rlgrap-filename DEFAULT 'C:\' MODIF ID id3.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 1(32) text-002 FOR FIELD p_dcode MODIF ID id1.

PARAMETERS: p_dcode LIKE vbak-kunnr MODIF ID id1,

p_name1 LIKE kna1-name1 MODIF ID id1.

SELECTION-SCREEN END OF LINE.

PARAMETERS: pr_list RADIOBUTTON GROUP grp MODIF ID id4,

pr_add RADIOBUTTON GROUP grp MODIF ID id2,

pr_edit RADIOBUTTON GROUP grp MODIF ID id5.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT 03(30) text-a12 FOR FIELD p_code MODIF ID id2.

*PARAMETERS: p_kunnr LIKE zts0001-kunnr.

PARAMETERS: p_code LIKE zts0001-cdseq MODIF ID id6.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK box1.

*----


AT SELECTION-SCREEN OUTPUT.

*----


SELECT SINGLE kunnr comp_flag INTO (gc_kunnr,v_compflag)

FROM zsoemailid

WHERE bname = sy-uname.

IF v_compflag EQ space.

LOOP AT SCREEN.

IF screen-group1 = 'ID1'.

screen-input = '0'.

screen-output = '1'.

MODIFY SCREEN.

ELSEIF screen-group1 = 'ID2'.

screen-active = '1'.

MODIFY SCREEN.

ELSEIF screen-group1 = 'ID3'.

screen-active = '0'.

MODIFY SCREEN.

ELSEIF screen-group1 = 'ID4'.

screen-active = '1'.

MODIFY SCREEN.

ELSEIF screen-group1 = 'ID5'.

screen-active = '1'.

MODIFY SCREEN.

ELSEIF screen-group1 = 'ID6'.

screen-active = '1' .

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ELSEIF v_compflag NE space.

LOOP AT SCREEN.

IF screen-group1 = 'ID1'.

screen-active = '0'.

MODIFY SCREEN.

ELSEIF screen-group1 = 'ID2'.

screen-active = '0'.

MODIFY SCREEN.

ELSEIF screen-group1 = 'ID3'.

screen-active = '1'.

MODIFY SCREEN.

ELSEIF screen-group1 = 'ID4'.

screen-active = '1'.

MODIFY SCREEN.

ELSEIF screen-group1 = 'ID5'.

screen-active = '0'.

MODIFY SCREEN.

ELSEIF screen-group1 = 'ID6'.

screen-active = '0'.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

Copy paste this code and execute:

PARAMETERS edit radiobutton group g1 USER-COMMAND flag.
PARAMETERS noedit radiobutton group g1 default 'X'.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: 	p1(10) TYPE c.
SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.

PARAMETERS: p4(10) TYPE c modif id bl2.
SELECTION-SCREEN END OF BLOCK b2.

AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF edit <> 'X' AND
screen-group1 = 'BL2'.
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
endloop.

I Hope this is your requirement.

Regards,

Anjali

3 REPLIES 3

suresh_datti
Active Contributor
0 Kudos

Add this code to the AT SELECTION-SCREEN OUTPUT block.


if pr_edit eq space.
loop at screen.
case screen-name.
when 'P_CODE'.
screen-input = 0.
modify screen.
endcase.
endif.

Regards,

Suresh Datti

hymavathi_oruganti
Active Contributor
0 Kudos

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = 'ID5'.

IF SCREEN-NAME = 'P_CODE'.

SCREEN-INPUT = 1.

ELSE.

SCREEN-INPUT = 0.

ELSE.

IF SCREEN-NAME = 'P_CODE'.

SCREEN-INPUT = 0.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

Former Member
0 Kudos

Hi,

Copy paste this code and execute:

PARAMETERS edit radiobutton group g1 USER-COMMAND flag.
PARAMETERS noedit radiobutton group g1 default 'X'.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: 	p1(10) TYPE c.
SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.

PARAMETERS: p4(10) TYPE c modif id bl2.
SELECTION-SCREEN END OF BLOCK b2.

AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF edit <> 'X' AND
screen-group1 = 'BL2'.
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
endloop.

I Hope this is your requirement.

Regards,

Anjali