REPORT repname NO STANDARD PAGE HEADING ABAP官方参考学习
(2016-11-10 11:39:56)| 分类: sap-abap |
程序引入语句详解Executable Program
这种类型的程序使用如下引入语句
REPORT
其中repname必须直接给定,一般ABAP程序同名。
以下三者为列表选项:
NO STANDARD PAGE HEADING
在程序输出的列表中不输出页眉(如果页面分栏的话,不输出每栏的header),并且把系统变量sy-wtitl设置为“N”。在(程序中)可以通过给NEW-PAGE语句追加NO-TITLE|WITH-TITLE,NO-HEADING|WITH-HEADING来覆盖此项设置。
LINE-SIZE
指定了程序中基础列表和明细列表的行宽,即将每行的字符数限制为width指定的值,同时影响系统变量sy-linsz的值(同width)。进而影响到页面上一次能显示的列的数目,另外width必须为正整数,最大值为1023。
如果不指定此选项,则设置为基于当前dynpro窗口的默认宽度,但是最少是一个标准SAP窗口的宽度。这个语句在有SUBMIT的语句出现时覆盖其LINE-SIZE值,并且在列表创建的时候可以被NEW-PAGE语句的LINE-SIZE给覆盖。
注意:当前最大的行宽值,存储在名为SLIST的类型组中的常量slist_max_linesize中。其中也定义了类型为c的slist_max_listline的类型。
LINE-COUNT
[(footer_lines)],这个语句为程序中基本列表指定了页面长度为page_lines,并且给sy-linct这个系统变量赋值。如果不指定这个属性,或者page_lines的值小于等于0或者大于6w,那么页面长度就被内置为6W。这个语句在有SUBMIT的语句出现时覆盖其LINE-SIZE值,并且在列表创建的时候可以被NEW-PAGE语句的LINE-COUNT给覆盖。如果给footer_lines赋值了,那么就为页脚保留指定值的行数,以便可以在事件处理快END-OF-PAGE中处理。二者必须都为数字类型。
MESSAGE-IDmid
通过指定mid,使得可以在仅有消息类型和消息编号在程序中被指定的时候,使用MESSAGE语句的简短形式。消息在程序中必须直接指定,并且出现在数据表T100中的ARBGB列。当在MESSAGE中制定了消息类的时候,就覆盖了MESSAGE-ID给出的值。
例:
REPORT
上例,为程序z_myreport指定SABAPDOCU作为默认的消息类。
DEFINING DATABASE
表明当前的程序是逻辑数据库ldb的数据库程序。逻辑数据库的名字最长20字符。ldb都是在ABAP工作台中的逻辑数据库构建器中维护的,因此程序框架是自动生成的,并且包括了Report语句。框架程序的名字是SAPDBldb(注意名字的后三个字母)。
例如:引入的逻辑数据库是FlS,那么
REPORT
Module Pools 和 Subroutine Pools
PROGRAM
整体来说,用法和用量同Executable Program。只不过在Module
Pools中PROGRAM义同REPORT。
在子程序中只有MESSAGE-ID有效,列表选项被忽略。因为子程序没有自己的列表缓冲区,而且输出也是写入到调用它的程序的当前列表中。
Function Groups
FUNCTION-POOLfpool
[list_options]
用法用量同上。总体来说Function Group是ABAP workbench中可以创建的(t-code:Se80),创建的时候,总是自动生成一个主程序,再起顶层包含语句中有这条引入语句。完整的 function group在Repository中包含了一个有SAPL作为前缀和fpool作为后缀的名字。
Class pools
CLASS-POOL
用法用量同Report
Interface Pools
INTERFACE-POOL.
用法用量同Report。
Type Groups
TYPE-POOL
用法用量同上。类型组其实是定影在ABAP数据词典中的,其中包括了一个自动生成的程序中叶包含了TYPE-POOL语句。类型组中只能包含如下语句:
INCLUDE
TYPES
TYPE-POOLS
CONSTANTS
DEFINE和END-OF-DEFINITION
使用DEFERRED
PUBLIC或
其中声明数据类型、常量和宏,必须使用tpool作为其名字的前缀。通过TYPE-POOLS语句,类型组可以被集成到其他的ABAP程序中。
注意:
类型组的名字最长5个字符
类型组中的类型都是ABAP数据字典中定义的通用类型的predecessors
6.40以后,数据类型和常量,必须定义在全局类中的公共可见字段,在那里,类型组是完全可以替换的。
为了防止使用LIKE关键字造成的类型引用冲突,类型组中的常量,不能与ABAP数据字典中早已经定义的扁平结构和数据表重名。
例,一个组,带有表定义
TYPE-POOL mytgr.
TYPES mytgr_spfli_tab TYPE HASHED TABLE OF spfli WITH UNIQUE KEY
carrid connid.

加载中…