10-01-2008 5:58 AM
Hi,
We have a requirement wherin we need to have three drop down lists( i.e., shirt size, color and neck type) and we need to select data from the different standard tables. It is to be done in a report.
Any pointers regarding this would be helpful.
Regards,
Amrita.
10-01-2008 6:11 AM
Hi,
Check the following code:
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
----
FORM get_data .
SELECT vbeln
FROM vbak
INTO CORRESPONDING FIELDS OF TABLE it_vbak.
ENDFORM. " get_Data
Regards,
Bhaskar
10-01-2008 6:04 AM
Hi
U have 2 study saptechnical.com/tutorials...They very clear about dropdown list with example available.Its very useful for u..
10-01-2008 6:05 AM
check this example.
Hi,
Check this Example..
TYPE-POOLS : VRM.
DATA : NAME TYPE VRM_ID,
LIST TYPE VRM_VALUES,
VALUE LIKE LINE OF LIST.
*
PARAMETERS: DAY(10) AS LISTBOX VISIBLE LENGTH 10.
AT SELECTION-SCREEN OUTPUT.
NAME = 'DAY'.
VALUE-KEY = '1'.
VALUE-TEXT = 'MONDAY'.
APPEND VALUE TO LIST.
VALUE-KEY = '2'.
VALUE-TEXT = 'TUESDAY'.
APPEND VALUE TO LIST.
VALUE-KEY = '3'.
VALUE-TEXT = 'WEDNESDAY'.
APPEND VALUE TO LIST.
VALUE-KEY = '4'.
VALUE-TEXT = 'THURSDAY'.
APPEND VALUE TO LIST.
VALUE-KEY = '5'.
VALUE-TEXT = 'FRIDAY'.
APPEND VALUE TO LIST.
VALUE-KEY = '6'.
VALUE-TEXT = 'SATURDAY'.
APPEND VALUE TO LIST.
VALUE-KEY = '7'.
VALUE-TEXT = 'SUNDAY'.
APPEND VALUE TO LIST.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = NAME
VALUES = LIST
EXCEPTIONS
ID_ILLEGAL_NAME = 1
OTHERS = 2.
IF SY-SUBRC EQ 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
10-01-2008 6:06 AM
Hi,
Please try like this....
* Displaying the Customer Name in list box
at selection-screen output.
data : name type vrm_id,
list type vrm_values,
value like line of list.
clear : name.
name = 'p_cusnam'. "Selection-screen parameter name
refresh : gt_sap_link[],list[].
select * into table gt_sap_link from sap_link.
clear : gs_sap_link.
loop at gt_sap_link into gs_sap_link where dm_doctype eq 'CUSTOMER CLAIMS'.
clear : value.
value-key = gs_sap_link-vcm_retailer_nam.
value-text = gs_sap_link-vcm_retailer_nam.
append value to list.
clear : gs_sap_link.
endloop.
call function 'VRM_SET_VALUES'
exporting
id = name
values = list.
Hope it will helps
10-01-2008 6:11 AM
Hi,
Check the following code:
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
----
FORM get_data .
SELECT vbeln
FROM vbak
INTO CORRESPONDING FIELDS OF TABLE it_vbak.
ENDFORM. " get_Data
Regards,
Bhaskar