SAP 项目开发规范
ABAP开发规范
   

目  录
abap开发顾问是程序员吗1    文档管理    3
1.1    文档变更历史    3
2    编码原则    3
2.1    程序编写过程    3
2.2    程序编写原则    3
3    程序代码规发和说明    3
3.1    整体框架    3
3.2    命名规则    4
3.2.1    子程序    5
3.2.2    SAP程序标准    8
3.2.3    SAPscripts、Smartforms    10
3.2.4    BADI    10
3.2.5    Enhancement    10
3.2.6    UserExit    10
3.2.7    Native SQL    11
3.3    介绍    11
3.4    一般命名规则    11
3.5    ABAP程序    12
3.5.1    用户定制程序    12
3.5.2    ABAP语法    12
3.5.3    事件    15
3.5.4    文本信息    16
3.5.5    用户自定义的包含程序    16
3.5.6    本地对象    16
3.5.7    报表    16
3.5.8    事务代码    17
3.5.9    函数组及函数功能块    17
3.5.10    功能菜单    17
3.5.11    开发包    18
3.5.12    消息类    18
3.5.13    消息编码    19
3.5.14    消息的长文本    19
3.5.15    消息参数    19
3.5.16    消息类型代码    19

1 文档管理
1.1 文档变更历史
日期
版本
变更人
变更备注
2 编码原则
2.1 程序编写过程
创建程序 代码编写代码审核性能检查自行测试综合测试完成
创建程序:根据需要通过标准事务代码创建不同类型的程序、相应对象
代码编写:根据代码规范编写代码
代码审核:开发小组对开发的程序进行代码审核,要严格符合规范
性能检查:用标准的事务SLINSE30等对程序的运行效率进行检查
自行测试:开发人员用少量的测试数据对程序进行测试
综合测试:提交到业务功能组对程序进行全面的测试
2.2 程序编写原则
自定义开发的函数及子过程等程序,必须考虑函数及子过程等程序的重用性,保证开发的程序不会与现有程序功能重复。
代码用大写字母编写
尽量使用SAP标准程序(例:系统标准的函数及子过程等程序)
自定义开发的函数及子过程等程序,必须考虑函数及子过程等程序的重用性,保证开发的程序不会与现有程序功能重复
尽可能使用SAP提供的模块化技术,提高效率,增强可读性
尽量不修改标准程序
3 程序代码规发和说明
3.1 整体框架
  第一部分:注释部分,按照如下格式写明程序的功能和逻辑
*&------------------------------------------------------------------------------------------------------&*
*&  程序名称:                                                          &*
*&  程序描述:                                                              &*
*&  开发人员:                                                        &*
*&  创建日期:                                                        &*
*&  程序功能:                                                        &*
*&---------------        更改记录        ------------------------ --------------------- &*
*&  日期        更改人.    传输请求号        主要更改内容描述      &*
*&------------------------------------------------------------------------------------------------------&*
  第二部分:程序头,在此写清楚程序的名称和相关参数、所用消息类
示例:
REPORT ZFIR0001 NO STANDARD PAGE HEADING
LINE-SIZE 192
LINE-COUNT 58
MESSAGE-ID Z001.
  第三部分:变量、常量、内表等的定义。
      示例:
*&---------------------------------------------------------------------*
*& 数据定义
*&---------------------------------------------------------------------*
      TABLES: T001, VBAK, VBAP.
      CONSTANTS: CNS_XXX1(5)  TYPE  C  VALUE 'ABCDE'.
      DATA: V_BUKRS LIKE BSEG-BUKRS.
  第四部分:程序主体包含所用可用的事件,如
*&---------------------------------------------------------------------*
*& 初始化
*&---------------------------------------------------------------------*
      INITIALIZATION.
*&----------------------------------------------------------------------*
*&          程序执行
*&----------------------------------------------------------------------*
      START-OF-SELECTION.
 
*&----------------------------------------------------------------------*
*&          程序结束
*&----------------------------------------------------------------------*
      END-OF-SELECTION.
3.2 命名规则
所有ABAP开发程序要尽可能使用SAP提供的模块化技术,以简化代码,提高开发效率。代码的模块化虽然可能使程序代码行数增加,但可以让程序的主逻辑清晰易读。
模块化的程序更易于维护。
SAP系统中主要的模块化技术:
Source Code Modules (Include Programs)
Subroutines
Function modules
Dialog modules
Classes and methods
推荐使用Subroutines, Function ModulesSource Code Modules提高模块化,在创建新的Function Modules之前,请务必确认系统中是否有可替代的函数可用。
3.2.1 子程序
说明
子程序用于模块化和提高程序的可读性,主程序的各个事件中不应该出现代码逻辑,如IF, While等,而是应该包含一系列子程序的调用,而逻辑细节则应该在子程序中体现;
不要在子程序中使用”TABLES”语句定义表工作区,而是应该在程序的头部数据定义部分;
子程序的名称应尽可能简洁而且体现程序的主要功能,自程序要以FRM_开头。如: FRM
_GET_DATA,子程序名称尽量避免使用PROCESS这个词,而应使用描述性更强的动词。
FORM FRM_READ_CUSTOMER_NAME.
 
ENDFORM.                      FRM_READ_CUSTOMER_NAME
参数传递

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。