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

selection screen

Former Member
0 Likes
665

hi abapers,

on the selection-screen, i have taken two radiobuttons

1 material

2 customer

...and if i select material radiobuttons,on the selection-screen MATNR field should be displayed, on the other hand, if i select customer,on the selection-screen KUNNR should be displayed, but both should not displayed at the same time,and both the fields should be on select-options not on parameters.

thanks& regards,

kcc

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
613

Hello,

use this program RSDEMO_EVENT_ON_FIELD as an example.

See this is the below custom developed code

TABLES : likp,vttk,

kna1 .

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

SELECT-OPTIONS: so_erdat FOR vttk-erdat

MODIF ID md2. "creation date

SELECTION-SCREEN END OF BLOCK b1.

  • radio buttons to select the output list...

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

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: p_list1 RADIOBUTTON GROUP rad1 USER-COMMAND cond1

DEFAULT 'X'. "list1

SELECTION-SCREEN COMMENT 4(55) text-005 FOR FIELD p_list1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: p_list2 RADIOBUTTON GROUP rad1. "list2

SELECTION-SCREEN COMMENT 4(75) text-006 FOR FIELD p_list2.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: p_list3 RADIOBUTTON GROUP rad1. "list3

SELECTION-SCREEN COMMENT 4(55) text-007 FOR FIELD p_list3.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: p_list4 RADIOBUTTON GROUP rad1. "list4

SELECTION-SCREEN COMMENT 4(75) text-008 FOR FIELD p_list4.

SELECTION-SCREEN END OF LINE.

*{insert 0002 start.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: p_list5 RADIOBUTTON GROUP rad1. "list5

SELECTION-SCREEN COMMENT 4(75) text-009 FOR FIELD p_list5.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: p_list6 RADIOBUTTON GROUP rad1. "list6

SELECTION-SCREEN COMMENT 4(75) text-010 FOR FIELD p_list6.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN SKIP.

SELECT-OPTIONS: so_land1 FOR kna1-land1 DEFAULT 'DE' SIGN E.

SELECT-OPTIONS : so_vstel for likp-vstel.

SELECT-OPTIONS : so_tplst for vttk-tplst.

*}insert 0002 end.

SELECTION-SCREEN END OF BLOCK b2.

AT selection-screen output.

LOOP AT SCREEN.

IF screen-name CS 'SO_LAND1'.

IF p_list1 EQ 'X'

OR p_list2 EQ 'X'

OR p_list3 EQ 'X'

OR p_list4 EQ 'X'.

screen-input = 0.

screen-output = 0.

screen-active = 0.

ENDIF.

MODIFY SCREEN.

ENDIF.

IF screen-name CS 'SO_VSTEL'.

IF p_list3 EQ 'X'

OR p_list4 EQ 'X'

OR p_list5 EQ 'X'

OR p_list6 EQ 'X'.

screen-input = 0.

screen-output = 0.

screen-active = 0.

ENDIF.

Reward if helps.

Thanks,

krishna

Message was edited by: Krishnakumar

7 REPLIES 7
Read only

Former Member
0 Likes
614

Hello,

use this program RSDEMO_EVENT_ON_FIELD as an example.

See this is the below custom developed code

TABLES : likp,vttk,

kna1 .

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

SELECT-OPTIONS: so_erdat FOR vttk-erdat

MODIF ID md2. "creation date

SELECTION-SCREEN END OF BLOCK b1.

  • radio buttons to select the output list...

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

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: p_list1 RADIOBUTTON GROUP rad1 USER-COMMAND cond1

DEFAULT 'X'. "list1

SELECTION-SCREEN COMMENT 4(55) text-005 FOR FIELD p_list1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: p_list2 RADIOBUTTON GROUP rad1. "list2

SELECTION-SCREEN COMMENT 4(75) text-006 FOR FIELD p_list2.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: p_list3 RADIOBUTTON GROUP rad1. "list3

SELECTION-SCREEN COMMENT 4(55) text-007 FOR FIELD p_list3.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: p_list4 RADIOBUTTON GROUP rad1. "list4

SELECTION-SCREEN COMMENT 4(75) text-008 FOR FIELD p_list4.

SELECTION-SCREEN END OF LINE.

*{insert 0002 start.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: p_list5 RADIOBUTTON GROUP rad1. "list5

SELECTION-SCREEN COMMENT 4(75) text-009 FOR FIELD p_list5.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: p_list6 RADIOBUTTON GROUP rad1. "list6

SELECTION-SCREEN COMMENT 4(75) text-010 FOR FIELD p_list6.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN SKIP.

SELECT-OPTIONS: so_land1 FOR kna1-land1 DEFAULT 'DE' SIGN E.

SELECT-OPTIONS : so_vstel for likp-vstel.

SELECT-OPTIONS : so_tplst for vttk-tplst.

*}insert 0002 end.

SELECTION-SCREEN END OF BLOCK b2.

AT selection-screen output.

LOOP AT SCREEN.

IF screen-name CS 'SO_LAND1'.

IF p_list1 EQ 'X'

OR p_list2 EQ 'X'

OR p_list3 EQ 'X'

OR p_list4 EQ 'X'.

screen-input = 0.

screen-output = 0.

screen-active = 0.

ENDIF.

MODIFY SCREEN.

ENDIF.

IF screen-name CS 'SO_VSTEL'.

IF p_list3 EQ 'X'

