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

Listbox problem

Former Member
0 Likes
445

Hi Friends,

How to create the listbox in the screen ? Please provide me some sample code for it.

Thanks

Raj

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
418

Hi,

Here is sample program :

type-pools : VRM.

tables : pa0000.

parameters : p_pernr like pa0000-pernr as listbox visible length 10 obligatory.

initialization.

data: v_id type vrm_id,

i_list type vrm_values,

wa_list like line of i_list.

v_id = 'P_PERNR'.

wa_list-key = '1'.

wa_list-text = '10000174'.

append wa_list to i_list.

wa_list-key = '2'.

wa_list-text = '10000175'.

append wa_list to i_list.

wa_list-key = '3'.

wa_list-text = '10000176'.

append wa_list to i_list.

p_pernr = '2'. "to set default value 10000175

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

id = v_id

values = i_list

EXCEPTIONS

ID_ILLEGAL_NAME = 1

OTHERS = 2 .

IF sy-subrc <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

----


----


populating list box for second field -

---based on value selected in listbox for first field--


type-pools : vrm.

tables : pa0000,pa0001,sscrfields.

data : begin of it_0000 occurs 0,

pernr like pa0000-pernr,

end of it_0000.

data : begin of it_0001 occurs 0,

pernr like pa0000-pernr,

bukrs like pa0001-bukrs,

end of it_0001.

data : itab type VRM_VALUE.

data : vid type vrm_id.

data : itab1 type VRM_VALUEs ,

itab2 type VRM_VALUEs .

data : flag.

parameters : p_pernr like pa0000-pernr as listbox visible length 10 user-command ucom,

p_bukrs like pa0001-bukrs as listbox visible length 18.

initialization.

select pernr from pa0000 up to 10 rows into table it_0000 WHERE pernr LIKE '%173%'. “similar to CS ‘173’

loop at it_0000.

itab-key = it_0000-pernr.

itab-text = it_0000-pernr.

append itab to itab1.

endloop.

vid = 'P_PERNR'.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

id = vid

values = itab1

EXCEPTIONS

ID_ILLEGAL_NAME = 1

OTHERS = 2

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

at selection-screen output.

if flag = 'X'.

REFRESH ITAB2.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = P_PERNR

IMPORTING

OUTPUT = P_PERNR

.

select pernr bukrs from pa0001 into table it_0001 where pernr = p_pernr.

loop at it_0001.

itab-key = it_0001-bukrs.

itab-text = it_0001-bukrs.

append itab to itab2.

endloop.

vid = 'P_BUKRS'.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

id = vid

values = itab2

EXCEPTIONS

ID_ILLEGAL_NAME = 1

OTHERS = 2

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

clear flag.

endif.

at selection-screen.

case sy-ucomm.

when 'UCOM'.

flag = 'X'.

endcase.

<b><REMOVED BY MODERATOR></b>

Thanks & Regards

ilesh Nandaniya

Message was edited by:

Alvaro Tejada Galindo

2 REPLIES 2
Read only

Former Member
0 Likes
419

Hi,

Here is sample program :

type-pools : VRM.

tables : pa0000.

parameters : p_pernr like pa0000-pernr as listbox visible length 10 obligatory.

initialization.

data: v_id type vrm_id,

i_list type vrm_values,

wa_list like line of i_list.

v_id = 'P_PERNR'.

wa_list-key = '1'.

wa_list-text = '10000174'.

append wa_list to i_list.

wa_list-key = '2'.

wa_list-text = '10000175'.

append wa_list to i_list.

wa_list-key = '3'.

wa_list-text = '10000176'.

append wa_list to i_list.

p_pernr = '2'. "to set default value 10000175

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

id = v_id

values = i_list

EXCEPTIONS

ID_ILLEGAL_NAME = 1

OTHERS = 2 .

IF sy-subrc <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

----


----


populating list box for second field -

---based on value selected in listbox for first field--


type-pools : vrm.

tables : pa0000,pa0001,sscrfields.

data : begin of it_0000 occurs 0,

pernr like pa0000-pernr,

end of it_0000.

data : begin of it_0001 occurs 0,

pernr like pa0000-pernr,

bukrs like pa0001-bukrs,

end of it_0001.

data : itab type VRM_VALUE.

data : vid type vrm_id.

data : itab1 type VRM_VALUEs ,

itab2 type VRM_VALUEs .

data : flag.

parameters : p_pernr like pa0000-pernr as listbox visible length 10 user-command ucom,

p_bukrs like pa0001-bukrs as listbox visible length 18.

initialization.

select pernr from pa0000 up to 10 rows into table it_0000 WHERE pernr LIKE '%173%'. “similar to CS ‘173’

loop at it_0000.

itab-key = it_0000-pernr.

itab-text = it_0000-pernr.

append itab to itab1.

endloop.

vid = 'P_PERNR'.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

id = vid

values = itab1

EXCEPTIONS

ID_ILLEGAL_NAME = 1

OTHERS = 2

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

at selection-screen output.

if flag = 'X'.

REFRESH ITAB2.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = P_PERNR

IMPORTING

OUTPUT = P_PERNR

.

select pernr bukrs from pa0001 into table it_0001 where pernr = p_pernr.

loop at it_0001.

itab-key = it_0001-bukrs.

itab-text = it_0001-bukrs.

append itab to itab2.

endloop.

vid = 'P_BUKRS'.

CALL FUNCTION 'VRM_SET_VALUES'

EXPORTING

id = vid

values = itab2

EXCEPTIONS

ID_ILLEGAL_NAME = 1

OTHERS = 2

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

clear flag.

endif.

at selection-screen.

case sy-ucomm.

when 'UCOM'.

flag = 'X'.

endcase.

<b><REMOVED BY MODERATOR></b>

Thanks & Regards

ilesh Nandaniya

Message was edited by:

Alvaro Tejada Galindo

Read only

ferry_lianto
Active Contributor
0 Likes
418

Hi,

Please check these demo programs.

DEMO_DROPDOWN_LIST_BOX

DEMO_DYNPRO_DROPDOWN_LISTBOX

RSDEMO_DROPDOWN_LISTBOX

Regards,

Ferry Lianto