• SCREEN 处理


    1).SCREEN 设计
    TABLES: SSCRFIELDS.
    PARAMETERS: P_EBLEN LIKE VBRK-EBLEN DEFAULT ' '.
    PARAMETERS: P_CK1 AS CHECKBOX DEFAULT 'X'.
    PARAMETERS: P_CK2 AS CHECKBOX.
    PARAMETERS: P_RAD1 RADIOBUTTON GROUP SG1 DEFAULT 'X'.
    PARAMETERS: P_RAD2 RADIOBUTTON GROUP SG1 .

    SELECT-OPTIONS: S_EBLEN FOR VBRK-EBLEN NO-EXTENSTION. “无后边的箭头
    SELECT-OPTIONS: S_EBLEN FOR VBRK-EBLEN NO INTERVALS. ”无到后边的选项
    SELECTION-SCREEN SKIP 1. "产生空行



    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE t02.   一行输出
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT (20) TEXT-001."屏幕上输出文本
    PARAMETERS p_ck1 as checkbox.
    SELECTION-SCREEN COMMENT (15) FOR FIELD p_ck1.
    PARAMETERS p_ck2 as checkbox.
    SELECTION-SCREEN COMMENT (15) FOR FIELD p_ck2.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK b2.


    SELECTION-SCREEN BEGIN OF LINE . "将元素排列到一行

    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN ULINE. "画直线
    SELECTION-SCREEN COMMENT 10(20) TEXT-001."屏幕上输出文本

    SELECTION-SCREEN BEGIN OF BLOCK BK1 WITH FRAME TITLE TEXT-002.

    SELECTION-SCREEN END OF BLOCK BK1.

    SELECTION-SCREEN PUSHBUTTON 50(10) TEXT-003 USER-COMMAND BUT1. "产生按钮
    SELECTION-SCREEN FUNCTION KEY 1. "工具条按钮 最多为5个.
    PARAMETERS: <P> .... MEMORY ID <PID>. "从全局SAP内存(SPA/GPA参数)使用缺省值
    SET PARAMETERS ID 'HK' FIELD 'Test Parameters' "以'HK'为名称在全局SAP内存中存储值.
    PARAMETERS: P_TEST(16) TYPE C MEMORY ID HK. "使用缺省值
    GET PARAMETERS ID ' ' FIELD ' '.


    INITIALIZATION.
    SSCRFIELDS-FUNCTXT_01 = 'Button 1'.
    SSCRFIELDS-UCOMM = 'FC01'.

    (2).修改SCREEN
    NAME              “字段名称
    GROUP1            ”字段组1
    GROUP2            “字段组2
    GROUP3            ”字段组3
    GROUP4            “字段组4
    ACTIVE            ”可见并准备输入的字段
    REQUIRED          “强制输入的字段
    INPUT             ”字段准备输入
    OUTPUT            ”字段仅用来显示
    INTENSIFIED       ”高亮显示字段
    INVISIBLE         “字段不可见
    LENGTH            “设置字段长度
    DISPLAY_3D        “以3围框架显示字段
    VALUE_HELP        ”显示有值帮助的字段


    在PBO模块中对字段进行属性修改

    MODULE MODIFY_SCREEN OUTPUT.
         LOOP AT SCREEN.
             CHECK SCREEN-GROUP1 = 'MOD'.
             SCREEN-INPUT = 0.
             MODIFY SCREEN.
        ENDLOOP.
    ENDMODULE.

    (3) 使用子屏幕
        CALL SUBSCREEN <AREA> INCLUDING <PROGRAM> <SCREEN>

    (4)设置光标位置
        SET CURSOR FIELD <FIELD_NAME> OFFSEY <POSITION> 设置光标的特定位置
    (5)设置下一个屏幕
        SET SCREEN <SCREEN_NUMBER>.
        CALL SCREEN <SCREEN_NUMBER>.调用新的屏幕序列

        LEAVE TO SCREEN 0.
        SET SCREEN 0.
        LEAVE SCREEN.
    (6)后台处理屏幕
        可以使用SUPPRESS DIALOG 取消所有屏幕.
    *---------PBO MODULE OF SCREEN 100.
    CALL SCREEN 110 STARTING AT 10 5.

    *---------SCREEN 110 FLOW LOGIC
    MODULE DIALOG_WINDOWS OUTPUT.
    SUPPRESS DIALOG.
    LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
    WRITE: /.
    WRITE: /.
    ENDMODULE.
    (7)报表及选择屏幕事件过程
    报表事件过程
    INITIALIZATION 用于屏幕初始化,例如屏幕字段默认值的填充
    START-OF-SELECTION
    END-OF-SELECTION
    选择屏幕事件 在INITIALIZATION之前 STATR-OF-SELECTION之后触发

    AT SELECTION-SCREEN OUTPUT."对选择屏幕字段进行修改
    AT SELECTION-SCREEN INPUT.
    处理特殊输入字段
    AT SELECTION-SCREEN ON <FIELD>
    创建值输入列表
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR <FIELD>.
    创建输入字段的帮助
    AT SELECTION-SCREEN ON HELP-REQUEST FOE <FIELD>.
    处理单选按钮组
    AT SELECTION-SCREEN ON RADIOBUTTON GROUP <RADIO>
    处理输入字段块
    AT SELECTION-SCREEN ON BLOCK <BK1>.
    这篇文章涉及到了选择屏幕的一些基本控件和事件过程,有些功能在实际的开发过程中还没用到,有不足的地方也请各位网友给出指正.

  • 相关阅读:
    SpringBoot配置文件数据格式三种写法
    实施工程师
    Linux命令大全
    PDCA原则
    cmd命令下载maven管理需要的依赖jar包
    java集合体系结构总结
    回溯
    红黑树详解
    Java 垃圾回收算法
    MySQL优化:如何避免回表查询?什么是索引覆盖
  • 原文地址:https://www.cnblogs.com/eric0701/p/2599195.html
Copyright © 2020-2023  润新知