OR p_list4 EQ 'X'

OR p_list5 EQ 'X'

OR p_list6 EQ 'X'.

screen-input = 0.

screen-output = 0.

screen-active = 0.

ENDIF.

Reward if helps.

Thanks,

krishna

Message was edited by: Krishnakumar

Read only

Former Member
0 Likes
613

Try the code below:

REPORT zkartest.

TABLES: kna1, mara.

PARAMETERS: mat RADIOBUTTON GROUP rg1 USER-COMMAND cb1,

kun RADIOBUTTON GROUP rg1.

SELECTION-SCREEN BEGIN OF SCREEN 500.

SELECT-OPTIONS: matnr FOR mara-matnr.

SELECTION-SCREEN END OF SCREEN 500.

SELECTION-SCREEN BEGIN OF SCREEN 501.

SELECT-OPTIONS: kunnr FOR kna1-kunnr.

SELECTION-SCREEN END OF SCREEN 501.

AT SELECTION-SCREEN.

IF sy-ucomm = 'CB1'.

IF mat = 'X'.

CALL SELECTION-SCREEN '0500' STARTING AT 10 10.

ELSEIF kun = 'X'.

CALL SELECTION-SCREEN '0501' STARTING AT 10 10.

ENDIF.

ENDIF.

-Kiran

Read only

Former Member
0 Likes
613

if r_matrl = 'X'.

loop at screen.

if screen-name <> 'S_KUNNR'.

screen-input = '0'.

modify screen.

endif.

endloop.

ENDIF.

if r_KUNNR = 'X'.

loop at screen.

if screen-name <> 'S_MATNR'.

screen-input = '0'.

modify screen.

endif.

endloop.

ENDIF.

Read only

Former Member
0 Likes
613
REPORT YCHATEST.

TABLES : MARA , KNA1.

PARAMETERS : MAT RADIOBUTTON GROUP RAD USER-COMMAND R default 'X',
             CUS RADIOBUTTON GROUP RAD.

DATA : FLAG TYPE I value 1,
       FLAG1 TYPE I  value 0.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR MODIF ID MA,
                S_KUNNR FOR KNA1-KUNNR MODIF ID CU.
SELECTION-SCREEN END OF BLOCK B1.

AT SELECTION-SCREEN.
IF SY-UCOMM = 'R'.
  IF MAT = 'X'.
    FLAG = 1.
    FLAG1 = 0.
  ELSEIF CUS = 'X'.
    FLAG = 0.
    FLAG1 = 1.
  ENDIF.
ENDIF.

AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF SCREEN-GROUP1 = 'MA'.
      SCREEN-INPUT = FLAG.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

  LOOP AT SCREEN.
    IF SCREEN-GROUP1 = 'CU'.
      SCREEN-INPUT = FLAG1.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.
Read only

Former Member
0 Likes
613

Hi,

you can use this PGm for your reference.

TABLES: mara,ekko.

SELECTION-SCREEN begin of line .

PARAMETERS: rad1 RADIOBUTTON GROUP grp1.

SELECT-OPTIONS: date FOR mara-matnr MODIF ID mo1.

SELECTION-SCREEN end of line .

SELECTION-SCREEN begin of line .

PARAMETERS: rad2 RADIOBUTTON GROUP grp1.

SELECT-OPTIONS: date1 FOR mara-matnr MODIF ID mo1.

SELECTION-SCREEN end of line .

AT SELECTION-SCREEN OUTPUT.

IF rad2 = 'X'.

LOOP

AT SCREEN. IF screen-name = 'DATE-LOW' OR screen-name =

'DATE-HIGH'. screen-input = 0. MODIFY SCREEN. ENDIF.

ENDLOOP. ENDIF.

IF rad1 = 'X'.

LOOP

AT SCREEN. IF screen-name = 'DATE1-LOW' OR screen-name =

'DATE1-HIGH'. screen-input = 0. MODIFY SCREEN. ENDIF.

ENDLOOP. ENDIF.

Regards,

Sumit.

Read only

Former Member
0 Likes
613

HI

GOOD

YOU CAN USE IS USING THE IF ....ENDIF STATEMENT

STORE THE CHECK BOX VALUE IN A VARIABLE AS 'X'.

IF X IS TRUE

DO THE JOB

ELSE

DO THE JOB

THANKS

MRUTYUN

Read only

Former Member
0 Likes
613

Hi,

This satisfies your requirement.


REPORT zztest.
TABLES : mara, kna1.

PARAMETERS : cust  RADIOBUTTON GROUP abc <b>USER-COMMAND abc</b>,
             mat   RADIOBUTTON GROUP abc.

SELECTION-SCREEN BEGIN OF SCREEN 2000.
SELECT-OPTIONS : matnr FOR mara-matnr.
SELECTION-SCREEN END OF SCREEN 2000.

SELECTION-SCREEN BEGIN OF SCREEN 3000.
SELECT-OPTIONS : customer FOR kna1-kunnr.
SELECTION-SCREEN END OF SCREEN 3000.


AT SELECTION-SCREEN.

  <b>IF sy-ucomm EQ 'ABC'</b>.
    IF cust IS NOT INITIAL.

      CALL SELECTION-SCREEN 3000.

    ELSEIF  mat IS NOT INITIAL.

      CALL SELECTION-SCREEN 2000.

    ENDIF.

  ENDIF.

Regards,

Arun Sambargi.