SAP ABAP PARAMETERS与Dialog屏幕默认不可输

SAP参数输入字段默认不可直接编辑,需通过F4搜索功能带入值:1)在PARAMETERS中,使用AT SELECTION-SCREEN OUTPUT设置屏幕属性为不可输入,并通过F4IF_FIELD_VALUE_REQUEST函数实现F4帮助;2)在Dialog屏幕中,通过MF4模块调用相同函数实现F4搜索功能。两种方式均强制显示搜索帮助界面(display='F'),用户需通过搜索选择值而非直接输入。

1、PARAMETERS,代码与展示效果如下:

PARAMETERS: p_date TYPE SY-DATUM    MODIF ID d2,
            p_bukrs TYPE zficot064-bukrs MODIF ID d2. 


*--------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT.

  CASE screen-name.
      WHEN 'P_DATE' OR 'P_BUKRS'.
        screen-input = 0.
    ENDCASE.

    MODIFY SCREEN.
  ENDLOOP.

*--------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_bukrs.
  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
      tabname     = 'T001'
      fieldname   = 'BUKRS'
      dynpprog    = sy-repid
      dynpnr      = sy-dynnr
      dynprofield = 'P_BUKRS'
      display     = 'F'.   " <-- Force

2、Dialog屏幕

*&---------------------------------------------------------------------*
*&      Module  MF4  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE mf4 INPUT.

  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
      tabname     = 'T001'
      fieldname   = 'BUKRS'
      dynpprog    = sy-repid
      dynpnr      = sy-dynnr
      dynprofield = 'ZFICOT063-BUKRS'
      display     = 'F'.   " <-- Force

ENDMODULE.

展示效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员在路上...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值