Berikut contoh program sederhana untuk membuat List Box .
*&---------------------------------------------------------------------*
*& Report ZLIST_BOX
*&
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zlist_box.
TYPE-POOLS: vrm.
DATA : t_itab TYPE STANDARD TABLE OF sairport WITH HEADER LINE,
t_data LIKE TABLE OF t_itab WITH HEADER LINE.
DATA : w_value
TYPE vrm_value,
t_values
TYPE vrm_values,
n_value TYPE vrm_id.
PARAMETERS : p_list(10) AS LISTBOX VISIBLE LENGTH 15.
AT SELECTION-SCREEN OUTPUT.
PERFORM : fm_create_list_box.
START-OF-SELECTION.
PERFORM : fm_collect_data,
fm_display_data.
*&---------------------------------------------------------------------*
*& FORM fm_create_list_box
*&---------------------------------------------------------------------*
*text
*----------------------------------------------------------------------*
* t_itab menyimpan data yang akan ditampilkan dalam list box
* yang kemudian akan dimasukkan dalam t_values
* CALL FUNCTION 'VRM_SET_VALUES' digunakan untuk mengisi data
* list box.id diisi dg parameter dari list box
*----------------------------------------------------------------------*
FORM fm_create_list_box.
SELECT *
FROM sairport
INTO CORRESPONDING FIELDS OF TABLE t_itab.
n_value = 'p_list'.
LOOP AT t_itab.
CLEAR w_value.
w_value-key = t_itab-id.
w_value-text = t_itab-name.
APPEND w_value TO t_values.
ENDLOOP.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = n_value
values = t_values.
IF sy-subrc <> 0.
.
ENDIF.
ENDFORM. "FM_CREATE_LIST_BOX
*&---------------------------------------------------------------------*
*& FORM fm_collect_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fm_collect_data .
SELECT *
FROM sairport
INTO CORRESPONDING FIELDS OF TABLE t_data
WHERE id = p_list.
ENDFORM. "FM_COLLECT_DATA
" FM_COLLECT_DATA
*&---------------------------------------------------------------------*
*& Form FM_DISPLAY_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM fm_display_data .
LOOP AT t_data.
WRITE :/ t_data-id,
t_data-name,
t_data-time_zone.
ENDLOOP.
ENDFORM. "fm_display_data
Tidak ada komentar:
Posting Komentar