Para crear un listbox debemos insertar un campo del tipo desplegable 'Listbox' en nuestra DYNPRO. En el PBO ( o evento AT SELECTION-SCREEN OUTPUT), debemos utilizar el módulo de función VRM_SET_VALUES con la tabla que contiene los valores (ID y Texto) que se deberá haber rellenado antes. Tienes que declaro pool de tipos TYPE-POOLS: vrm. Además el campo PARAMETERS debe ser listbox y visible con una longitud ( as LISTBOX VISIBLE LENGTH 6 ).
También tenemos la función VRM_GET_VALUES para recuperar los valores o sino accediendo directamente al parámetro p_funint.
PARAMETERS: p_funint TYPE crmt_partner_fct AS LISTBOX VISIBLE LENGTH 30.
DATA: it_vrm TYPE vrm_values.
DATA: wa_vrm TYPE LINE OF vrm_values.
DATA: gv_name TYPE vrm_id VALUE 'P_FUNINT'.
*************************************************************************
AT SELECTION-SCREEN OUTPUT.
**************************************************************************
SELECT partner_fct AS key description AS text
FROM crmc_partner_ft
INTO CORRESPONDING FIELDS OF TABLE it_vrm
WHERE spras EQ sy-langu.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = gv_name
values = it_vrm.