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 TROUBLE

Former Member
0 Likes
642

I have two t-codes

z_a and a_b

and a select-options field , if z_a is run the selection options must be no-intervals , no extension. and be normal when z_b is run , is this possible in

"at selection-screen output" .

THanks

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
603

Check the below code...

RANGES : r_date FOR sy-datum.

DATA : l_id(3).

SELECT-OPTIONS : p_date1 FOR sy-datum MODIF ID tc1.

SELECT-OPTIONS : p_date2 FOR sy-datum NO INTERVALS

NO-EXTENSION

MODIF ID tc2.

INITIALIZATION.

IF sy-tcode = 'TCODE2'.

l_id = 'TC1'. " To Hide P_DATE1

ELSE.

l_id = 'TC2'. " To hIDE P_DATE2

ENDIF.

AT SELECTION-SCREEN OUTPUT.

  • If Tcode2 is selected date1 will be invisible else date2

LOOP AT SCREEN.

IF screen-group1 EQ l_id.

screen-input = 0.

screen-invisible = 1.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

START-OF-SELECTION.

IF l_id = 'TC1'. " Tcode 2 selected

r_date[] = p_date2[]. " populate date2

ELSE.

r_date[] = p_date1[]. " populate date 1

ENDIF.

  • use R_DATE in the program <REMOVED BY MODERATOR>

Edited by: Alvaro Tejada Galindo on Apr 25, 2008 5:58 PM

I have two t-codes

z_a and a_b

and a select-options field , if z_a is run the selection options must be no-intervals , no extension. and be normal when z_b is run , is this possible in

"at selection-screen output" .

THanks

4 REPLIES 4
Read only

Former Member
0 Likes
603

Hello,

You can do the following:


TYPES:
  ty_r_carrid TYPE RANGE OF sflight-carrid.

TABLES: sflight.

DATA: lt_sflight TYPE STANDARD TABLE OF sflight.

FIELD-SYMBOLS: <fs_sele> TYPE ty_r_carrid.

SELECTION-SCREEN BEGIN OF SCREEN 001.
SELECT-OPTIONS v_sele FOR sflight-carrid NO-EXTENSION NO INTERVALS.
SELECTION-SCREEN END OF SCREEN 001.

SELECTION-SCREEN BEGIN OF SCREEN 002.
SELECT-OPTIONS v_sele1 FOR sflight-carrid.
SELECTION-SCREEN END OF SCREEN 002.

INITIALIZATION.
  IF sy-tcode = 'Z_A'.
    CALL SCREEN 001.
    ASSIGN v_sele[] TO <fs_sele>.
  ELSE.
    CALL SCREEN 002.
    ASSIGN v_sele1[] TO <fs_sele>.
  ENDIF.

START-OF-SELECTION.
  SELECT * FROM sflight INTO TABLE lt_sflight WHERE carrid IN <fs_sele>.

Regards,

Read only

former_member156446
Active Contributor
0 Likes
603

u can use a system variable sy-TCODE

if sy-TCODE = z_a.

select-option...

elseif sy-TCODE = z_b.

select-options...

endif.

Read only

Former Member
0 Likes
604

Check the below code...

RANGES : r_date FOR sy-datum.

DATA : l_id(3).

SELECT-OPTIONS : p_date1 FOR sy-datum MODIF ID tc1.

SELECT-OPTIONS : p_date2 FOR sy-datum NO INTERVALS

NO-EXTENSION

MODIF ID tc2.

INITIALIZATION.

IF sy-tcode = 'TCODE2'.

l_id = 'TC1'. " To Hide P_DATE1

ELSE.

l_id = 'TC2'. " To hIDE P_DATE2

ENDIF.

AT SELECTION-SCREEN OUTPUT.

  • If Tcode2 is selected date1 will be invisible else date2

LOOP AT SCREEN.

IF screen-group1 EQ l_id.

screen-input = 0.

screen-invisible = 1.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

START-OF-SELECTION.

IF l_id = 'TC1'. " Tcode 2 selected

r_date[] = p_date2[]. " populate date2

ELSE.

r_date[] = p_date1[]. " populate date 1

ENDIF.

  • use R_DATE in the program <REMOVED BY MODERATOR>

Edited by: Alvaro Tejada Galindo on Apr 25, 2008 5:58 PM

Read only

Former Member
0 Likes
603

Use No Intervals key word after select options field that is it.