05-26-2006 3:32 AM
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.
05-26-2006 5:33 AM
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
05-26-2006 3:56 AM
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
05-26-2006 4:05 AM
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.
05-26-2006 5:33 AM
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