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

Dropdown list with parameter.

Former Member
0 Likes
671

hi all,

i am using a statement to add dropdown with parameter like:

PARAMETERS p_type TYPE but0id-type

AS LISTBOX VISIBLE LENGTH 30 .

Now i want to add my own values or some internal table to this parameter .how will i do it ?

Thanks in advance.

Points assured.

4 REPLIES 4
Read only

Former Member
0 Likes
633

Hi,

Try like this

type-pools :vrm.

PARAMETERS p_type TYPE but0id-type

AS LISTBOX VISIBLE LENGTH 30 .

INITIALIZATION.

DATA : values TYPE vrm_values,

value LIKE LINE OF values.

DATA : id TYPE vrm_id VALUE 'P_TYPE'.

Assign key and text to values table

value-key =

value-text =

APPEND value TO values.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

id = id

values = values

EXCEPTIONS

ID_ILLEGAL_NAME = 1

OTHERS = 2.

.

Read only

Former Member
0 Likes
633

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.

or check this....

TYPE-POOLS : vrm.

TABLES:vbak,vbap.

DATA : v(80) TYPE c.

DATA: wa_vbak TYPE vbak,

it_vbak TYPE vbak OCCURS 0 WITH HEADER LINE,

wa_vbap TYPE vbap,

it_vbap TYPE vbap OCCURS 0 WITH HEADER LINE.

DATA: l_name TYPE vrm_id,

li_list TYPE vrm_values ,

v_count TYPE i,

l_value LIKE LINE OF li_list.

PARAMETERS: p_test(20) AS LISTBOX VISIBLE LENGTH 60 MODIF ID DAT.

INITIALIZATION.

AT SELECTION-SCREEN OUTPUT.

PERFORM get_data.

LOOP AT it_vbak.

l_value-key = it_vbak-vbeln .

l_value-text = it_vbak-vbeln .

APPEND l_value TO li_list.

ENDLOOP.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

id = 'P_TEST'

values = li_list

EXCEPTIONS

id_illegal_name = 1

OTHERS = 2.

AT SELECTION-SCREEN ON P_TEST.

clear : li_list , li_list[].

SELECT vbeln

matnr

meins

FROM vbap

INTO CORRESPONDING FIELDS OF TABLE it_vbap

WHERE vbeln = p_test.

START-OF-SELECTION.

SELECT vbeln

matnr

meins

FROM vbap

INTO CORRESPONDING FIELDS OF TABLE it_vbap

WHERE vbeln = p_test.

LOOP AT it_vbap.

WRITE 😕 it_vbap-vbeln, it_vbap-matnr,it_vbap-meins.

ENDLOOP.

&----


*& Form get_Data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_data .

SELECT vbeln

FROM vbak

INTO CORRESPONDING FIELDS OF TABLE it_vbak.

ENDFORM. " get_Data

Read only

Former Member
0 Likes
633

Hi,

You can have a drop down for parameters with the help of following code.

TYPE-POOLS: VRM.

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

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

AT SELECTION-SCREEN OUTPUT.

  NAME = 'P_NAME'.
  
  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.

This will surely help you,

Plz reward if useful.

Thanks,

Dhanashri.

Read only

Former Member
0 Likes
633

Hi,

Check this Code

TYPE-POOLS : vrm.

SELECTION-SCREEN: BEGIN OF BLOCK B4 WITH FRAME TITLE TEXT-050.

PARAMETERS: TYPE(20) AS LISTBOX VISIBLE LENGTH 35.

SELECTION-SCREEN: END OF BLOCK B4.

DATA : NAME1 TYPE VRM_ID,

LIST1 TYPE VRM_VALUES,

VALUE LIKE LINE OF LIST1,

VALUE1 LIKE LINE OF LIST1.

AT SELECTION-SCREEN OUTPUT.

CLEAR LIST1. REFRESH LIST1.

NAME1 = TEXT-006.

VALUE1-KEY = '1'.

VALUE1-TEXT = '123456'.

APPEND VALUE1 TO LIST1.

VALUE1-KEY = '2'.

VALUE1-TEXT = 'abcde'.

APPEND VALUE1 TO LIST1.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

ID = 'TYPE' " type is input parameter field

VALUES = LIST1.

Reward if usefull

Thanks,

Durai.V