搜索帮助 ON VALUE-REQUEST

举报
雨绸缪 发表于 2023/10/30 16:18:25 2023/10/30
【摘要】 搜索帮助是一种有助于在选择屏幕上输入每个项目的值的功能。AT SELECTION-SCREEN ON VALUE-REQUEST :表示事件“当用户使用 XX 项的搜索帮助时”。语法规则:AT SELECTION-SCREEN ON VALUE-REQUEST FOR <input_field>. " 在选择屏幕上的 Value 请求。实际读取电脑上的文件代码:" 上传文件的屏幕项目SELE...

搜索帮助是一种有助于在选择屏幕上输入每个项目的值的功能。

AT SELECTION-SCREEN ON VALUE-REQUEST :表示事件“当用户使用 XX 项的搜索帮助时”。

语法规则:

AT SELECTION-SCREEN ON VALUE-REQUEST FOR <input_field>. " 在选择屏幕上的 Value 请求。
  1. 实际读取电脑上的文件代码:
" 上传文件的屏幕项目
SELECTION-SCREEN BEGIN OF LINE.
	SELECTION-SCREEN COMMENT (10) TEXT-S01 FOR FIELD P_FILE.
	PARAMETERS P_FILE TYPE STRING.
SELECTION-SCREEN END OF LINE.

" 对 P_FILE 值的搜索帮助
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
	CHANGING
		FILENAME = LV_FILENAME
		PATH     = LV_PATH
		FULLPATH = P_FILE. 

对于由 PARAMETERS 指令定义的屏幕项,定义了一个名为“调用该项的帮助时”的事件。

  1. 对采购订单号的搜索帮助:
REPORT ZSAMPLE.

PARAMETERS: p_purch_order TYPE EKKO-EBELN.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_purch_order.
  DATA: lt_ekko TYPE TABLE OF EKKO,
        ls_ekko TYPE EKKO,
        lv_selected TYPE EKKO-EBELN.

  SELECT * FROM EKKO INTO TABLE lt_ekko.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield        = 'EBELN'
      value_org       = 'S'
    TABLES
      value_tab       = lt_ekko
    EXCEPTIONS
      parameter_error = 1
      no_values_found = 2
      OTHERS          = 3.

  IF sy-subrc = 0.
    READ TABLE lt_ekko WITH KEY EBELN = lv_selected INTO ls_ekko.
    IF sy-subrc = 0.
      p_purch_order = ls_ekko-EBELN.
    ENDIF.
  ENDIF.

如果存在字典输入帮助

如果搜索帮助与屏幕项相关联(这称为字典输入帮助),则不需要上述代码。

上述“公司代码”项是指字典,但由于搜索帮助分配给该词典,因此无需任何特殊设置即可使用搜索帮助。


PARAMETERS P_BURKS TYPE BUKRS.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_BUKRS.
  
  CALL FUNCTION 'F4_FILENAME'
    IMPORTING
      FILE_NAME = P_BUKRS.

结果由“值请求”搜索帮助而不是字典输入帮助获得。 这意味着,如果执行上述示例代码,系统将调用帮助来选择文件,而不是公司代码的输入帮助。 (不用说,结果是一个错误。 )

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。