• SELECTION-SCREEN BUTTON


    BAP SELECTION-SCREEN按钮

    在选择屏幕 上创建按钮

    要在选择屏 幕上创建按 钮,可以与 PUSHBUTTON 参数一起使 用 SELECTION-SCREEN 语句。语法 如下:

    语法

    SELECTION SCREEN PUSHBUTTON [/] <pos(len)> <name> 
                                USER-COMMAND <ucom> [MODIF ID <key>].
    参数 [/]<pos(len)>、 <name> 和 MODIF ID 选项与在注释. 中对 COMMENT 选项进行的 描述相同。
    在 <name> 中指定的文 本是按钮文 本。
    对于 <ucom>, 必须指定最 多为 4 字符的代码 。当用户在 选择屏幕上 单击按钮时 ,<ucom> 被输入词典 字段 SSCRFIELDS-UCOMM。

    必须使用 TABLES 语句声明 SSCRFIELDS。

    可以在事件 AT SELECTION-SCREEN (参见 AT SELECTION-SCREEN )中检查 SSCRFIELDS-UCOMM 字段的内容 。
    下列示例与 展示应用工 具条按钮的 示例(参见 在应用工具条中创建按钮 )的效果相 同。但是, 按照“ SAP 风格指南” ,建议尽可 能把按钮放 在应用工具 条中。

    TABLES SSCRFIELDS.
    DATA FLAG.
    PARAMETERS TEST.
    SELECTION-SCREEN PUSHBUTTON /20(10) BUT1
                                        USER-COMMAND CLI1.
    SELECTION-SCREEN PUSHBUTTON /20(10) TEXT-020 
                                        USER-COMMAND CLI2.
    INITIALIZATION.
       BUT1 = 'Button 1'.
    AT SELECTION-SCREEN.
       IF SSCRFIELDS-UCOMM = 'CLI1'.
          FLAG = '1'.
       ELSEIF SSCRFIELDS-UCOMM = 'CLI2'.
          FLAG = '2'.
    ENDIF.
    START-OF-SELECTION.
       IF FLAG = '1'.
          WRITE / 'Button 1 was clicked'.
       ELSEIF FLAG = '2'.
          WRITE / 'Button 2 was clicked'.
       ENDIF.

    如果文本符 号 TEXT-020 被定义为“ Button 2”(参见 文本符号 ),该示例 使具有文本 “Button 1”和“Button 2”的两个 按钮出现在 选择屏幕上 ,如下所示 :


    CLI1 和 CLI2 用于 <ucom>。 当用户单击 按钮时,内 部标志 FLAG 按照时间事 件 AT SELECTION-SCREEN 中的定义进 行设置。FLAG 
    字段可以在 程序的后续 流程中进行 进一步的处 理(参见 通过事件控制 ABAP/4 程序流 )。

    另外也可以直接用SSCRFIELDS

    示例:

    Tables:SSCRFIELDS.

    SELECTION-SCREEN FUNCTION KEY 1.                   "工具栏按钮,最多5个
    SELECTION-SCREEN FUNCTION KEY 2.


    INITIALIZATION .
      input = '输入查询条件'.
       sscrfields-functxt_01 = '@HH@ 上传作废标记'.
       sscrfields-functxt_02 = '@HH@ 上传增值税号码'.
    @HH@ 按钮进入表icon看到所有的

    AT SELECTION-SCREEN.
      CASE sy-ucomm . " sy-dynnr sscrfields-ucomm
        WHEN 'FC01'. "   该user command为系统规定
          PERFORM frm_upload_file.
          PERFORM frm_write_flag.

        WHEN 'FC02'. 
          PERFORM frm_upload_file.
          PERFORM frm_write_num.
        WHEN OTHERS.
      ENDCASE.

  • 相关阅读:
    IO模型
    协程
    线程
    进程
    网络编程
    模块二
    面向对象(二)
    面向对象(一)
    优化异常报错
    python 模块
  • 原文地址:https://www.cnblogs.com/eric0701/p/3444809.html
Copyright © 2020-2023  润新知