‎2006 Dec 18 12:18 PM
Dear All,
I am having two Input Parameters ie. Customer Name & Material Description (both with radio buttons). What I want is that if 'Customer Name' radio button is selected than a field should appear which accepts Customer Name. If 'Material Description' radio button is selected then a field should appear which accepts Material Description.
Can anybody help me in this part of code.
Warm Regards,
Nishu
‎2006 Dec 18 12:23 PM
Hi nishu,
PARAMETERS p_Cmat AS CHECKBOX DEFAULT 'X' MODIF ID m1 USER-COMMAND cmd.
PARAMETERS p_matnr LIKE mara-matnr MODIF ID m2.
AT SELECTION-SCREEN OUTPUT.
IF p_cmat EQ 'X'.
LOOP AT screen.
IF screen-group1 = 'M2'.
screen-active = '1'.
ENDIF.
MODIFY screen.
ENDLOOP.
ELSE.
LOOP AT screen.
IF screen-group1 = 'M2'.
screen-active = '0'.
ENDIF.
MODIFY screen.
ENDLOOP.
ENDIF.
Regards
Wenceslaus
‎2006 Dec 18 12:20 PM
Hi Nishu,
Refer sample code:
************************************************************************
Selection Screen Declaration
************************************************************************
Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : rb_pc RADIOBUTTON GROUP r1 DEFAULT 'X'
USER-COMMAND ucomm, "For Presentation
p_f1 LIKE rlgrap-filename
MODIF ID rb1, "Input File
rb_srv RADIOBUTTON GROUP r1, "For Application
p_f2 LIKE rlgrap-filename
MODIF ID rb2, "Input File
p_direct TYPE char128 MODIF ID abc DEFAULT c_path.
"File Directory
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF rb_pc = 'X' AND screen-group1 = 'RB2'.
screen-input = '0'.
MODIFY SCREEN.
ELSEIF rb_srv = 'X' AND screen-group1 = 'RB1'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'ABC'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Reward points if this Helps.
Manish
‎2006 Dec 18 12:23 PM
Hi nishu,
PARAMETERS p_Cmat AS CHECKBOX DEFAULT 'X' MODIF ID m1 USER-COMMAND cmd.
PARAMETERS p_matnr LIKE mara-matnr MODIF ID m2.
AT SELECTION-SCREEN OUTPUT.
IF p_cmat EQ 'X'.
LOOP AT screen.
IF screen-group1 = 'M2'.
screen-active = '1'.
ENDIF.
MODIFY screen.
ENDLOOP.
ELSE.
LOOP AT screen.
IF screen-group1 = 'M2'.
screen-active = '0'.
ENDIF.
MODIFY screen.
ENDLOOP.
ENDIF.
Regards
Wenceslaus
‎2006 Dec 18 12:23 PM
Parameters: c_r1..... modif ID CR1
m_r2 modif ID CR2.
Parameters: p_cust like kna1-kunnr modif ID CN1,
p_mat like mara-matnr modif id MT1.
at selection-screen output.
loop at screen.
if screen-group1 = 'CN1'.
if p_cust = 'X'.
screen-input = '1'.
modify screen.
else.
screen-input = '0'.
modify screen.
endif.
elseif screen-group1 = 'CM1'.
if p_mat = 'X'.
screen-input = '1'.
modify screen.
else.
screen-input = '0'.
modify screen.
endif.
endif.
endloop.
endloop.
‎2006 Dec 18 12:24 PM
HI,
TRY THIS
PARAMETERS : P1 RADIOBUTTON GROUP GR1 DEFAULT 'X' USER-COMMAND ABC,
P2 RADIOBUTTON GROUP GR1.
AT SELECTION-SCREEN OUTPUT.
IF P1 = 'X'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'SELECTOPTION1'.
SCREEN-INVISIBLE = '0'.
SCREEN-ACTIVE = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF P2 = 'X'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'SELECTOPTION2'.
SCREEN-INVISIBLE = '0'.
SCREEN-ACTIVE = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
I THINK THIS WILL HELP U
‎2006 Dec 18 12:28 PM
Hi,
check this....
SELECT-OPTIONS: S_MAKTX FOR MAKT-MAKTX MODIF ID mat,
S_KUNNR FOR KNA1-KUNNR MODIF ID cust.
PARAMETER R_MAKTX RADIOBUTTON GROUP RAD2 USER-COMMAND FLAG. " material
PARAMETER R_KUNNR RADIOBUTTON GROUP RAD2. " Customer
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'CUST'.
screen-invisible = '0'.
MODIFY SCREEN.
ENDIF.
IF r_maktx IS NOT INITIAL.
IF screen-group1 = 'MAT'.
screen-invisible = '1'.
ELSEIF screen-group1 = 'CUST'.
screen-invisible = '0'.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF r_kunnr IS NOT INITIAL.
IF screen-group1 = 'CUST'.
screen-invisible = '1'.
ELSEIF screen-group1 = 'MAT'.
screen-invisible = '0'.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
null
‎2006 Dec 18 12:32 PM
Hi ,
copy & paste this code and check it
*Selection Screen Block for Main Selection
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-100.
PARAMETERS: RAD_CUST RADIOBUTTON GROUP MAIN
MODIF ID AA USER-COMMAND ABC,
RAD_MAT RADIOBUTTON GROUP MAIN MODIF ID AA
DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK B1 .
*Selection Screen Block for Material
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-101.
PARAMETERS: P_MAKT TYPE MAKT-MAKTX MODIF ID BB.
SELECTION-SCREEN END OF BLOCK B2 .
*Selection Screen Block for customer
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-102.
PARAMETERS: P_NAME TYPE KNA1-NAME1 MODIF ID CC.
SELECTION-SCREEN END OF BLOCK B3 .
INITIALIZATION.
*TEXT-100 = 'Main Selection'.
*TEXT-101 = 'Material'.
*TEXT-102 = 'CUSTOMER'.
AT SELECTION-SCREEN OUTPUT .
*Selection by Material
IF RAD_MAT = 'X'.
CLEAR : P_MAKT.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'CC'.
SCREEN-ACTIVE = 0.
SCREEN-INPUT = 0.
ELSE.
SCREEN-ACTIVE = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSE.
CLEAR : P_NAME.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'BB'.
SCREEN-ACTIVE = 0.
SCREEN-INPUT = 0.
ELSE.
SCREEN-ACTIVE = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
Regards,
Raghav
‎2006 Dec 18 12:53 PM
Dear All,
Thanx for your valuable replies.
One more addition is there to this. If Customer Name radio button is selected then Customer Details like City & State will be calculated from table KNA1 & will be displayed in output. And if Material Name radio button is selected then MATNR & MAKTX will be selected from one ZTable & will be displayed in output.
Can anybody help me in this.
Warm Regads,
Nishu
‎2006 Dec 18 1:02 PM
Hi,
TABLES makt.
TABLES kna1.
PARAMETERS p_cmat RADIOBUTTON GROUP r1 DEFAULT 'X' MODIF ID m1 USER-COMMAND cmd.
SELECT-OPTIONS p_maktx FOR makt-maktx MODIF ID m2.
PARAMETERS p_cust RADIOBUTTON GROUP r1 MODIF ID m3.
SELECT-OPTIONS p_kunnr FOR kna1-kunnr MODIF ID m4.
AT SELECTION-SCREEN OUTPUT.
IF p_cmat EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'M2'.
screen-active = '1'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-group1 = 'M2'.
screen-active = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
IF p_cust EQ 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'M4'.
screen-active = '1'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-group1 = 'M4'.
screen-active = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
START-OF-SELECTION.
DATA itab LIKE TABLE OF makt WITH HEADER LINE.
DATA itab1 LIKE TABLE OF kna1 WITH HEADER LINE.
IF p_cmat EQ 'X'.
SELECT * FROM makt
INTO TABLE itab
WHERE maktx IN p_maktx.
LOOP AT itab.
WRITE itab.
ENDLOOP.
ELSE.
SELECT * FROM kna1
INTO TABLE itab1
WHERE kunnr IN p_kunnr.
LOOP AT itab1.
WRITE itab1-kunnr.
ENDLOOP.
ENDIF.
‎2006 Dec 18 12:56 PM
Hi Nishu,
You can write your logic like:
<b>
If rb_customer is not initial.</b>
*Select customer details
<b>Perform get_customer_details. " Get data from KNA1
elseif rb_material is not initial.
Perform get_material_details. " get data from Z table
endif.</b>
Reward points if this Helps.
Manish
Message was edited by:
Manish Kumar
‎2006 Dec 18 12:59 PM
PARAMETERS : r_pc RADIOBUTTON GROUP r1 DEFAULT 'X'
USER-COMMAND ucomm,
p_f1 LIKE rlgrap-filename MODIF ID rb1,
r_srv RADIOBUTTON GROUP r1,
p_f2 LIKE rlgrap-filename MODIF ID rb2,
p_direct TYPE char128 MODIF ID abc DEFAULT c_path.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF r_pc = 'X' AND screen-group1 = 'RB2'.
screen-input = '0'.
MODIFY SCREEN.
ELSEIF r_srv = 'X' AND screen-group1 = 'RB1'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'ABC'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP
‎2006 Dec 20 9:42 AM