Abap 如何设置默认值并读取下拉列表框的选定值
所以我通过Screen Painter(SE51)添加了一个下拉类型为Listbox的字段 我已经使用PBO和VRM_SET_VALUES函数将数据绑定到下拉列表中 我对此有两个问题Abap 如何设置默认值并读取下拉列表框的选定值,abap,dynpro,Abap,Dynpro,所以我通过Screen Painter(SE51)添加了一个下拉类型为Listbox的字段 我已经使用PBO和VRM_SET_VALUES函数将数据绑定到下拉列表中 我对此有两个问题 如何设置绑定数据的选定值 如何获得用户选择的值 使用以下代码将数据绑定到下拉列表 LOOP AT it_zzdelay_text INTO wa_zzdelay_text. wa_listbox-key = wa_zzdelay_text-zz_delay_reason. wa_listbox-text
LOOP AT it_zzdelay_text INTO wa_zzdelay_text.
wa_listbox-key = wa_zzdelay_text-zz_delay_reason.
wa_listbox-text = wa_zzdelay_text-zz_delay_reason_text.
APPEND wa_listbox TO it_listbox.
ENDLOOP.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'ZZ_DELAY_REASON'
values = it_listbox.
zz\u delay\u reason是唯一键,zz\u delay\u reason\u text是随附文本。更新:
根据您的代码,屏幕上的字段应为:ZZ\u DELAY\u REASON
您还需要一个名为的全局变量
然后您可以在PBO/PAI中设置/获取键值:
设定值:
ZZ_延迟_原因='KEY'
获取所选值(键):
lv_键=ZZ_延迟原因
======================================================
当选择列表由VRM_set_值设置时,您可能会注意到它是一个“键值”对。当用户选择drop box(下拉框)时,“键”字段将填充到屏幕字段值中
如果您在这个问题中附加代码,我可以提供详细信息。首先,要创建一个功能下拉列表,必须满足几个先决条件:
vrm\u值
text
。键应位于字段键中
LISTBOX
vrm_值
type完成。此类型的每一行都是一个下拉项,text
是可见文本,key
是键REPORT drop-down.
TYPE-POOLS: vrm.
PARAMETERS p_werks LIKE t001w-werks VISIBLE LENGTH 20 AS LISTBOX OBLIGATORY.
DATA: t_werks TYPE vrm_values,
w_line LIKE LINE OF t_werks.
INITIALIZATION.
SELECT werks name1
FROM t001w INTO (w_line-key, w_line-text).
APPEND w_line TO t_werks.
ENDSELECT.
AT SELECTION-SCREEN OUTPUT.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'P_WERKS'
values = t_werks.
END-OF-SELECTION.
WRITE: / 'Selected factory:', p_werks.
只需使用用于定义屏幕字段的变量。。。?如果没有一些代码,我们将无法提供更多建议…@vwegert-ay-thinks?我不得不求助于创建搜索帮助来解决这个问题。想通过正确地实现下拉控制器来纠正这个错误吗?他现在的想法是:“提供一个完整的示例,而不仅仅是一些随机的代码片段。”我既没有时间也没有精力进行复杂的猜测。hi@terence4444,我已经添加了用于将数据绑定到下拉控制器的代码。