10-03-2011 10:13 AM
how can i make a select-option(with no interval) as drop down list box ? list box values should be filled from the values of the corresponding field from data dictionary table. For my report selection screen has 3 fields as list boxes and a date range, if user type only date ranges and execute, it should display corresponding records as an alv report., thats why i cant keep those fields as parameters, i need them as select-options.
10-03-2011 10:29 AM
Hi,
try this
SELECT-OPTIONS : FKDAT FOR VBRK-FKDAT no intervals.
(or)
parameters: FKDAT like VBRK-FKDAT.
select options with f4 functionality
data: fkdat type vbrk-fkdat.
select-options: s_fkdat for fkdat.
Regards,
koolspy.
10-03-2011 10:30 AM
10-03-2011 10:31 AM
hi,
look at this documentation u ll have an idea....
http://www.sapfans.com/forums/viewtopic.php?f=31&t=326584
thanks,
chaitanya
10-03-2011 10:32 AM
List Box is created in selection screen using PARAMETERS staement
with AS LISTBOX addition other attributes like VISIBLE LENGTH (width of listbox)
can be specified with the declaration.
PARAMETERS name(n) AS LISTBOX VISIBLE LENGTH n.
Here n is an integer and name is the name of parameter.
To populate the value list we use the FM VRM_SET_VALUES and the
selection screen event AT SELECTION-SCREEN OUTPUT is used to write the code to fill it.
regards
Ajit
Edited by: ajitabap on Oct 3, 2011 11:33 AM
10-03-2011 10:33 AM
Hi,
You need to use module pool programming to display a list box. Select Input/Output field and set its drop down property.
OR
If you are using report program you need to implement the logic in this way,
PARAMETERS: LV_LIST TYPE VBRK-VBELN AS LISTBOX VISIBLE LENGTH 12.
10-03-2011 10:45 AM
Hi,
I usually use another approach:
just use the parameters on the selection screen, select the data you need to an internal table but do not use the parameters as select condition in your query.
Filter the data you have collect later. using some condition like these:
IF PARAM1 is not initial.
DELETE itab WHERE field1 <> PARAM1.
ENDIF.
Regards,
Oki
10-03-2011 10:04 PM
Hi,
if user type only date ranges and execute, it should display corresponding records as an alv report., thats why i cant keep those fields as parameters, i need them as select-options.
But you could use a parameters, and define a local range (DATA ... TYPE RANGE OF...) that you fill from the parameters only if something has been entered in it, and do SELECT ... WHERE ... IN local range.
Or do you really want the user to be able to select several values in the list box field? (This is not possible to customize the standard selection criterion input dialog, so you'd have to create your own dialog, the easiest would be to use ALV, or to create a search help with a search help exit defining MULTISEL = 'X', and the values could be transferred, concatenated, separated by comma, in a protected field would be better...)
Sandra
10-04-2011 8:38 AM
Hi,
try this code
you can get your selection screen with no intervals and with drop down list
TYPE-POOLS: vrm.
DATA: gt_list TYPE vrm_values.
DATA: gwa_list TYPE vrm_value.
DATA: gt_values TYPE TABLE OF dynpread,
gwa_values TYPE dynpread.
DATA: gv_selected_value(10) TYPE c.
*--------------------------------------------------------------*
*Selection-Screen
*--------------------------------------------------------------*
PARAMETERS: list TYPE c AS LISTBOX VISIBLE LENGTH 20.
*--------------------------------------------------------------*
*At Selection Screen
*--------------------------------------------------------------*
AT SELECTION-SCREEN ON list.
CLEAR: gwa_values, gt_values.
REFRESH gt_values.
gwa_values-fieldname = 'LIST'.
APPEND gwa_values TO gt_values.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
TABLES
dynpfields = gt_values.
READ TABLE gt_values INDEX 1 INTO gwa_values.
IF sy-subrc = 0 AND gwa_values-fieldvalue IS NOT INITIAL.
READ TABLE gt_list INTO gwa_list
WITH KEY key = gwa_values-fieldvalue.
IF sy-subrc = 0.
gv_selected_value = gwa_list-text.
ENDIF.
ENDIF.
*--------------------------------------------------------------*
*Initialization
*--------------------------------------------------------------*
INITIALIZATION.
gwa_list-key = '1'.
gwa_list-text = 'Product'.
APPEND gwa_list TO gt_list.
gwa_list-key = '2'.
gwa_list-text = 'Collection'.
APPEND gwa_list TO gt_list.
gwa_list-key = '3'.
gwa_list-text = 'Color'.
APPEND gwa_list TO gt_list.
gwa_list-key = '4'.
gwa_list-text = 'Count'.
APPEND gwa_list TO gt_list.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'LIST'
values = gt_list
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
*--------------------------------------------------------------*
*Start of Selection
*--------------------------------------------------------------*
START-OF-SELECTION.
WRITE:/ gv_selected_value.
Regards,
koolspy.