‎2009 Jul 24 8:00 AM
Hi All,
I have used a listbox in Selection screen of my report. I have set the values in the listbox by using the FM 'VRM_SET_VALUES' in initialization section of my report. Currently when the screen appears the listbox is blank and when I click on dropdown button I can see the list of values but I need to make the listbox to select the first entry by default. How can I do it.
Please help.
Regards,
Shoeb
‎2009 Jul 24 8:18 AM
Hi,
Check this code...
TYPE-POOLS : vrm.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-s01.
PARAMETERS p_list1 TYPE char4 AS LISTBOX VISIBLE LENGTH 5 USER-COMMAND uc1.
SELECTION-SCREEN END OF BLOCK b1.
DATA: g_name TYPE vrm_id,
g_list TYPE vrm_values,
g_value LIKE LINE OF g_list.
DATA:
lwa_ddshretval TYPE ddshretval,
lwa_dselc TYPE dselc,
lwa_dynpread TYPE dynpread.
DATA:
li_ddshretval TYPE STANDARD TABLE OF ddshretval,
li_dselc TYPE STANDARD TABLE OF dselc,
li_dynpread TYPE STANDARD TABLE OF dynpread.
AT SELECTION-SCREEN OUTPUT.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'P_LIST1'
values = g_list[].
" Add these lines to get the default value
IF p_list1 IS INITIAL.
READ TABLE g_list INTO g_value INDEX 1.
p_list1 = g_value-text.
ENDIF.
" Add these lines to get the default value
INITIALIZATION.
CLEAR: g_value, g_list.
g_value-key = 'YES'.
g_value-text = 'YES'.
APPEND g_value TO g_list.
g_value-key = 'NO'.
g_value-text = 'NO'.
APPEND g_value TO g_list.
g_value-key = 'WHY'.
g_value-text = 'WHY'.
APPEND g_value TO g_list.
‎2009 Jul 24 8:06 AM
Hi,
Pass the key of the first entry to the ID parameter of 'VRM_SET_VALUES'. it will be set as the default entry in the drop down list
Reagrds,
Vik
‎2009 Jul 24 8:13 AM
Hi Vik,
Thanks for your help. What your suggestion does is makes only one value available in the dropdown but it does not select
that value by default at the display. Any more idea would be helpful.
Regards,
Shoeb
‎2009 Jul 24 8:06 AM
Make that field as a mandatory field.
Regards
Shiba Prasad Dutta
‎2009 Jul 24 8:18 AM
Hi Shiba,
No luck either by making the field as mandatory.
Regards,
Shoeb
‎2009 Jul 24 8:07 AM
Hi,
Try this way
REPORT ztest_notepad.
TYPE-POOLS vrm.
DATA: g_name TYPE vrm_id,
it_list TYPE vrm_values,
wa_list LIKE LINE OF it_list.
PARAMETERS list AS LISTBOX VISIBLE LENGTH 20.
AT SELECTION-SCREEN OUTPUT.
wa_list-key = '1'.
wa_list-text = '1 is selected'.
APPEND wa_list TO it_list.
CLEAR wa_list.
wa_list-key = '2'.
wa_list-text = '2 is selected'.
APPEND wa_list TO it_list.
CLEAR wa_list.
wa_list-key = '3'.
wa_list-text = '3 is selected'.
APPEND wa_list TO it_list.
CLEAR wa_list.
wa_list-key = '4'.
wa_list-text = '4 is selected'.
APPEND wa_list TO it_list.
CLEAR wa_list.
g_name = 'LIST'.
list = '1'. "Defaulting value like this
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = g_name
values = it_list
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.Thanks
Venkat.O
‎2009 Jul 24 8:15 AM
Hi Venkat,
Thanks for your help. I tried your code as well but what it does is put only one value '1' in the dropdown but it still does not select
that value by default at the display.
Regards,
Shoeb
‎2009 Jul 24 8:27 AM
Hi Shoeb,
Try this way.
Thanks
Venkat.O REPORT ztest_notepad.
TYPE-POOLS vrm.
DATA: g_name TYPE vrm_id,
it_list TYPE vrm_values,
wa_list LIKE LINE OF it_list.
PARAMETERS list AS LISTBOX VISIBLE LENGTH 20.
AT SELECTION-SCREEN OUTPUT.
wa_list-key = '1'.
wa_list-text = '1 is selected'.
APPEND wa_list TO it_list.
CLEAR wa_list.
wa_list-key = '2'.
wa_list-text = '2 is selected'.
APPEND wa_list TO it_list.
CLEAR wa_list.
wa_list-key = '3'.
wa_list-text = '3 is selected'.
APPEND wa_list TO it_list.
CLEAR wa_list.
wa_list-key = '4'.
wa_list-text = '4 is selected'.
APPEND wa_list TO it_list.
CLEAR wa_list.
g_name = 'LIST'.
"Do like below.
READ TABLE it_list INTO wa_list INDEX 1."Read first record from Dropdown values
list = wa_list-key. "LIST is List box field on the selection-screen.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = g_name
values = it_list
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
‎2009 Jul 24 8:18 AM
Hi,
Check this code...
TYPE-POOLS : vrm.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-s01.
PARAMETERS p_list1 TYPE char4 AS LISTBOX VISIBLE LENGTH 5 USER-COMMAND uc1.
SELECTION-SCREEN END OF BLOCK b1.
DATA: g_name TYPE vrm_id,
g_list TYPE vrm_values,
g_value LIKE LINE OF g_list.
DATA:
lwa_ddshretval TYPE ddshretval,
lwa_dselc TYPE dselc,
lwa_dynpread TYPE dynpread.
DATA:
li_ddshretval TYPE STANDARD TABLE OF ddshretval,
li_dselc TYPE STANDARD TABLE OF dselc,
li_dynpread TYPE STANDARD TABLE OF dynpread.
AT SELECTION-SCREEN OUTPUT.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'P_LIST1'
values = g_list[].
" Add these lines to get the default value
IF p_list1 IS INITIAL.
READ TABLE g_list INTO g_value INDEX 1.
p_list1 = g_value-text.
ENDIF.
" Add these lines to get the default value
INITIALIZATION.
CLEAR: g_value, g_list.
g_value-key = 'YES'.
g_value-text = 'YES'.
APPEND g_value TO g_list.
g_value-key = 'NO'.
g_value-text = 'NO'.
APPEND g_value TO g_list.
g_value-key = 'WHY'.
g_value-text = 'WHY'.
APPEND g_value TO g_list.
‎2009 Jul 24 8:43 AM
Hi Avinash,
Your suggestion did work. Thanks for the help.
Regards,
Shoeb
‎2009 Jul 24 8:28 AM
Hi,
You just assign value to it in INITIALIZATION event, like this:
PARAMETERS pa_list as LISTBOX VISIBLE LENGTH 20.
TYPE-POOLS vrm.
"value table
DATA: name TYPE vrm_id,
value_tab TYPE vrm_values WITH HEADER LINE.
"first initialize with values
INITIALIZATION.
REFRESH value_tab.
value_tab-key = '1'.
value_tab-text = 'TRUE'.
APPEND value_tab.
value_tab-key = '0'.
value_tab-text = 'FALSE'.
APPEND value_tab.
name = 'PA_LIST'.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = name
values = value_tab[]
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
PA_LIST = 1. "then set default value (assign key value, not text)
Regards
Marcin
‎2009 Jul 24 8:28 AM
Hi,
LIST BOX with Selection Screen
For this the FM VRM_SET_VALUES is used to fill the value table and is passed to the parameter created with TYPE LISTBOX in the selection screen event
AT SELECTION-SCREEN.
PROGRAM zlist
TYPE-POOLS : VRM.
DATA: param TYPE vrm_id,
values TYPE vrm_values,
value LIKE LINE OF values.
PARAMETERS: p_name(10) AS LISTBOX VISIBLE LENGTH 10.
AT SELECTION-SCREEN OUTPUT.
param = 'P_NAME'.
value-key = '1'.
value-text = 'JOHN'.
APPEND value TO values.
value-key = '2'.
value-text = 'PETER'.
APPEND value TO values.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING id = param
values = values.
i hope u will get some help...
Thanks & Regards
Ashu SIngh