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

Select Options

Former Member
0 Likes
1,031

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,000

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

11 REPLIES 11
Read only

Former Member
0 Likes
1,000

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

Read only

Former Member
0 Likes
1,001

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

Read only

Former Member
0 Likes
1,000

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.

Read only

Former Member
0 Likes
1,000

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

Read only

Former Member
0 Likes
1,000

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

Read only

Former Member
0 Likes
1,000

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

Read only

Former Member
0 Likes
1,000

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

Read only

0 Likes
1,000

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.

Read only

Former Member
0 Likes
1,000

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

Read only

Former Member
0 Likes
1,000

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

Read only

Former Member
0 Likes
1,000

done