SAP程序命名规则.docx

上传人:b****7 文档编号:23842889 上传时间:2023-05-21 格式:DOCX 页数:14 大小:19.53KB
下载 相关 举报
SAP程序命名规则.docx_第1页
第1页 / 共14页
SAP程序命名规则.docx_第2页
第2页 / 共14页
SAP程序命名规则.docx_第3页
第3页 / 共14页
SAP程序命名规则.docx_第4页
第4页 / 共14页
SAP程序命名规则.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

SAP程序命名规则.docx

《SAP程序命名规则.docx》由会员分享,可在线阅读,更多相关《SAP程序命名规则.docx(14页珍藏版)》请在冰豆网上搜索。

SAP程序命名规则.docx

SAP程序命名规则

 

长虹集团

E-HR项目

 

SAP程序命名规则

 

四川虹信软件有限公司

2018年9月5日

 

项目编号

E-HR

文档名称

SAP程序命名规则

文档序号

001

项目经理

李力,姚宗明

编写人

庞勇

完成日期

2008-12-23

文档修订记录:

日期

修订版本

修订内容

修订人

目  录

第1章目标4

第2章知识对象的命名规范5

2.1程序命名规范(程序的事务代码同理)5

2.2数据字典的命名规范6

第3章代码规范7

3.1代码单元命名规范7

3.2变量命名规则7

3.2.1自定义变量7

3.2.2函数参数命名规则:

7

3.3屏幕编号规则8

3.4Status命名规则8

3.5注释规则8

3.6事件代码参照编写内容及顺序8

3.7共用函数说明规范12

1.目标

规范长虹HR项目程序、数据字典等知识对象的命名规范;

规范长虹HR项目代码开发的书写规范,提高代码的可读性。

2.知识对象的命名规范

2.1程序命名规范(程序的事务代码同理)

ZXXMNNNN注意:

所有命名都必须是大写字母

XX:

应用代码(以下为常用的主模块列表,可根据需要细化到子模块)

⏹SD:

SalesDistribution营销管理 

⏹MM:

MaterialManagement资财管理(原材料管理) 

⏹PP:

ProductionPlanning生产制造计划 

⏹FI:

FinancialAccounting总帐基本会计

⏹CO:

Controlling控制管理会计

⏹AM:

AssetManagement资产管理固定资产管理

⏹HR:

HumanResource人力资源 

⏹QM:

QualityManagement质量管理 

⏹PM:

PlantManagement设备管理 

⏹PS:

ProjectManagement项目管理 

⏹PL:

ProductLifecycleManagement产品生命周期管理 

⏹WF:

WorkFlow业务流程例如Himas,Onesystem

⏹IS:

IndustrySolution产业研发 

⏹OT:

Other其它

M:

程序类型

⏹R:

REPORT报表

⏹F:

FORM(SAPSCRIPT,SMARTFORM)文档格式

⏹U:

Update数据库更新程序

⏹G:

功能程序

⏹I:

INTERFACE接口

⏹E:

ENHANCEMENT增强

⏹B:

BATCHOPERATION批处理

NNNN:

四位数字流水码

示例:

ZHRR0001,即为HR模块的第1个报表程序。

2.2数据字典的命名规范

ZXXMNNNN注意:

所有命名都必须是大写字母

XX:

应用代码(以下为常用的主模块列表,可根据需要细化到子模块)

⏹SD:

SalesDistribution营销管理 

⏹MM:

MaterialManagement资财管理(原材料管理) 

⏹PP:

ProductionPlanning生产制造计划 

⏹FI:

FinancialAccounting总帐基本会计

⏹CO:

Controlling控制管理会计

⏹AM:

AssetManagement资产管理固定资产管理

⏹HR:

HumanResource人力资源 

⏹QM:

QualityManagement质量管理 

⏹PM:

PlantManagement设备管理 

⏹PS:

ProjectManagement项目管理 

⏹PL:

ProductLifecycleManagement产品生命周期管理 

⏹WF:

WorkFlow业务流程例如Himas,Onesystem

⏹IS:

IndustrySolution产业研发 

⏹OT:

Other其它

M:

数据对象类型

