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

---恢复内容开始---

REPORT  z_barry_test NO STANDARD PAGE HEADING .

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 Process
PROCESS ON VALUE-REQUEST  .
  FIELD P_bukrs MODULE mf4.
 
然后使用方法二

---恢复内容结束---

REPORT  z_barry_test NO STANDARD PAGE HEADING .

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 Process
PROCESS ON VALUE-REQUEST  .
  FIELD P_bukrs MODULE mf4.
 
然后使用方法二
posted @ 2019-03-30 22:43  木子水皮  阅读(215)  评论(0编辑  收藏  举报