2008 Apr 25 6:59 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
2008 Apr 25 10:27 PM
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
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
2008 Apr 25 7:11 PM
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,
2008 Apr 25 7:50 PM
u can use a system variable sy-TCODE
if sy-TCODE = z_a.
select-option...
elseif sy-TCODE = z_b.
select-options...
endif.
2008 Apr 25 10:27 PM
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
2008 Apr 25 11:25 PM
Use No Intervals key word after select options field that is it.
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |