Abap 如何设置默认值并读取下拉列表框的选定值

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

所以我通过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 = 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,我已经添加了用于将数据绑定到下拉控制器的代码。