⏹Table(T)

⏹View(V)

⏹STRUCTURE(S)

NNNN:

四位数字流水码

示例:

ZHRT0001,即为HR模块的第1个数据表对象。

3.代码规范

3.1代码单元命名规范

对于复杂的程序,可以将其编写为多个INCLUDE(单元),不同作用的代码放在不同的INCLUDE中,各个INCLUDE的名称按下表编写

Events(TOP-OF-PAGE等)ZXXXXE01

Subroutines(Form.routines)ZXXXXF01

PAIModulesZXXXXI01

PBOModulesZXXXXO01

GlobalDataZXXXXTOP

InputHelpZXXXXH01

其中:

ZXXXX为程序名。

3.2变量命名规则

自定义变量

TypeName:

T_

Internaltables(global):

gt_

InternalTables(Local):

it_

工作区(structure):

wa_

全局变量:

g_

局部变量:

l_

Ranges=r_

Selectionscreenparameter:

p_

select-options:

s_

内部表Global:

GT_(local:

LT_)

工作区Global:

GW_(local:

LW_)

结构体Global:

GS_(local:

LS_)

参数P_

选择项S_

范围R_

静态字段ST_

常量C_

函数参数命名规则:

IMPORTINGparametersIM_

EXPORTINGparametersEX_

CHANGINGparametersCH_

返回参数RE_

函数输出参数PI_

函数输出参数PE_

函数引用参数PC_

函数表参数PT_

3.3屏幕编号规则

选择屏幕编号范围:

1000-1999

录入屏幕编号范围:

1-999

子屏幕编号范围:

3000-4999

3.4Status命名规则

Status命名规则为:

Menu+屏幕号,共用的为Menu+Main

3.5注释规则

1)任何全局变量要简单解释作用或使用地方

2)任何函数超过30行的函数或form必须在关键位置加注释,

3)解释操作意图

4)消息提示使用规则

5)消息请使用ZDEV的标准的消息文本;

7)如果标准消息文本中没有的请找XXX增加,不得自行维护;

8)注释里的创建日期和修改日期必须认证为填写的实际日期

3.6事件代码参照编写内容及顺序

***********************************************************************

*ProgramName:

ZXXXXX*

*ProgramTitle:

*

*Createdby:

创建者姓名*

*Createdon:

2006/02/18*

*REQUESTNO.:

DEVKXXXXXX*

*ProgramDescription:

*

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

*ModificationLog:

*

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

*No.DateProgrammerREQUESTNO.*

*001YYYY/MM/DD修改者姓名DEVKXXXXXX*

*Description:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*

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

*No.DateProgrammer*

*002YYYY/MM/DDXXXXXXXX*

*Description:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*

***********************************************************************

[注意:

版本修改信息中设计文档版本有对应的文档则必须填写。

]

***********************************************************************

*DataDeclaration*

***********************************************************************

INCLUDE:

TABLES:

***********************************************************************

*DataDefination*

***********************************************************************

[必须写各变量的定义注释]

*------------------>Structuredefinition<------------------------------*

*------------------>Endofstructuredefinition<-----------------------*

*------------------>Internaltabledefinition<-------------------------*

*------------------>Endofinternaltabledefinition<------------------*

*------------------>Globalvariantsdefinition<------------------------*

*------------------>EndofGlobalvariantsdefinition<-----------------*

*------------------>Constantsdefinition<------------------------------*

*------------------>EndofConstantsdefinition<-----------------------*

***********************************************************************

*ScreenparameterDefination*

***********************************************************************

SELECTION-SCREENBEGINOFBLOCKXXX

WITHFRAME

TITLEXXXX.

SELECTION-SCREENBEGINOFLINE.

SELECTION-SCREENENDOFLINE.

PARAMETERS:

XXXXRADIOBUTTONGROUPXXX.

SELECTION-SCREENCOMMENTX(Y)TEXT-XXX.

PARAMETERS:

XXXXLIKE/TYPEXXXXMODIFIDXXX.

SELECT-OPTIONSXXXXFORXXXXMODIFIDXXX.

SELECTION-SCREENENDOFBLOCKXXX.

***********************************************************************

*Initialization*

