屏幕字段不允许直接输入,只能通过SearchHelp(F4)

PARAMETERS: p_date TYPE sy-datum ,
            p_bukrs LIKE t001-bukrs ,
            p_str(10).

AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
    CASE screen-name.
      WHEN 'P_DATE' OR 'P_BUKRS'.
        screen-input = 0.
    ENDCASE.
    MODIFY SCREEN.
ENDLOOP.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_date. "方法一
CALL FUNCTION 'F4_DATE'
    IMPORTING
      select_date = p_date.
LEAVE SCREEN.

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


如果是自定义的Screen,可以使用POV ProcessPROCESS ON VALUE-REQUEST .
FIELD P_bukrs MODULE mf4.然后使用方法二

你可能感兴趣的:(屏幕字段不允许直接输入,只能通过SearchHelp(F4))