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

Abap Drop down list example

Former Member
0 Likes
28,504

Hi,

I need code sample to display drop down list, which dontains the result of the query: select A FROM table1

Thx

10 REPLIES 10
Read only

Former Member
0 Likes
10,745

Hi

Take the help of following programs

DEMO_DROPDOWN_LIST_BOX

DEMO_DYNPRO_DROPDOWN_LISTBOX

In your Custom Screen make the Input field as Drop Down box.

in PBO

Use FM VRM_SET_VALUES

To know how to use the FM Press Where Used List in SE37

For more info go through the FM Documentation

Cheers

Ram

Edited by: Ramchander Krishnamraju on Oct 26, 2009 11:51 AM

Read only

sridhar_meesala
Active Contributor
0 Likes
10,745

Hi,

Have a look at ABAPDOCU Tcode.

Thanks,

Sri.

Read only

MarcinPciak
Active Contributor
0 Likes
10,745

[Dropdown Boxes - well explanation with coding examples|http://help.sap.com/saphelp_nw04/helpdata/en/9f/dbabe435c111d1829f0000e829fbfe/frameset.htm]

Regards

Marcin

Read only

Former Member
0 Likes
10,745

Hi,

check the below link

[list box|http://wiki.sdn.sap.com/wiki/display/Snippets/Drop-downListBoxintheSelectionScreenforWindowsNT,R3Release4.7]

Read only

Former Member
0 Likes
10,745

friends,

i need to add it in selection mode

like this I added check box

SELECTION-SCREEN POSITION 15.

PARAMETERS: cbDam AS CHECKBOX.

SELECTION-SCREEN COMMENT 20(30) text-002.

how do I do the same with drop down list ???

Thx

Read only

0 Likes
10,745

Did you really check the links suggested above? If you had read them or atleast had a look, you could have done it on your own.

Read only

0 Likes
10,745

Hi,

Try this code,

Parameters: test1 like mara-mtart as listbox visible length 20.

Thanks,

Harini

Read only

0 Likes
10,745

Hi,

Try this code also.

ZMPTEST_TOP:

PROGRAM ZMPTEST.
TYPE-POOLS: VRM.
DATA:
field1 TYPE VRM_ID,
itab TYPE VRM_VALUES,
wa LIKE LINE OF itab.

data: a type i.

PBO Module:

if a = 0.
wa-key = '1'.
wa-text = 'Value1'.
APPEND wa TO itab.
CLEAR wa.

wa-key = '2'.
wa-text = 'Value2'.
APPEND wa TO itab.
CLEAR wa.

wa-key = '3'.
wa-text = 'Value3'.
APPEND wa TO itab.
CLEAR wa.

CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'FIELD1'
values = itab.

a = 1.

endif.

PAI Module:
CASE sy-ucomm.

WHEN 'DISPLAY'.
LEAVE TO LIST-PROCESSING.
WRITE:/ field1.

WHEN 'EXIT'.
LEAVE PROGRAM.

ENDCASE.

i have kept a drop down box and a display button to display what the user has selected in the drop down.

The selected value in the drop down gets displayed when the display button is clicked.

Thanks,

harini

Read only

I355602
Product and Topic Expert
Product and Topic Expert
0 Likes
10,745

Hi,

Refer:-


TYPE-POOLS: VRM.

TYPES : BEGIN OF MOVIE,
        YR LIKE YTG_MOVIE-YR,
        CATEGORY LIKE YTG_MOVIE-CATEGORY,
        WINNER LIKE YTG_MOVIE-WINNER,
        NOTES LIKE YTG_MOVIE-NOTES,
        END OF MOVIE.

DATA: NAME TYPE VRM_ID,
      LIST TYPE VRM_VALUES,
      VALUE LIKE LINE OF LIST,
      MOVIETAB TYPE STANDARD TABLE OF MOVIE INITIAL SIZE 10 WITH HEADER LINE.

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

AT SELECTION-SCREEN.
  IF CATEGORY EQ ''.
    MESSAGE E006.
  ENDIF.

AT SELECTION-SCREEN OUTPUT.

  NAME = 'CATEGORY'.

  VALUE-KEY = 'PIC'.
  VALUE-TEXT = 'PIC'.
  APPEND VALUE TO LIST.

  VALUE-KEY = 'MAL'.
  VALUE-TEXT = 'MAL'.
  APPEND VALUE TO LIST.

  VALUE-KEY = 'FEM'.
  VALUE-TEXT = 'FEM'.
  APPEND VALUE TO LIST.

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

START-OF-SELECTION.

  WRITE : / 'Category Selected :', CATEGORY.

  ULINE.

  SELECT *
  FROM YTG_MOVIE INTO CORRESPONDING FIELDS OF TABLE MOVIETAB
  WHERE CATEGORY = CATEGORY.

END-OF-SELECTION.

  WRITE : /1 'Year', 6 'Category', 16 'Winner', 50 'Notes'.
  ULINE.

  LOOP AT MOVIETAB.

    WRITE : /1 MOVIETAB-YR, 8 MOVIETAB-CATEGORY, 16 MOVIETAB-WINNER, 50 MOVIETAB-NOTES.
    ULINE.

  ENDLOOP.

  IF SY-SUBRC <> 0.
    MESSAGE I005.
  ENDIF.

Hope this helps you.

Regards,

Tarun

Read only

0 Likes
10,745
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: plant FOR eban-werks NO INTERVALS NO-EXTENSION.
SELECT-OPTIONS: req_no FOR eban-banfn.
SELECT-OPTIONS: r_date FOR eban-badat.
SELECT-OPTIONS: req_by FOR eban-ernam NO INTERVALS NO-EXTENSION.
SELECT-OPTIONS: p_org FOR ekko-ekorg NO INTERVALS NO-EXTENSION.
SELECT-OPTIONS: doc_type FOR eban-bsart.
PARAMETERS: p_vendor AS LISTBOX VISIBLE LENGTH 50.
PARAMETERS: p_mat AS LISTBOX VISIBLE LENGTH 50.
PARAMETERS: p_glnum AS LISTBOX VISIBLE LENGTH 50.
SELECT-OPTIONS: int_ord FOR bseg-aufnr.
PARAMETERS: p_ccen AS LISTBOX VISIBLE LENGTH 50.
PARAMETERS: p_dpt AS LISTBOX VISIBLE LENGTH 50.
SELECT-OPTIONS: cre_i FOR eban-estkz NO INTERVALS NO-EXTENSION.
PARAMETERS: rel_c AS LISTBOX VISIBLE LENGTH 50.
SELECT-OPTIONS: po_n FOR ekko-ebeln.
SELECT-OPTIONS: po_date FOR ekko-bedat.
SELECTION-SCREEN END OF BLOCK b1.


SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.
PARAMETERS: pending AS CHECKBOX.
PARAMETERS: approved AS CHECKBOX.
PARAMETERS: rejected AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK b2.


SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE TEXT-003.
PARAMETERS : summary RADIOBUTTON GROUP rb1.
PARAMETERS : detail RADIOBUTTON GROUP rb1.
SELECTION-SCREEN END OF BLOCK b3.
*-------------------Declarations for Dropdown selection screen------------------
INITIALIZATION.
  TYPE-POOLS: vrm.
  TYPES: BEGIN OF ty_vendor,
           lifnr TYPE lfa1-lifnr,
           name1 TYPE lfa1-name1,
         END OF ty_vendor.
  TYPES: BEGIN OF ty_material,
           matnr TYPE eban-matnr,
           maktx TYPE makt-maktx,
         END OF ty_material.
  TYPES: BEGIN OF ty_glnum,
           saknr TYPE skat-saknr,
           txt20 TYPE skat-txt20,
         END OF ty_glnum.
  TYPES: BEGIN OF ty_ccen,
           kostl TYPE ekkn-kostl,
           ktext TYPE cskt-ktext,
         END OF ty_ccen.
  TYPES: BEGIN OF ty_dpt,
           zzmmdepart TYPE eban-zzmmdepart,
         END OF ty_dpt.




  DATA: gt_vendor   TYPE STANDARD TABLE OF ty_vendor,
        gt_material TYPE STANDARD TABLE OF ty_material,
        gt_glnum    TYPE STANDARD TABLE OF ty_glnum,
        gt_ccen     TYPE STANDARD TABLE OF ty_ccen,
        gt_dpt      TYPE STANDARD TABLE OF ty_dpt,
        wa_vendor   TYPE ty_vendor,
        wa_material TYPE ty_material,
        wa_glnum    TYPE ty_glnum,
        wa_ccen     TYPE ty_ccen,
        wa_dpt      TYPE ty_dpt.
  DATA: g_id      TYPE vrm_id,
        g_values  TYPE vrm_values,
        wa_values LIKE LINE OF g_values.




  SELECT DISTINCT lifnr name1 FROM lfa1 INTO TABLE gt_vendor.
  LOOP AT gt_vendor INTO wa_vendor.
    wa_values-key = wa_vendor-lifnr .
    wa_values-text = wa_vendor-lifnr &&'-' && wa_vendor-name1.
    g_id = 'p_vendor'.
    PERFORM listbox.
    APPEND wa_values TO g_values.
    CLEAR wa_values.
  ENDLOOP.
  FREE: g_values.


  SELECT DISTINCT a~matnr,
                  b~maktx
     FROM eban AS a INNER JOIN makt AS b
    ON a~matnr = b~matnr
    INTO TABLE @gt_material.
  LOOP AT gt_material INTO wa_material.
    wa_values-key = wa_material-matnr.
    wa_values-text = wa_material-matnr &&'-'&& wa_material-maktx.
    g_id = 'p_mat'.
    PERFORM listbox.
    APPEND wa_values TO g_values.
    CLEAR wa_values.
  ENDLOOP.
  FREE: g_values.


  SELECT DISTINCT saknr txt20 FROM skat INTO TABLE gt_glnum.
  LOOP AT gt_glnum INTO wa_glnum.
    wa_values-key = wa_glnum-saknr.
    wa_values-text = wa_glnum-saknr &&'-'&& wa_glnum-txt20.
    g_id = 'p_glnum'.
    PERFORM listbox.
    APPEND wa_values TO g_values.
    CLEAR wa_values.
  ENDLOOP.
  FREE :g_values.


  SELECT DISTINCT a~kostl,
                  b~ktext
    FROM ekkn AS a INNER JOIN cskt AS b
    ON a~kostl = b~kostl INTO TABLE @gt_ccen.
  LOOP AT gt_ccen INTO wa_ccen.
    wa_values-key = wa_ccen-kostl.
    wa_values-text = wa_ccen-kostl && '-' && wa_ccen-ktext.
    g_id = 'p_ccen'.
    PERFORM listbox.
    APPEND wa_values TO g_values.
    CLEAR wa_values.
  ENDLOOP.
  FREE:g_values.
  SELECT DISTINCT zzmmdepart FROM
    eban INTO TABLE @gt_dpt.
  LOOP AT gt_dpt INTO wa_dpt.
    wa_values-key = wa_dpt-zzmmdepart.
    wa_values-text = wa_dpt-zzmmdepart.
    g_id = 'p_dpt'.
    PERFORM listbox.
    APPEND wa_values TO g_values.
    CLEAR wa_values.
  ENDLOOP.






FORM listbox.
  CALL FUNCTION 'VRM_SET_VALUES'
    EXPORTING
      id     = g_id
      values = g_values
*       EXCEPTIONS
*     ID_ILLEGAL_NAME       = 1
*     OTHERS = 2
    .
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.
ENDFORM.


*-------------------------------------------------------------------------------