ABAP标准列表

作者: 常威爆打来福 | 来源:发表于2018-11-02 15:12 被阅读1次

    1 格式化列表输出

    1 字段输出语句

    WRITE [AT /pos(len)] f [<options>].

    2 输出图标符号

    WRITE symbol_name AS SYMBOL.
    WRITE icon_name AS ICON.
    其中symbol_name和icon_name是系统定义的常量。输出符号定义之前,需要先包含这些程序INCLUDE <symbol>.INCLUDE <icon>.或者 INCLUDE <list>.
    在列表中有时也需要将变量以复选框的形式输出WRITE f AS CHECKBOX.

    3 输出线和空格

    输出水平线:ULINE [AT /pos(len)].等价于WRITE [AT /pos(len)] SY-ULINE.
    生成竖直线:WRITE [AT [/][<pos>]] SY-VLINE.等价于WRITE [AT [/][pos]] '|'.

    4 设定输出位置

    • POSITION col. 指定列所在位置
    • SKIP TO LINE n. 指定光标行位置
      以上两句用于指定光标位置
    • NEW-LINE.指定光标起始于一个新行
    • WRITE...UNDER f.指定光标仍位于当前行,但列位置设定为以前输出的字段f的正下方

    5 设定输出格式

    使用FORMAT语句可以实现其他一些屏幕格式功能FORMAT <option> [ON|OFF] <option> [ON|OFF]...一旦设定,FORMAT语句中设置的格式将适用于所有后续输出语句,直到再次使用OFF选项关闭。

    • COLOR n [ON|OFF] 设定列表行的背景色
    • INTENSIFIED [ON|OFF] 设定是否将字段强化输出
    • INVERSE [ON|OFF] 设定是否将背景即文字颜色反转输出
    • HOTSPOT [ON|OFF] 将光标以手型显示,点击触发行选择事件
    • INPUT [ON|OFF] 设定输入字段
    • RESET [ON|OFF] 恢复上述所有设定默认值

    2 页面格式设定

    1 列表标题和栏目元素

    可以通过(Goto->Text elements->List Heading)维护列表标题和最多四个栏目标题;如果没有维护,则列表将默认使用系统变量SY-TITLE中的内容作为标题进行输出。
    可以在REPORT或PROGRAM语句中使用NO STANDARD PAGE HEADING隐藏所有的文本元素中预定的表头行和标题栏。
    REPORT|PROGRAM NO STANDARD PAGE HEADING.
    同时,还可以使用NEW-PAGE语句用自设定的表头行和标题代替标准设定
    NEW-PAGE NO-TITLE|WITH-TITLE NO-HEADING|WITH-HEADING.

    2 页长与叶宽

    在REPORT或PROGRAM语句中使用LINE-SIZE和LINE-COUNT附加项可以为列表创建预定义的行长度及每页列数目,该设定将应用于所有级别的列表
    REPORT|PROGRAM rep LINE-SIZE width LINE-COUNT length [(footer_length)].
    可以使用NEW-PAGE语句在列表级内部设定,该值将覆盖REPORT语句中的全局设定
    NEW-PAGE LINE-SIZE width LINE-COUNT length [(footer_length)].

    3 页眉与页脚

    TOP-OF-PAGE 事件可以在每一个新页面生成时被触发
    END-OF-PAGE 定义页脚,要触发该事件,需要REPORT语句的LINE-COUNT附加项中为其预留输出行数;或者通过RESERVE语句进行触发。页脚事件块中的输出将始终出现在页面下方

    4 设定固定栏

    使用SET LEFT SCROLL-BOUNDARY语句可以设定列表的固定栏
    SET LEFT SCORLL-BOUNDARY column_num.
    该栏不会随列表的水平卷动而改变位置,总是出现在屏幕左侧。如果不指定,则使用SY-SOLNO作为该左侧边界。边界限定必须在每一个新页面中进行(例如TOP-OF-PAGE)
    使用下面的语句可以禁止列表中的下一列在卷动时同时移动,该功能可以使行比较长的列表中对应注释行总是可见NEW-LINE NO-SCROLLING.

    5 跳至任意行

    使用SCROLL语句可以在程序运行过程中随时跳至任意的列表行
    SCROLL LIST TO FIRST PAGE | LAST PAGE | PAGE pag [INDEX idx] [LINE lin].

    6 系统页面列表字段

    在列表输出过程中,系统将填充下列相关的系统字段

    • SY-LINCT REPORT语句中设定的LINE-COUNT
    • SY-LINSZ REPORT语句中设定的LINE-SIZE
    • SY-SROWS 当前显示窗口中的列表行数
    • SY-SCOLS 当前显示窗口中的列表栏目数
    • SY-PAGNO 当前页的页码
    • SY-LINNO 当前输出页面中的当前选定行序号
    • SY-COLNO 当前输出页面中的当前选定列序号

    3 选择屏幕设定

    报表程序一般都包括选择屏幕,该屏幕可以接受用户输入的选择标准,并可以通过其中定义的变式,辅助用户输入。
    选择屏幕可以使用语句PARAMETERS或者SELECT-OPTIONS,SELECTION-SCREEN等语句进行创建和格式化。
    除了屏幕默认的选择屏幕1000之外,用户还可以使用SELECTION-SCREEN语句创建其他选择屏幕,并在适当处使用CALL SELECTION-SCREEN语句调用该选择屏幕。具体语法如下:

    SELECTION-SCREEN BEGIN OF SCREEN scr_nr.
       PARAMETERS ...
       SELECT-OPTIONS ...
    SELECTION-SCREEN BEGIN OF SCREEN scr_nr.
       ...
    CALL SELECTION-SCREEN scr_nr.
    

    4 数据整理输出

    结构化列表数据整理输出的基本流程分为下述环节:定义内表,向内表中填充数据,经过排序,删除重复行等整理循环输出,在循环过程中,还要进行一些控制级的相关操作。

    相关文章

      网友评论

        本文标题:ABAP标准列表

        本文链接:https://www.haomeiwen.com/subject/utsqxqtx.html