SAP Seçim Ekranında Listbox Oluşturma
- 1
- 1
- 0
- 0
- 0
- 0
Merhaba bu yazımızda SAP seçim ekranlarında listbox alanlara ihtiyaç duyulmaktadır. Aşağıdaki adımları uygulayarak listbox oluşturabiliriz.
//Veri Tanımlamaları
DATA: gs_list TYPE vrm_value,
gs_values TYPE dynpread.
//Seçim Ekranı
Parameters: p_list TYPE LISTBOX.
//Listbox Okuma
CLEAR: gs_values, gt_values.
REFRESH gt_values.
gs_values-fieldname = 'P_LIST'.
APPEND gs_values TO gt_values.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
TABLES
dynpfields = gt_values.
READ TABLE gt_values INDEX 1 INTO gs_values.
IF sy-subrc = 0 AND gs_values-fieldvalue IS NOT INITIAL.
READ TABLE gt_list INTO gs_list
WITH KEY key = gs_values-fieldvalue.
IF sy-subrc = 0.
gv_answer = gs_list-text.
ENDIF.
ENDIF.
//Listbox Doldurma
SELECT DISTINCT belnr
FROM bseg
INTO TABLE @DATA(lt_values)
ORDER BY snumb.
LOOP AT lt_values INTO DATA(ls_values).
gs_list-key = ls_values-snumb.
gs_list-text = ls_values-snumb.
APPEND gs_list TO gt_list.
ENDLOOP.
IF lt_values [] IS NOT INITIAL.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'P_LIST'
values = gt_list
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
ENDIF.