一、              程序的结构:
典型的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。对于不常用到的表字段应用注释加以说明。

ABAP报表程序编写规范 .的更多相关文章

  1. 20151009 C# 第一篇 程序编写规范

    20151009 程序编写规范 1. 代码书写规则: 1).尽量使用接口,然后使用类实现接口. 2).关键语句写注释 3).避免写超过5个参数的方法,如果要传递多个参数,则使用结构 4).避免代码量过 ...

  2. C#程序编写规范

    代码书写规则 1.尽量使用接口,然后使用类实现接口,提高程序的灵活性. 2.一行不要超过80个字符. 3.尽量不要手工更改计算机生成的代码,若必须要改,一定要改为和计算机生成的代码风格一样. 4.关键 ...

  3. Java学习---Java代码编写规范

    编码规范 1 前言为确保系统源程序可读性,从而增强系统可维护性,java编程人员应具有基本类似的编程风格,兹制定下述Java编程规范,以规范系统Java部分编程.系统继承的其它资源中的源程序也应按此规 ...

  4. java编写规范

    编码规范 转载于:https://www.cnblogs.com/ftl1012/p/javaCode.html 1 前言为确保系统源程序可读性,从而增强系统可维护性,java编程人员应具有基本类似的 ...

  5. Java代码编写规范(转载)

    编码规范 1 前言为确保系统源程序可读性,从而增强系统可维护性,java编程人员应具有基本类似的编程风格,兹制定下述Java编程规范,以规范系统Java部分编程.系统继承的其它资源中的源程序也应按此规 ...

  6. ABAP报表中负值展示问题的处理方法

    现象描述 在使用ABAP报表展示数据的时候会涉及到金额类字段,在手动计算金额的时候,有时会发生存在负值而无法正常展示的情况.  处理过程 ABAP报表的数据展示常用的方法有两种,分别是表控制和ALV ...

  7. 基于Asterisk的VoIP开发指南——(2)Asterisk AGI程序编写指南

    原文:基于Asterisk的VoIP开发指南--(2)Asterisk AGI程序编写指南 5. Asterisk AGI程序编写指南 5.1概述 很多时候,我们需要在拨号方案中做某些业务逻辑的判断或 ...

  8. JavaEE程序编码规范

    JavaEE程序编码规范 目   录 JAVA程序编码规范1 1变量的命名规则1 1.1常量(包含静态的)1 1.2类变量(静态变量)及实例变量1 1.3局部变量1 1.4参数2 1.5其它2 2方法 ...

  9. 代码编写规范说明书(c#.net与asp.net)

    代码编写规范说明书(c#.net与asp.net) 目 录1 目的2 范围3 注释规范3.1 概述3.2 自建代码文件注释3.3 模块(类)注释3.4 类属性注释3.5 方法注释3.6 代码间注释4 ...

随机推荐

  1. lsof命令总结

    1.lsof 简介 lsof 是 linux 下的一个非常实用的系统级的监控.诊断工具.它的意思是 List Open Files,很容易你就记住了它是 “ls + of”的组合~它可以用来列出被各种 ...

  2. http://blog.csdn.net/majian_1987/article/details/44939911

    http://blog.csdn.net/majian_1987/article/details/44939911

  3. highcharts 切换

    <!doctype html> <html lang="en"> <head> <script type="text/javas ...

  4. android 64位的so文件 报错

     问题解决了,原因是因为豌豆荚搞了个64位的so文件,然后其他用到so的就必须也要有64位的,把他们的64位的so文件删除了,就OK了...

  5. 第一个C语言代码

    #include<stdio.h> void main() {     int g1,g2,g3,r1,r2,r3,n;     int m=0;     float ave;     i ...

  6. sublime打开文件时自动生成并打开.dump文件

    GBK Encoding Support 没有安装前打开ASNI格式编码文件会乱码,安装成功重启则可以打开正常 关于.dump文件生成的解释: 当打开一个非utf-8格式且包含汉字的文件时,subli ...

  7. 安装php 带debug

    gdb安装包   在CentOS6.4下使用gdb进行调试的时候, 使用bt(breaktrace)命令时,会弹出如下的提示: 头一天提示: Missing separate debuginfos, ...

  8. Hibernate4.x之映射文件

    POJO类和数据库的映射文件*.hbm.xml POJO类和关系数据库之间的映射可以用一个XML文档来定义 通过POJO类的数据库映射文件,Hibernate可以理解持久化类和数据库表之间的对应关系, ...

  9. onAttachedToWindow () 和 onDetachedFromWindow () ; 以及更新视图的函数ondraw() 和dispatchdraw()的区别

    protected void onAttachedToWindow() This is called when the view is attached to a window. At this po ...

  10. 使用Busybox-1.2.0制作根文件系统

    使用Busybox-1.2.0制作根文件系统 cross-3.3.2 make-3.8.1 STEP 1: 创建根文件系统目录,主要包括以下目录/bin,/etc,/dev,/mnt,/sbin,/u ...