ABAP报表程序编写规范

一、              程序的结构:

典型的ABAP报表程序是由多个代码区域组成,各代码区的存放位置以下列顺序为准,具体格式如下:

*---------------------------------------------------------------

* REPORT NAME : 报表名称及格式

*---------------------------------------------------------------

REPORT Z________程序名称.

       NO STANDARD PAGE HEADING

          MESSAGE-ID __    “ 所使用的 MESSAGE

          LINE-COUNT ___   “ 输出时每页报表行数

          LINE-SIZE ___. “ 输出时每页报表的宽度
 

 

*---------------------------------------------------------------

* TABLES: 声明报表中使用到的数据表

*---------------------------------------------------------------

TABLES:    “数据表名

    [STATMENTS]

 

*---------------------------------------------------------------

* DATA: 定义报表中使用到的变量及内表

*---------------------------------------------------------------

DATA:


*---------------------------------------------------------------

* CONSTANTS: 定义常量

*---------------------------------------------------------------

CONSTANTS:


*---------------------------------------------------------------

* SELECTION-SCREEN:定义选择屏幕中的选择字段

*---------------------------------------------------------------

 SELECTION-SCREEN BEGIN OF BLOCK ____

       SELECT-OPTIONS:

PARAMETERS:

 SELECTION-SCREEN END OF BLOCK ___


*---------------------------------------------------------------

* INITIALIZATION : 程序初始化时所执行的代码

*---------------------------------------------------------------

INITIALIZATION.

    [CODE]

 

*---------------------------------------------------------------

* AT SELECTION-SCREEN :在选择屏幕上执行的代码(多用于权限判断,警告信息)

*---------------------------------------------------------------

AT SELECTION-SCREEN :

    [CODE]

 

*---------------------------------------------------------------

* START-OF-SELECTION:程序运行所处理的代码

*---------------------------------------------------------------

START-OF-SELECTION.

    [CODE]

 

*---------------------------------------------------------------

* DEFINE :定义宏

*---------------------------------------------------------------

DEFINE .

    [STATMENTS]

END-OF-DEFINITION..

 

*---------------------------------------------------------------

* END-OF-SELECTION:程序输出时所运行的代码

*---------------------------------------------------------------

END-OF-SELECTION.

    [CODE]

 

*---------------------------------------------------------------

* TOP OF PGAE :输出屏幕的页眉

*---------------------------------------------------------------

TOP OF PGAE.

    [CODE]

 

*---------------------------------------------------------------

* END OF PGAE :输出屏幕的页脚

*---------------------------------------------------------------

END OF PGAE.

    [CODE]

 

*---------------------------------------------------------------

* FORM :定义子程序

*---------------------------------------------------------------

FORM.
.

    [STATMENTS]

ENDFORM.

二、              程序变量的定义

   程序中变量的定义分为两种,对声明的变量尽量多加注释,以提高程序的可读性。

1、  全局变量的定义:

定义在“AT SELECTION-SCREEN”声明之前的变量都为全局变量,全局变量多为内表。变量应该总是被定义在尽可能小的范围内,全局变量使得模块间的耦合增加,提高了程序的复杂性,也使代码的重用和维护更加困难,应尽可能少的定义全局变量。

 

2、  局部变量的定义:

定义在“START-OF-SELECTION”声明之后的变量为局部变量。

 

1)        基本数据类型:

 

   数据类型   默认大小   有效大小      初始值           说明

C           1         1-65535Byte      Space         文本、字符, 如’Program’

D           8          8           ‘00000000’     日期, 格式:YYYYMMDD

F           8          8                 0          浮点数         

I           4          4                 0          整数

N           1         1-65535        ‘00…0’      数字文本  

P           8         1-16              0           压缩号

T           6          6          ‘000000’        时间, 格式:HHMMSS

X           1         1-65535        X’00’        16进制

 

2)        一般变量命名规则:

 

   数据类型              前缀                     例子

C                        c                          cName

D                        d                          dDate

F                        f                          fRatio

I                        i                          iCount

N                        n                          nPostCode

P                        p                          pNumber

T                        t                          tTime

 

3)        作用范围相关前缀:

 

前缀                                                       描述

g_                                  全局变量

m_                                  在INCLUDE创建的变量

没有前缀                            非静态变量,或者过程中的变量

 

3、  内表的定义

内表的名称统一命名以 T开头后跟数字,如若定义多张内表,应对其分别加以注释说明,内表内的字段如果从透明表中取值,应以透明表中字段名称一致,如遇相同,可在其末尾用数字加以区分,如BEZEI1、BEZEI2。对于不常用到的表字段应用注释加以说明。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23537555/viewspace-660592/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23537555/viewspace-660592/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值