解决点选搜索帮助时需要回车获取其它字段值问题(搜索帮助根据不同值展示不同类型)

应用场景:选择屏幕值不回车或者第一次进入读取memory中的值,在点选搜索帮助的时候是获取不到其它字段值的变化的。

解决方案:使用函数DYNP_VALUES_READ获取当前屏幕值

  DATA: lt_dynpread TYPE STANDARD TABLE OF dynpread WITH HEADER LINE.
  DATA: lw_dynpread TYPE dynpread .
  lw_dynpread-fieldname = 'P_BUKRS'.
  APPEND lw_dynpread TO lt_dynpread .
  CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
      dyname               = sy-repid
      dynumb               = sy-dynnr
    TABLES
      dynpfields           = lt_dynpread
    EXCEPTIONS
      invalid_abapworkarea = 1
      invalid_dynprofield  = 2
      invalid_dynproname   = 3
      invalid_dynpronummer = 4
      invalid_request      = 5
      no_fielddescription  = 6
      invalid_parameter    = 7
      undefind_error       = 8
      double_conversion    = 9
      stepl_not_found      = 10
      OTHERS               = 11.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
  READ TABLE lt_dynpread INTO lw_dynpread INDEX 1.
  p_bukrs = lw_dynpread-fieldvalue.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值