Application Development 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: 

Create dropdown list

Former Member
0 Kudos

hi,

i'm novice to SAP abap/4.

Can anyone give me a suggestion how to create dropdown list using parameters.

Regards,

Samiran

8 REPLIES 8

Former Member
0 Kudos

hi Samiran,

pls refer to this thread

Regards,

Preema

*Reward points for helpful answers

Former Member
0 Kudos

Use the function module VRM_SET_VALUES and add all Ur list values for this

anversha_s
Active Contributor
0 Kudos

hi,

chk this.

Check the link to know how to populate values as a LIST(drop down list)

here is the sample piece of code,

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 = 'NAME1'.

APPEND value TO values.

value-key = '2'.

value-text = 'NAME2'.

APPEND value TO values.

*--and so onnn

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING id = param

values = values.

regds,

anver

Former Member
0 Kudos

HI Samiran,

REPORT ZSamples.

Tables : hrp1000, pa0001.

TYPE-POOLS : VRM.

DATA: LIST TYPE vrm_values,

value LIKE LINE OF list.

DATA: BEGIN OF itab_list OCCURS 0,

kode_divisi(3),

nama_divisi like hrp1000-mc_stext,

END OF itab_list.

DATA :

KODE_DIVISI like hrp1000-mc_short,

NAMA_DIVISI like hrp1000-mc_stext.

RANGES : RDIVISI FOR PA0001-WERKS.

SELECTION-SCREEN BEGIN OF BLOCK PARAMETER WITH FRAME

TITLE TEXT-001.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT (15) TEXT-003.

SELECTION-SCREEN POSITION 24.

PARAMETERS PDIVISI

LIKE HRP1000-MC_SHORT AS LISTBOX VISIBLE LENGTH

40.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK PARAMETER.

INITIALIZATION.

MOVE 'D' TO PNPTIMED.

IF LIST[] IS INITIAL.

CLEAR HRP1000.

SELECT MC_SHORT MC_STEXT

INTO (KODE_DIVISI, NAMA_DIVISI)

FROM HRP1000

WHERE OTYPE EQ 'Z4'

AND PLVAR EQ '02'

AND ISTAT EQ '1'.

IF SY-SUBRC EQ 0.

MOVE :

KODE_DIVISI+3(3) TO ITAB_LIST-kode_divisi,

NAMA_DIVISI TO ITAB_LIST-NAMA_DIVISI.

APPEND ITAB_LIST.

ENDIF.

ENDSELECT.

sort itab_list by nama_divisi ascending.

LOOP AT itab_list.

MOVE:

itab_list-KODE_DIVISI TO value-key,

itab_list-NAMA_DIVISI TO value-text.

APPEND value TO LIST.

ENDLOOP.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

id = 'PDIVISI'

values = list.

ENDIF.

START-OF-SELECTION.

.....................

-


Regards,

Laxmi.

Former Member
0 Kudos

Hi,

Refer this code.

  • Type pools

TYPE-POOLS : vrm.

Data: i_value TYPE vrm_values.

SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE text-005.

PARAMETERS : p_field TYPE dd03l-fieldname AS LISTBOX

VISIBLE LENGTH 80 OBLIGATORY.

SELECTION-SCREEN END OF BLOCK c.

INITIALIZATION.

*-- Populate List Box

*-- TEMKSV - Legacy Value

wa_value-key = 'TEMKSV'.

wa_value-text = 'Legacy Key'.

APPEND wa_value TO i_value.

CLEAR: wa_value.

*-- Installation

wa_value-key = 'INSTLN'.

wa_value-text = 'Installation'.

APPEND wa_value TO i_value.

CLEAR: wa_value.

  • Setting the selection

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

id = 'P_FIELD'

values = i_value.

Hope this helps.

Manish

Former Member
0 Kudos

Hi,

You can use FM: VRM_SET_VALUES, Below is the sample code .

at selection-screen output.

refresh:list.

name = 'FIELD'.

value-key = '1'.

value-text = 'ABC'.

append value to list.

value-key = '2'.

value-text = 'CDE'.

append value to list.

value-key = '3'.

value-text = 'EFG'

append value to list.

call function 'VRM_SET_VALUES'

exporting

id = name

values = list.

Here PS_PARAM is the field name.

hope this helps.

Former Member
0 Kudos

Hi,

seethe example program

REPORT ZLIST.

TYPE-POOLS: VRM.

DATA: NAME  TYPE VRM_ID,
      LIST  TYPE VRM_VALUES,
      VALUE LIKE LINE OF LIST.

PARAMETERS: PS_PARM(10) AS LISTBOX VISIBLE LENGTH 10.

AT SELECTION-SCREEN OUTPUT.

NAME = 'PS_PARM'.
VALUE-KEY = '1'.

VALUE-TEXT = 'LINE 1'.
APPEND VALUE TO LIST. VALUE-KEY = '2'.

VALUE-TEXT = 'LINE 2'.
APPEND VALUE TO LIST.

CALL FUNCTION 'VRM_SET_VALUES' EXPORTING ID = NAME VALUES = LIST.

START-OF-SELECTION.
WRITE: / 'PARAMETER:', PS_PARM.

Regards

Sudheer

rahulkavuri
Active Contributor
0 Kudos

***DATA DECLARATION

DATA : V TYPE VRM_VALUES.

DATA : DROPDOWN LIKE LINE OF V.

INITIALIZATION.

      • Vars for population of dropdown

DROPDOWN-KEY = '1'.

DROPDOWN-TEXT = 'BSE'.

APPEND DROPDOWN TO V.

DROPDOWN-KEY = '2'.

DROPDOWN-TEXT = 'NSE'.

APPEND DROPDOWN TO V.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

ID = 'EXCH'

VALUES = V

EXCEPTIONS

ID_ILLEGAL_NAME = 1

OTHERS = 2.

IF EXCH = 1.

L_EXCH = 'BSE'.

ELSEIF EXCH = 2.

L_EXCH = 'NSE'.

ELSE.

FLAG_END = 'X'.

MESSAGE I000(ZZ) WITH 'Select an exchange from dropdown'.

STOP.

ENDIF.

****SELECTION SCREEN

<b>PARAMETERS: EXCH(3) TYPE C AS LISTBOX VISIBLE LENGTH 10</b>