10-03-2006 11:26 AM
hi,
i'm novice to SAP abap/4.
Can anyone give me a suggestion how to create dropdown list using parameters.
Regards,
Samiran
10-03-2006 11:29 AM
10-03-2006 11:30 AM
Use the function module VRM_SET_VALUES and add all Ur list values for this
10-03-2006 11:31 AM
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
10-03-2006 11:32 AM
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.
10-03-2006 11:32 AM
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
10-03-2006 11:32 AM
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.
10-03-2006 11:33 AM
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
10-03-2006 11:36 AM
***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>