SAP实施项目文档开发ABAP开发规范v10文档格式.docx

上传人:b****2 文档编号:15060349 上传时间:2022-10-27 格式:DOCX 页数:28 大小:52.30KB
下载 相关 举报
SAP实施项目文档开发ABAP开发规范v10文档格式.docx_第1页
第1页 / 共28页
SAP实施项目文档开发ABAP开发规范v10文档格式.docx_第2页
第2页 / 共28页
SAP实施项目文档开发ABAP开发规范v10文档格式.docx_第3页
第3页 / 共28页
SAP实施项目文档开发ABAP开发规范v10文档格式.docx_第4页
第4页 / 共28页
SAP实施项目文档开发ABAP开发规范v10文档格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

SAP实施项目文档开发ABAP开发规范v10文档格式.docx

《SAP实施项目文档开发ABAP开发规范v10文档格式.docx》由会员分享,可在线阅读,更多相关《SAP实施项目文档开发ABAP开发规范v10文档格式.docx(28页珍藏版)》请在冰豆网上搜索。

SAP实施项目文档开发ABAP开发规范v10文档格式.docx

3.2.7NativeSQL11

3.3介绍11

3.4一般命名规则11

3.5ABAP程序12

3.5.1用户定制程序12

3.5.2ABAP语法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程序编写过程

创建程序代码编写代码审核性能检查自行测试综合测试完成

●创建程序:

根据需要通过标准事务代码创建不同类型的程序、相应对象

●代码编写:

根据代码规范编写代码

●代码审核:

开发小组对开发的程序进行代码审核,要严格符合规范

●性能检查:

用标准的事务SLIN,SE30等对程序的运行效率进行检查

●自行测试:

开发人员用少量的测试数据对程序进行测试

●综合测试:

提交到业务功能组对程序进行全面的测试

2.2程序编写原则

自定义开发的函数及子过程等程序,必须考虑函数及子过程等程序的重用性,保证开发的程序不会与现有程序功能重复。

●代码用大写字母编写

●尽量使用SAP标准程序(例:

系统标准的函数及子过程等程序)

●自定义开发的函数及子过程等程序,必须考虑函数及子过程等程序的重用性,保证开发的程序不会与现有程序功能重复

●尽可能使用SAP提供的模块化技术,提高效率,增强可读性

●尽量不修改标准程序

3程序代码规发和说明

3.1整体框架

第一部分:

注释部分,按照如下格式写明程序的功能和逻辑

*&

------------------------------------------------------------------------------------------------------&

*

程序名称:

&

程序描述:

&

开发人员:

&

创建日期:

程序功能:

---------------更改记录  ---------------------------------------------&

日期更改人.传输请求号主要更改内容描述 &

第二部分:

程序头,在此写清楚程序的名称和相关参数、所用消息类

示例:

REPORTZFIR0001NOSTANDARDPAGEHEADING

LINE-SIZE192

LINE-COUNT58

MESSAGE-IDZ001.

第三部分:

变量、常量、内表等的定义。

示例:

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

数据定义

TABLES:

T001,VBAK,VBAP.

CONSTANTS:

CNS_XXX1(5)TYPECVALUE'

ABCDE'

.

DATA:

V_BUKRSLIKEBSEG-BUKRS.

第四部分:

程序主体包含所用可用的事件,如

初始化

INITIALIZATION.

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

程序执行

START-OF-SELECTION.

程序结束

END-OF-SELECTION.

3.2命名规则

所有ABAP开发程序要尽可能使用SAP提供的模块化技术,以简化代码,提高开发效率。

代码的模块化虽然可能使程序代码行数增加,但可以让程序的主逻辑清晰易读。

模块化的程序更易于维护。

SAP系统中主要的模块化技术:

∙SourceCodeModules(IncludePrograms)

∙Subroutines

∙Functionmodules

∙Dialogmodules

∙Classesandmethods

推荐使用Subroutines,FunctionModules和SourceCodeModules提高模块化,在创建新的FunctionModules之前,请务必确认系统中是否有可替代的函数可用。

3.2.1子程序

◆说明

子程序用于模块化和提高程序的可读性,主程序的各个事件中不应该出现代码逻辑,如IF,While等,而是应该包含一系列子程序的调用,而逻辑细节则应该在子程序中体现;

