2010 Feb 23 9:36 AM
Hi All,
I wish to give the possibility to the user to show only two selections among many values for e specific fied.
For example:
Select-options: s_org1 for lfm1-ekorg NO INTERVALS .
But I want to give the possibility to the user to use/dispplay only two data of the above list.
This "short" range of values is necessary to me in a query using IN s_org1.
Any idea will be well appreciated.
Thanks in advance for your kind support.
Luigi
2010 Feb 23 10:37 AM
I have used:
RANGES: codart FOR lfm1-ekorg.
AT SELECTION-SCREEN.
codart-sign = 'I'.
codart-option = 'E'.
codart-low = 'IT15'.
APPEND codart.
codart-sign = 'I'.
codart-option = 'E'.
codart-low = 'IT25'.
APPEND codart.
SELECT-OPTIONS: s_org1 FOR codart NO INTERVALS .
But I can't see the values set.
Any idea?
Thanks.
Hi,
You can use this FM at selection-screen event F4IF_INT_TABLE_VALUE_REQUEST.
Regards,
Sudeshna
2010 Feb 23 9:39 AM
Hello,
If i understand correctly you want to provide default values to the SELECT-OPTIONS & make the field display-only.
Is this what you want ?
BR,
Suhas
2010 Feb 23 9:43 AM
Hi Luigi,
<li>Try this way.
Thanks
Venkat.O
REPORT ztest_notepad.
TABLES lfm1.
SELECT-OPTIONS: s_org1 FOR lfm1-ekorg NO INTERVALS .
DATA lines TYPE i.
AT SELECTION-SCREEN.
DESCRIBE TABLE s_org1 LINES lines.
IF lines > 2.
DATA msg TYPE string.
msg = 'S_ORG1 has more than two values'.
MESSAGE msg TYPE 'E'.
ENDIF.
2010 Feb 23 10:24 AM
Thanks for the quick reply.
More exaclty I want to set only two values (not consecutive) from the list of values of the field ekorg.
In other words, I want to set, from the beginning, only two values (i.e. 0010000001 and 0010000015). The range can show me i.e 0010000001 0010000002 0010000003 0010000004 0010000015 0010000018.
Is it possible?
Thanks,
Luigi
2010 Feb 23 10:37 AM
Hi
It is Possible. Select the data from table and build the range.
For Example.
Data : R_EKORG tyoe ekorg.
R_ekorg-Opton = '' IN "
R_EKORG-LOW = " LOW VALUE "
SELECT EKORG FROM TABLE (EKKO) WHERE EKORG IN S_EKORG.
APPEND RANGES.
2010 Feb 23 11:26 AM
Hi,
Lets say your have
select-options : s_ekorg for ekko-ekorg.
data : r_ekorg type range of ekko-ekorg, " Declare these 2 Extra in your program
wa_ekorg like line of r_ekorg.
then
at selection-screen output. " Implement this Event
refresh r_ekorg.
clear wa_ekorg.
wa_ekorg-sign = 'I'.
wa_ekorg-option = 'BT'.
wa_ekorg-low = '0010000001'
wa_ekorg-high = '00100000018'.
append wa_ekorg to r_ekorg.
s_ekorg[] = r_ekorg[]. " This will give you default value to your Select Options.In other words, I want to set, from the beginning, only two values (i.e. 0010000001 and 0010000015). The range can show me i.e 0010000001 0010000002 0010000003 0010000004 0010000015 0010000018.Cheerz
Ram
2010 Feb 23 10:37 AM
I have used:
RANGES: codart FOR lfm1-ekorg.
AT SELECTION-SCREEN.
codart-sign = 'I'.
codart-option = 'E'.
codart-low = 'IT15'.
APPEND codart.
codart-sign = 'I'.
codart-option = 'E'.
codart-low = 'IT25'.
APPEND codart.
SELECT-OPTIONS: s_org1 FOR codart NO INTERVALS .
But I can't see the values set.
Any idea?
Thanks.
2010 Feb 23 10:46 AM
Hello,
For this you have to use either INITIALIZATION or AT SELECTION-SCREEN OUTPUT event and not AT SELECTION-SCREEN.
SELECT-OPTIONS: s_org1 FOR lfm1-ekorg NO INTERVALS MODIF-ID 'M1'.
INITIALIZATION.
s_org1-sign = 'I'.
s_org1-option = 'E'.
s_org1-low = 'IT15'.
APPEND s_org1.
s_org1-sign = 'I'.
s_org1-option = 'E'.
s_org1-high = 'IT25'.
APPEND s_org1.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'M1'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Hope this helps.
BR,
SUhas
2010 Feb 23 11:16 AM
Hi,
You can use this FM at selection-screen event F4IF_INT_TABLE_VALUE_REQUEST.
Regards,
Sudeshna
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |