‎2007 Sep 24 9:22 PM
Hi Friends,
How to create the listbox in the screen ? Please provide me some sample code for it.
Thanks
Raj
‎2007 Sep 24 9:23 PM
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.
----
----
---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
‎2007 Sep 24 9:23 PM
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.
----
----
---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
‎2007 Sep 24 9:25 PM
Hi,
Please check these demo programs.
DEMO_DROPDOWN_LIST_BOX
DEMO_DYNPRO_DROPDOWN_LISTBOX
RSDEMO_DROPDOWN_LISTBOX
Regards,
Ferry Lianto