POPUP_GET_VALUES特殊设置

DATA: lt_value      TYPE TABLE OF sval,
      lv_returncode TYPE char2.
​
lt_value = VALUE #( ( tabname = 'BKPF' fieldname = 'BUDAT' field_obl = 'X' value = sy-datum )
                    ( tabname = 'BKPF' fieldname = 'BELNR' field_obl = 'X'  )
                    ( tabname = 'BKPF' fieldname = 'GJAHR' field_obl = 'X' value = sy-datum+0(4) ) ).
​
CALL FUNCTION 'POPUP_GET_VALUES'
  EXPORTING
    popup_title     = '请输入数据'
  IMPORTING
    returncode      = lv_returncode
  TABLES
    fields          = lt_value
  EXCEPTIONS
    error_in_fields = 1
    OTHERS          = 2.
IF sy-subrc = 0 AND lv_returncode <> 'A'."A:取消
  TRY.
​
    CATCH cx_sy_itab_line_not_found.
  ENDTRY.
ENDIF.

可看不可输入,可看值作为存储地点(QALS-LAGORTCHRG)搜索帮助的条件

field_attr = '02'

field_attr = '05' 值不在域SPO_FATTER中,但跟代码可以查到

 

 

DATA: lt_value      TYPE TABLE OF sval,
      lv_returncode TYPE c.
       
lt_value = VALUE #( ( tabname = 'QALS' fieldname = 'LAGORTCHRG' field_obl = 'X' value = '' ) ).
lt_value = VALUE #( BASE lt_value ( tabname = 'QALS' fieldname = 'MATNR' value = '321456987' field_attr = '05' ) ).
lt_value = VALUE #( BASE lt_value ( tabname = 'QALS' fieldname = 'WERK'  value = '1011'  field_attr = '05' ) ).
lt_value = VALUE #( BASE lt_value ( tabname = 'QALS' fieldname = 'CHARG' value = '4654244' field_attr = '05' ) ).
​
CALL FUNCTION 'POPUP_GET_VALUES'
    EXPORTING
      popup_title     = '请输入'
    IMPORTING
      returncode      = lv_returncode
    TABLES
      fields          = lt_value
    EXCEPTIONS
      error_in_fields = 1
      OTHERS          = 2.
IF sy-subrc <> 0.
    RETURN.
ENDIF.

POPUP里面实现搜索帮助的两种方式

  1. 如果参考字段的搜索帮助中defaulvalue存在parameterID,则是直接给parameterID

  2. 不满足情况1的时候,将搜索帮助的字段的值作为不可编辑的值输出在屏幕上,如上代码如下图。跟踪代码发现如果有值则会将值写道搜索帮助里

金额字段不给编辑,缺乏单位字段

可以将字段写入到内表中,但是属性设置为不显示,即可。

lt_value = VALUE #( ( tabname = 'ACDOCA' fieldname = 'HSL' field_obl = 'X' value = '' ) ).
lt_value = VALUE #( BASE lt_value ( tabname = 'ACDOCA' fieldname = 'WERAS' field_attr = '04' ) ).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值