***********************************************************************

INITIALIZATION.”初始化选择屏幕数据

***********************************************************************

*Atselectionscreenoutput*

***********************************************************************

[动态选择屏幕控制(PAI)]

***********************************************************************

*Atselectionscreen*

***********************************************************************

***********************************************************************

*Atselection-screenonvalue-request*

***********************************************************************

ATSELECTION-SCREENONVALUE-REQUESTFORXXX.

[搜索帮助]

***********************************************************************

*Topofpage*

***********************************************************************

***********************************************************************

*Startofselection*

***********************************************************************

***********************************************************************

*Atusercommand*

***********************************************************************

***********************************************************************

*Subforms*

***********************************************************************

[子函数]

***********************************************************************

*FormName:

XXXXX*

*Createdby:

DEVXX*

*Createdon:

2006/02/18*

*FormDescription:

*

*ParameterDescription:

*

*

(1)*

*

(2)*

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

*ModificationLog:

*

*DateProgrammerDescription*

*YYYY/MM/DDXXXXXXXX*

***********************************************************************

3.7共用函数说明规范

***********************************************************************

*FunctionName:

XXXXX*

*Createdby:

DEVXX*

*Createdon:

2006/02/18*

*FunctionDescription:

*

*ParameterDescription:

*

*

(1)*

*

(2)*

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

*ModificationLog:

*

*DateProgrammerDescription*

*YYYY/MM/DDXXXXXXXX*

***********************************************************************

3.8排版

1)程序块要采用缩进风格编写,缩进的空格数一般为2个。

LOOPATXXX.

IFXXX=XXX.____________________________________

SELECTSINGLE*FROMXXXWHEREXXX=XXX.

IFSY-SUBRCNE0.

PERFORMXXX.

ENDIF.

ENDIF.

ENDLOOP.

2)相对独立的程序块之间、变量结构定义之后说明之后必须加空行。

LOOPATXXX.

ENDLOOP.

LOOPATXXX.

ENDLOOP.

3)较长的语句(>72字符)要分成多行书写,新行要进行适当的缩进,使排版整齐。

IFIT_PREPARE-POINTER+0

(1)NE'Z'.

SELECT*FROMCEFORMF

WHERE

APPLCLASS='FGR'

ANDSUBCLASS='01'

ANDTABNAME='ZCS'

ANDFORM='ZCS003'

ANDPOINTER=IT_PREPARE-POINTER.

4)一行禁止写多条语句。

XXX='01'.WRITEXXX.

应写成

XXX='01'.

WRITEXXX.

3.9程序优化的注意点

1)在程序中不准使用Hardcode,如果有HardCode请用常量。

2)消息请用text-xxx再建立,不准直接将消息写在程序中,以满足多语种。

3)在定义数据类型时,尽量使用LIKE。

4)使用case语句时,必须有whenothers.

5)使用Select时,如果所选择的字段数量没有超过整个table的2/3时,不准用select*。

6)SELECT后面的字段的顺序必须与表中的字段的顺序保持一致。

7)使用selectsingle时,如果where语句中,不是表的关键字时,尽量换成uprowsto1代替single。

8)在使用了BAPI、RFC、SELECT、Read、UPDATE、MODIFY、INSERT、DELETE等语句后需要检查SY-SUBRC,判断操作是否成功

9)使用forallentriesinitab时,必须保证itab中记录不为0。

10)对SAP系统表中值,不能使用UPDATE、MODIFY、DELETE或INSERT语句,只能通过BAPI或BDC来修改其值。

11)当内表不再使用时,应及时清空内表和对应的工作区或释放内。

12)READTABLE使用BINARYSEARCH进行二分查找前,必须对表进行按关键字排序。

13)Where语句中请尽量用EQ代表“=”、LE代替“<=”、GE代替“>=”。

14)如果可以用CHECK的地方,尽量用CHECK,而不用IF。

15)在对数据量较多时禁止使用SELECT嵌套。

16)如果需要排序的数据量非常大,用ORDERBY在DBServer进行排序而非SORT。

(数据多少以100条记录为标准)。

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

当前位置:首页 > 职业教育 > 中职中专

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

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