不要在子程序中使用”TABLES”语句定义表工作区,而是应该在程序的头部数据定义部分;

子程序的名称应尽可能简洁而且体现程序的主要功能,自程序要以FRM_开头。

如:

FRM_GET_DATA,子程序名称尽量避免使用PROCESS这个词,而应使用描述性更强的动词。

FORMFRM_READ_CUSTOMER_NAME.

ENDFORM.“FRM_READ_CUSTOMER_NAME

◆参数传递

●子程序参数命名规则

USING:

前缀‘P_’,‘P_XXX_TAB’

CHANGING:

前缀‘CH_’,‘CH_XXX_TAB’

●按引用传递

用USING或CHANGING指定子程序定义或调用时的参数,当按引用传递参数的时候,USING和CHANGING作用相同。

作为标准,我们要求用USING定义和调用子程序中不应被改变的变量,而用CHANGING定义在子程序中改变或输出的参数。

●按值传递

为了确保传入子程序的参数不会被改变,即使是在子程序中改变了,返回调用环境后参数值也将复原。

之中情况下必须使用”VALUE”关键字指定按值传递,并使用USING传递参数。

FORM….USING…VALUE(<

pa_date>

).

PERFORM…USING<

g_date>

.

●按值和结果传递参数

仅当子程序运行成功,才返回一个改变了的输出参数时,你必须按值和结果传递参数,这种情况下,必须使用CHANGING。

FORM…CHANGING…VALUE(<

)..

PERFORM…CHANGING….<

●局部变量

在子程序中使用局部变量,子程中用到的,在程序其他地方定义的变量通过参数的形式传递近来。

子程序中对全局变量的操作须谨慎,这样会降低子程序的可靠性,如果子程序中使用了全局变量,请考虑使用参数方式传递近来。

●创建子程序

创建子程序的时候,先创建PERFORM语句,然后双击创建子程序;

所有的子程序都必须按照这种方式创建,并且在定义的前面编写详细的注释,如果参数的名称清晰易懂,则不需要额外的说明;

子程序中仅允许使用局部变量和参数,包括不能调用使用了全局变量的字程序。

◆程序格式标准

程序格式是良好代码的一个重要方面,格式良好的程序更加易于维护。

●在合适的地方换行,保持可读性和格式良好

●在逻辑上相对独立的代码片断之间插入空行

●Event,Control,如Form,Module等声名或INCLUDE关键字放在新一行的开始,在此之前,须撰写注释

●每个语句行缩进2个字符位置

●基于可读性考虑,每个ABAP语句要放在新行。

避免如下形式的代码:

‘if(x=1).X=0.endif.’

●使用PRETTYPRINT自动格式化代码。

(但是第一次Release之后不允许使用)

●使用ABAPeditorpattern命令:

(Edit>

Pattern)创建CALLFUNCTION、SUBMIT或Methord调用

●使用模块化技术。

◆注释

一个好的程序应该在没有文档的情况下被他程序员理解,良好的注释可以帮助用户理解程序。

尽管在开发流程中我们规定了技术文档、功能文档的重要作用,但是考虑到有些因素、风险的不可控性,我们要求程序当中必须加入足够的注释。

足够的注释可以使程序达到‘self-documenting’的状态,即不需要参考其它文档。

Self-documentingCode包括业务说明、需求说明、技术说明、测试用例,测试用例可以保证程序的正确性和将来进行衰退测试。

在每个程序块(Form定义的开始、一段逻辑较复杂的代码、尤其是包含动态字段、内表的代码段)前都要插入注释,用于说明为什么这么写代码,并且说明为何此段代码是必须的。

注释的细节程度决定于代码的复杂性,相宜即可。

例:

声明数据时,在数据对象的后面添加inline注释。

TABLES:

EKKO,“Purchaseorderheader

EKPO.“Purchaseorderitem

所有的子程序定义处必须给出详细的说明。

较大的IF,LOOP,CASE和WHILE结构的开始和结尾需给出说明,以便找到对应的开始,结束处。

IFG_BELNRISINITIAL.“StartofNodocumentexists

….

Endif.“EndofNodocumentexists

注释要结合上下文和程序环境,尽可能使其他人明白程序的逻辑。

◆ABAP语句格式

●行宽与换行

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1