ABAP开发规范及命名规则V1.0
- 格式:ppt
- 大小:532.50 KB
- 文档页数:16


蓝月亮SAP项目ABAP程序开发规范目录一、此文档的目的 (2)二、各Module的简称 (2)三、程序命名规则 (2)3.1 程序保存类 (2)3.2程序内部各种变量命名规则 (2)3.3 Dynpro号命名规则 (3)3.4 Dictionary命名规则 (3)3.5 Function module命名规则 (4)3.6 Message命名规则 (4)3.7 Transaction Code命名规则 (4)3.8 程序请求/任务描述规范 (5)四、程序编写规范 (5)4.1 ABAP程序基本结构 (5)4.2 编写风格规范化 (12)一、此文档的目的本文档的目的是确保公司开发的软件的可维护性,为R/3开发进行统一命名、便于统一管理、阅读及简化后续更改难度。
设计者和开发人员必须遵守此规则。
二、各Module的简称三、程序命名规则(例:ZFIRP_01,ZSDBDC_01)3.1 程序保存类开发系统中所有测试的程序均归于开发类$TMP (系统预设)中。
统一使用开发类ZHT3.2程序内部各种变量命名规则3.3 Dynpro号命名规则(一般画面)(例:9000)(POPUP画面)(例:9001)3.4 Dictionary命名规则(Table,Structure,View)(例:ZSDT_DN)(Data Element)(Domain)3.5 Function module命名规则(Import Parameter)(Export Parameter)(Table Parameter)(异常Parameter)(Change Parameter)3.6 Message命名规则3.7 Transaction Code命名规则(例:ZSD01)3.8 程序请求/任务描述规范(例:[AM]: 固定资间报废数据选取表)四、程序编写规范4.1 ABAP程序基本结构输入:程序名以及报表显示宽度程序的相关属性更改记录:包括修改日期、修改人、修改内容(参考举例) REPORT REPORTNAME. LINE-SIZE XX LINE-COUNT YY*------------------------------------------------------------** Program ID/Name: ZMMRP_01* Author's name: ***** Date written: 2008-08-01* Last update: 2008-08-08* Program title: 物料查询报表*------------------------修改日志-----------------------------** Date Userid Reason/Description of Change * 2008-08-01 **** 增加*** 显示字段* 2008-08-08 **** 修改********* **------------------------------------------------------------*如果有Include文件,就输入所有Include文件*------------------------------------------------------------* * 数据声明-开始*------------------------------------------------------------**------------------------------------------------------------* * DESC:INCLUDES文件* *------------------------------------------------------------* Include <icons>.Include <symbols>.Include <system include>.Include ProgramName.程序所用到的表格、结构、视图*------------------------------------------------------------** DESC: 表/ 结构 / 视图的声明 * *------------------------------------------------------------* TABLES:DDIC_tab1, “ Table descriptionDDIC_tab2. “ Table descriptionDDIC_View1. “ Table view descriptionDDIC_Structure1. “ Structure description定义所需要的内表。
ABAP开发规范目录1ABAP对象命名规范 (5)1.1开发类 (5)1.2程序名 (5)1.3数据字典 (6)1.3.1表/结构/数据元素/域 (6)1.3.2表类型 (6)1.3.3范围表类型 (6)1.3.4搜索帮助 (6)1.3.5锁对象 (6)1.4函数组及函数模块 (7)1.4.1函数组 (7)1.4.2函数模块 (7)1.5BADI实施 (7)1.6消息类 (8)1.7类 (8)1.8SMARTFORM (8)1.9自定义权限对象 (8)1.10E NHANCEMENT PROJECT (8)1.11W EB S ERVICE命名 (8)1.12P ROXY 命名 (9)2通用ABAP代码规范 (10)2.1代码格式 (10)2.1.1Pretty Printer (10)2.1.2Spacing (10)2.1.3代码行 (11)2.1.4代码注释 (12)2.2程序变量 (12)2.2.1变量使用说明 (12)2.2.2命名规范 (13)2.2.3常量 (14)2.2.4全局变量 (16)2.2.5内表/结构 (17)2.2.6文本变量 (19)2.3常用语句格式 (20)2.3.1Message (20)2.3.2Call function (20)2.3.3Perform (20)2.3.4Select (21)2.3.5IF (22)2.3.6CHECK (22)2.3.7LOOP (23)2.3.8READ (24)2.3.9WHILE (24)2.3.10DO (24)2.3.11CASE (25)2.3.12CONCATENATE (26)3报表程序规范 (27)3.1程序结构 (27)3.1.1数据初始化子程序 (29)3.1.2数据存取子程序 (30)3.1.3数据处理子程序 (30)3.1.4数据组合子程序 (31)3.1.5数据输出子程序 (32)4子程序规范 (33)4.1模块化代码 (33)4.2参数 (34)4.2.1参数命名 (34)4.2.2参数类型 (34)4.2.3Table参数 (34)4.2.4参数个数要求 (35)4.2.5参数对齐 (37)4.3子程序结构 (37)4.4P ERFORM语句 (38)4.5子程序注释 (39)5功能模块规范 (40)5.1函数模块结构 (40)5.2函数返回值 (40)5.3函数调用 (40)6屏幕对话程序规范 (42)6.1屏幕逻辑流结构 (42)6.2PAI/PBO/POV模块 (43)6.2.1User-command模块 (44)7BADI增强规范 (47)8CMOD增强规范 (49)9BTE增强规范 (50)10程序性能相关代码规范 (51)10.1SQL语句 (51)10.2内表操作 (56)10.3其他语句 (64)10.3.1CASE语句 (64)10.3.2WHILE语句 (64)10.3.3比较语句 (65)附录 (66)1.1SAP业务模块命名表 (66)1.2数据字典对象类型命名表 (66)版本控制1ABAP对象命名规范1.1开发类Z<XX>_<Short text><XX>-业务模块,见附录1<Short text>-简短描述,英文1.2程序名Z<XXY>_<Short text><XX>-业务模块,见附录1<Y>-程序类型代码<Short text>-简短描述,英文注:用于特定程序的include程序按以下方式命名:<主程序名>_<Xnn>, nn-两位流水码1.3数据字典1.3.1表/结构/数据元素/域Z<TXX>_<Short text><T>-数据字典对象类型,参见附表2<XX>-业务模块,见附录1<Short text>-简短描述,英文1.3.2表类型[Z_]<structure >_T[Z_]-如果< structure >名称以Z开头,则可省略<structure>-使用的结构名1.3.3范围表类型[Z_]<dataelement>_T[Z_]-如果<dataelement>名称以Z开头,则可省略<dataelement>-使用的数据元素名1.3.4搜索帮助Z<XX>_SH_<Short text><XX>-业务模块,见附录1<Short text>-简短描述,英文1.3.5锁对象E[Z] <tablename>[Z]-如果<tablename>名称以Z开头,则可省略<tablename>-表名1.4函数组及函数模块1.4.1函数组Z<XX>_<nn><XX>-业务模块,见附录1<nn>-两位流水码1.4.2函数模块<FunctionGroup>_<Short text><FunctionGroup>-函数模块所在的函数组名< Short text >-函数基本功能的短文本1.5BADI实施a) Custom Business Add-inZ<XX>_BADI_< Short text><XX>-业务模块,见附录1< Short text >-BADI 定义的名称b) Custom Business Add-in ImplementationZ<XX>_BADIM_< Short text><XX>-业务模块,见附录1< Short text >-BADI 定义的名称c) SAP Business Add-in ImplementationZ<XX>_IMPL_< Short text><XX>-业务模块,见附录1< Short text >-BADI 定义的名称d) SAP BADI Method< Short text >-自由定义,但有意义,简单描述该方法实现的功能1.6消息类Z<XX>_<nn><XX>-业务模块,见附录1< Short text >-简短描述,英文1.7类Z<XX>_<Short text><XX>-业务模块,见附录1<Short text>-简短描述,英文1.8SMARTFORM[Z]<Reportname>_<Short text>[Z]-如果<Reportname>名称以Z开头,则可省略<Short text>-简短描述,英文1.9自定义权限对象Z<XX>_<Short text><XX>-业务模块,见附录1<Short text>-简短描述,英文1.10Enhancement projectZ<XX><nnnn><XX>-业务模块,见附录1<nnnn>-四位流水码1.11Web Service命名ZWS<XX>_<Short text><XX>-业务模块,见附录1<Short text>-简短描述,英文1.12Proxy 命名Z<XX>_<Short text><XX>-业务模块,见附录1<Short text>-简短描述,英文2通用ABAP代码规范2.1代码格式2.1.1 Pretty Printer所有程序代码应使用pretty printer功能进行规范,包含:代码缩进;关键字大写,其余小写。
ABAP 开发规范说明书修正历史此开发规范,是为了提高SAP系统上ABAP开发实施的高性能,一致性以及形式的统一性而制定,便于统一管理,阅读及简化后续更改难度.目录1 命名 (3)1.1.应用代码 (3)1.2.开发类别 (3)1.3.开发类(Package) (4)1.4.ABAP 自开发程序 (4)1.5.变量命名规约 (6)1.6.移送号管理 (8)1.7.消息类别 (8)2 注释 (9)2.1.修改代码注释 (9)2.2程序头部注释 (11)2.3表/结构定义时的注释 (11)2.4 Form的注释 (12)2.5 对于程序中,大段的逻辑处理的地方必须有注释 (12)3 规范打印机 (13)4 程序开发指导 (14)4.1. 一般规则 (14)4.2.模块化 (17)4.3.选择屏幕 (18)4.4.数据库读取,WHERE 语句 (18)4.5.内表 (20)4.6.性能考虑 (21)1 命名1.1.应用代码使用两位编码来对应应用程序模块,通常程序名的第二、三位反映此编码。
具体编码如下:1.2.开发类别程序名的第四位编码必须反映程序的类型,如下:接口I表单 F数据转换(主要指BDC/BAPI批导程序) BDialog功能开发 D1.3.开发类(PACKAGE)使用一个总的开发类1.4.ABAP 自开发程序程序命名规范1开发程序Z<A><B><C><D>10位字符组成,Z<A><B><C>为必须部分,<D>为附加部分。
Z:1位,固定文本,说明是客户定制化程序<A>: 2位,功能模块(FI/MM等)<B>:1位,程序类型(报表:R,批导:B)<C>:3位,流水码<D>: 3位,其它公司copy原有的程序时用,比如ZMMB014_JP2 COPY 标准程序Z + SAP原程序名3 包含程序对于一般程序的包含程序,使用和程序相同的程序名,加上<A>后缀<A>:3位,包含内容指示符<A>抬头,全局定义TOP功能模块form F+2位数字PAI事件I+2位数字PBO事件O+2位数字Ex: ZSDR0005F01或ZSDR005TOP4 函数组Z<C><NN>,其中<C>是2位功能模块,具体值参照前面,<NN>是3位流水码。