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

Setting Listbox to first entry bu default

Former Member
0 Likes
3,425

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
2,138

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.

11 REPLIES 11
Read only

Former Member
0 Likes
2,138

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

Read only

0 Likes
2,138

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

Read only

Former Member
0 Likes
2,138

Make that field as a mandatory field.

Regards

Shiba Prasad Dutta

Read only

0 Likes
2,138

Hi Shiba,

No luck either by making the field as mandatory.

Regards,

Shoeb

Read only

venkat_o
Active Contributor
0 Likes
2,138

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

Read only

Former Member
0 Likes
2,138

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

Read only

venkat_o
Active Contributor
0 Likes
2,138

Hi Shoeb, 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'.
   "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.
Thanks Venkat.O

Read only

Former Member
0 Likes
2,139

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.

Read only

0 Likes
2,138

Hi Avinash,

Your suggestion did work. Thanks for the help.

Regards,

Shoeb

Read only

MarcinPciak
Active Contributor
0 Likes
2,138

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

Read only

Former Member
0 Likes
2,138

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