已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川省电力公司企业资源管理ERP系统实施项目程序开发标准四川省电力公司企业资源管理ERP系统实施项目程序开发标准目录3PROGRAMCODINGSTANDARD311PROGRAMSTRUCTURE712VARIABLESINPROGRAMS713CODINGSTYLE714REPORTSTANDARD815DATADEFINITION816BATCHPROGRAM/INTERFACESTANDARD917MESSAGE918PROGRAMLOGIC919DATAACCESS11110INTERNALTABLE11111STRINGOPERATION11112ONLINESTANDARDPROGRAMCODINGSTANDARDCURRENTLY,ABAPPROGRAMMINGLANGUAGESUPPORTSBOTHOBJECTORIENTEDPROGRAMMINGANDPROCEDURALPROGRAMMINGHOWEVER,INORDERTOINCREASETHEPROGRAMREADABILITYANDTOSHORTENTHEDEVELOPMENTTIME,PROCEDURALPROGRAMMINGISRECOMMENDEDFORTHEREPORTPROGRAMMINGTHISSECTIONWILLPROVIDESOMEGUIDELINESFORABAP/4DEVELOPERSTOFOLLOW11PROGRAMSTRUCTUREABAPPROGRAMSARERESPONSIBLEFORDATAPROCESSINGWITHININDIVIDUALDIALOGSTEPSOFANAPPLICATIONPROGRAMITMUSTBEDIVIDEDINTODIFFERENCEPROCESSINGBLOCKSINORDERTOINCREASETHEREADABILITY,THEPROCESSINGBLOCKSSHOULDBEPLACEDINSEQUENCEACCORDINGTOTHEPROCESSINGTIMEFOREXAMPLE,程序名称ZHRR0001程序描述岗位聘用合同书开发人员JESSZENG创建日期2006/08/01程序用途按照人事董事部“岗位聘用合同书”固定格式编写打印A4纸上,树排版。一般情况下,输入人员编号,打印某一个人的合同书。更改记录日期更改人更改版本主要更改内容描述2006/02/15JESSZENGDEVK926584新建2006/07/27JESSZENGDEVK926590REPORTZHRR0001NOSTANDARDPAGEHEADINGLINESIZE192LINECOUNT58MESSAGEIDZ001声明使用到的表TABLEST001,VBAK,VBAP定义常量CONSTANTSCNS_CHAR_X1TYPECVALUEX,CNS_CHAR_11TYPECVALUE1,CNS_CHAR_21TYPECVALUE2,CNS_CHAR_S1TYPECVALUES,CNS_GROUP20TYPECVALUEGIR_ZMMRB338,CNS_TCODE4TYPECVALUEME22,CNS_DISM1TYPECVALUEN,BDCMODECNS_UPDM1TYPECVALUESBDCUPDATE定义变量DATAW_SESSION_FLAG1TYPECSESSIONCREATEFLAG定义内表和结构TYPESBEGINOFTY_OPEN_PO,ZDIVISLIKEEKKOZDIVIS,DIVISIONCOMPANYBSARTLIKEEKKOBSART,POORDERTYPEBEDATLIKEEKKOBEDAT,PODATEEBELNLIKEEKKOEBELN,PONOEBELPLIKEEKPOEBELP,POITEMMATNRLIKEEKPOMATNR,MATERIALCODEMENGELIKEEKPOMENGE,OPENQUANTITYEINDTLIKEEKETEINDT,SCHEDULELINEDATEFLAG1TYPEC,1PARTIALLY2OPENENDOFTY_OPEN_PODATAIT_T90301TYPESTANDARDTABLEOFT90301WITHHEADERLINE,IT_OPEN_POTYPESTANDARDTABLEOFTY_OPEN_POWITHHEADERLINE,IT_GR_MENGETYPESTANDARDTABLEOFTY_GR_MENGEWITHHEADERLINE,IT_EKBETYPESTANDARDTABLEOFTY_EKBEWITHHEADERLINE,IT_EKETTYPESTANDARDTABLEOFTY_EKETWITHHEADERLINE定义选择屏幕SELECTIONSCREENBEGINOFBLOCKB1WITHFRAMETITLETEXT001SELECTIONOPTIONPARAMETERSP_ZDIVISLIKEEKKOZDIVISDIVISIONCOMPARYCODESELECTOPTIONSS_BSARTFOREKKOBSARTDEFAULTZN9B6,ORDERTYPES_CHILDFORT90301ZZCHILDCHILDCODEMATCHCODEOBJECTZSH_CHILDCODE,S_MOTHERFORT90301ZZMOTHERMOTHERCODEMATCHCODEOBJECTZSH_MOTHERCODE,S_EBELNFOREKKOEBELN,PURCHASEORDERS_BEDATFOREKKOBEDATPODATESELECTIONSCREENBEGINOFLINEPARAMETERSCB_TESTASCHECKBOXDEFAULTXSELECTIONSCREENCOMMENT360TEXT002TESTRUNSELECTIONSCREENENDOFLINESELECTIONSCREENENDOFBLOCKB1初始化INITIALIZATION定义页眉TOPOFPAGEDISPLAYTHETOPOFPAGEPERFORMFRM_COMMON_TOP_OF_REPORTUSINGSYTITLESTARTOFSELECTIONSTARTOFSELECTION清空变量PERFORMFRM_CLEAR_VARIANT获取未结POPERFORMFRM_GET_OPEN_PO使用BDC的方式,更改POIFP_TESTISINITIALPERFORMFRM_BDC_UPDATE_POENDIFENDOFSELECTIONENDOFSELECTION将结果显示出来PERFORMFRM_OUTPUT_DATAFORMFRM_GET_OPEN_PO获取未结PO,对所有PO明细项没有被打上删除标记得EKPOLOEKZL,检查PO明细项的历史记录表EKBE,当EBELNEKKOEBELN,EBELPEKPOEBELN累计所有收货数量的值PO的订购数量,这样的PO我们认为是未结POFORMFRM_GET_OPEN_PODATALW_MENGELIKEEKPOMENGE,LW_TABIXLIKESYTABIX,LW_MATNRLIKET90301ZZCHILD从表EKBE中获取PO收货历史记录数据PERFORMFRM_GET_EKBE累计收货数量IFNOTI_EKBEISINITIALLOOPATI_EKBEINTOWA_EKBEIFWA_EKBESHKZGEQHWA_EKBEMENGEWA_EKBEMENGE1ENDIFMOVECORRESPONDINGWA_EKBETOI_GR_MENGECOLLECTI_GR_MENGECLEARI_GR_MENGEENDLOOPENDIF取得PO订购数量LOOPATI_OPEN_POINTOWA_OPEN_POLW_TABIXSYTABIXCLEARWA_GR_MENGEREADTABLEI_GR_MENGEINTOWA_GR_MENGEWITHKEYEBELNWA_OPEN_POEBELNEBELPWA_OPEN_POEBELPBINARYSEARCHIFSYSUBRC0LW_MENGEWA_OPEN_POMENGEWA_GR_MENGEMENGEIFLW_MENGE0MOVELW_MENGETOWA_OPEN_POMENGEIFWA_GR_MENGEMENGE0MOVECNS_CHAR_1TOWA_OPEN_POFLAGELSEMOVECNS_CHAR_2TOWA_OPEN_POFLAGENDIFELSEGRQUANTITYPOQUANTITYCONTINUEENDIFELSEMOVECNS_CHAR_2TOWA_OPEN_POFLAGENDIFAPPENDWA_OUTTOI_OUTENDIFENDLOOP2006/07/27BEGINOFJESSZENGADDLOOPATI_OUTIFI_OUTZZCHILDI_OUTZZMOTHERDELETEI_OUTENDIFENDLOOP2006/07/27ENDOFJESSZENGADDEDENDFORMFRM_GET_OPEN_PO12VARIABLESINPROGRAMS关于变量在程序中的定义,请参考开发命名规则文件中的说明。13CODINGSTYLE序号需要注意的内容R(REQUIRED)/OOPTIONAL1THE“PRETTYPRINTER”FUNCTIONHASBEENUSEDTOLINEUPTHECODER2ANEXTENDEDSYNTAXCHECKHASBEENRUNONTHEABAPPROGRAMR3EVENTSAPPEARINTHEPROGRAMWITHTHEORDERTHEYAREGENERALLYEXECUTEDR4PROGRAMSHOULDHAVEACOMMENTBOXBEFORE“REPORT”STATEMENTACCORDINGTOTHEPROGRAMSPECIFICATIONR5EVERYMODIFICATIONSHOULDBEDOCUMENTEDWITHANADDITIONALCOMMENTBOXADDEDTOTHEPROGRAMR6COMMENTSAREUSEDTOINDICATETHEBUSINESSREASONORPURPOSEOFSUBROUTINES,EVENTS,SECTIONOFCODE,ETCCOMMENTSSHOULDNOTEXPLAININDIVIDUALABAPCOMMANDSR7EACHLOGICALSECTIONOFTHEPROGRAMHASDESCRIPTIVECOMMENTSPRIORTOTHEACTUALCODER8SUBROUTINEORFUNCTIONMODULESHOULDBECREATEDINSTEADOFREPLICATINGTHESAMECODEINMANYPLACESR9FORMENDFORMSTATEMENTSSHOULDBEPLACEDAFTERALLNONSUBROUTINEBLOCKSANDINTHEORDERWHICHTHEYAREEXECUTEDR10“DEADCODE”SHOULDBEREMOVEDFROMTHEPROGRAM,IE,THEFIELDSWHICHARENEVERREFERENCEDANDCODEWHICHCANNEVERBELOGICALLYEXECUTEDR11COMPUTEISNOTUSEDINARITHMETICEXPRESSIONEGDATADATA1ISUSEDINSTEADOFCOMPUTEDATA1R12CALCULATIONSOFFIELDSWITHAUNITOFMEASUREBOTHFIELDSMUSTHAVETHESAMEUOMR13BLANKLINESAREUSEDTOSEPARATEDIFFERENTSECTIONSOFCODEO14DATADATA1ISPREFERREDINSTEADOFADD1TODATAO14REPORTSTANDARD序号需要注意的内容R(REQUIRE)/OOPTION1REPORTISCODEDWITH“NOSTANDARDPAGEHEADING”,LINESIZESHOULDBEADDEDR2SELECTIONTEXTSAREUSEDTOSPECIFYLITERALFORPROGRAMPARAMETERSTHATWILLAPPEARONTHESCREENR3TEXTELEMENTSAREUSEDINSTEADOFHARDCODINGOFLITERALTEXTIEWRITE/TEXT001“CUSTOMERORWRITE/CUSTOMER001R4NOHARDCODINGOFCURRENCYOUTPUTFORMATSINTHEPROGRAMR5SKIPISUSEDINSTEADOFWRITE/,/STATEMENTR6USERDEFAULTDATEFORMATSEESU50ISUSEDINSTEADOFHARDCODINGOFDATEFORMATINTHEPROGRAMEXCEPTINGFORTHESITUATIONTHATALLTHEUSERHAVETHESAMEDATEFORMATO7BLOCKDEFINITIONSELECTIONSCREENOSELECTIONSCREENBEGINOFBLOCKNAMEWITHFRAMETITLETEXTELEMENTSELECTIONSCREENENDOFBLOCKNAME8COMMENTLINESELECTIONSCREENCOMMENT/STARTLENGTHTEXTELEMENTOSELECTIONSCREENULINE/STARTLENGTH9WHENOUTPUTISDESIGNEDTOPRINTONALASERPRINTERCONSIDERTHEOUTPUTOFTHEREPORTSOTHATITWILLFITFORBOTHA4ANDLETTERPAPERSO15DATADEFINITION序号需要注意的内容R(REQUIRE)/OOPTION1VARIABLESTHATARENOTCHANGEDINTHEPROGRAMAREDEFINEDWITHCONSTANTSTATEMENTCONSTANTPUTYPEFVALUE314159265359R2COMMENTSAREINCLUDEDAFTEREACHFIELDTABLES,FIELDSOFINTERNALTABLES,CONSTANTS,VARIABLES,ETCTODESCRIBETHEMEANINGORPURPOSEOFTHEFIELDR3LIKEVERBISUSEDWHILEDECLARINGTHEFIELDSWHENEVERFEASIBLER4WHENDECLARING,DATATYPEANDLENGTHARENOTLEFTASDEFAULTR5VARIABLENAMESAREDESCRIPTIVE,MEANINGFULANDUNDERSTANDABLER6GLOBALVARIABLESAREMINIMIZEDBYDECLARINGLOCALVARIABLESORBYPASSINGVARIABLESTHROUGHPARAMETERSANDARGUMENTSWHILECREATINGINTERNALSUBROUTINER7INCLUDESARECREATEDFORDATADECLARATIONSANDANYDATASTRUCTURETHATWILLBEUSEDINMORETHATONEABAPPROGRAMO16BATCHPROGRAM/INTERFACESTANDARD序号需要注意的内容R(REQUIRE)/OOPTION1OPENTHEDATASETBEFORETHEREAD/WRITEOPERATION,ANDALWAYSCLOSETHEFILEWHENFILEPROCESSINGFINISHEDR2“SUCCESS”MESSAGESTYPES,WHICHWILLBEOUTPUTTO“JOBLOG”WHENTHEBATCHPROGRAMMINGISBEINGPROCESSEDSHOULDBEUSEDGENEROUSLYTOPROVIDEANAUDITTRAILOFTHEPROGRAMSEXECUTIONR3PROGRAMVARIANTSAREUSEDIFAPROGRAMNEEDSTORUNWITHDIFFERENTPARAMETERSO17MESSAGE序号需要注意的内容R(REQUIRE)/OOPTION1MESSAGESAREINCLUDEDATAPPROPRIATEPLACESTOINDICATEILLEGALOPERATION,NOAUTHORIZATION,NODATAFOUND,ETCR2EVERYMESSAGEERROR/INFORMATION/WARNINGINTHEPROGRAMHASACOMMENTBEFOREHANDFOREXPLANATIONR3IFFUNCTIONMODULESUSED,EVERYERRORMESSAGESHOULDBECAPTUREDANDPROCESSEDACCORDINGLYR4CUSTOMERSPECIFIEDMESSAGEIDSHOULDBECREATEDANDMAINTAINEDINSTEADOFUSINGTHEDEFAULTMESSAGEIDSSUPPLIEDBYSAPASTHEYMAYCHANGEINFUTURERELEASESO18PROGRAMLOGIC序号需要注意的内容R(REQUIRE)/OOPTION1ALLLOOPS,IFS,CASES,ANDSIMILARSTATEMENTSAREBROKENDOWNTOTHEIRSIMPLESTFORMANDNESTINGISNOTCOMPLICATEDUNLESSABSOLUTELYNECESSARYR2IFWHENUSINGTHEANDOROROPERATOR,THEMOSTLIKELYELIMINATIONCRITERIAISSPECIFIEDFIRSTR3CLEARFIELDISREQUIREDBEFOREUSINGTHEVARIABLE,WORKAREAR4TABLEHEADERSANDWORKAREASARECLEAREDATTHEENDOFLOOPPROCESSINGRLOOPATIT_TABCLEARIT_TABENDLOOP5WHENCODINGIF,TESTINGCONDITIONSARENESTEDSOTHATTHEMOSTFREQUENTLYTRUECONDITIONSAREPROCESSEDFIRSTR6CASEISUSEDINSTEADOFIFWHENTESTINGFIELDS“EQUALTO”SOMETHING,BECAUSEITISEASIERTOREADANDMOREEFFICIENTAFTERABOUTFIVENESTEDIFSR7ALLCASESTATEMENTSMUSTHAVEAWHENOTHERSSTATEMENTTOCAPTUREUNEXPECTEDERRORSR8WHILEISUSEDINSTEADOFDOEXITSTATEMENTR9CHECKISUSEDINSTEADOFIF/ENDIFWHENEVERPOSSIBLEO19DATAACCESS序号需要注意的内容R(REQUIRE)/OOPTION1INSELECTSTATEMENT,ONLYTHEFIELDSTHATARENEEDEDARESELECTEDINTHEORDERTHATTHEYRESIDEONTHEDATABASER2THEORDERINGOFTHEWHERESTATEMENTSMATCHTHEARRANGEMENTOFTHEKEYSINTHETABLERECORDSR3FORSELECTINGSINGLEROWFROMADATABASETABLE,USE“SELECTSINGLE”INSTEADOF“SELECT”IFTHEFULLPRIMARYKEYISKNOWNOTHERWISE,USE“UPTO1ROWS”R4SYSUBRCISCHECKEDAFTERDATABASECALLSANDOTHERACTIVITIESWHENACTUALLYSETBYTHESYSTEMWHENLOGICMUSTBEUSEDFORERRORHANDLINGR5ALWAYSSPECIFYTHECONDITIONSINWHERECLAUSEINSTEADOFCHECKINGTHEMWITHCHECKSTATEMENTR6FIELDSCOMPAREDINTHEWHERECLAUSEOFSELECTSTATEMENTSHAVESIMILARTYPESR7WHENUSINGTHEANDOROROPERATOR,THEMOSTLIKELYELIMINATIONCRITERIAISSPECIFIEDFIRST,ANDSOONDOWNTOTHELEASTLIKELYCRITERIAR8FORCLUSTERTABLES,ONLYTHECONSECUTIVEFIELDSTHATAREPARTOFTHEKEYAREQUALIFIEDINTHEWHEREOPTIONTHECHECKCOMMANDISUSEDTOELIMINATEOTHERRECORDSR9AGGREGATEFUNCTIONSSHOULDBEUSEDWHENCALCULATINGTHEMAX,MIN,SUM,AVG,COUNTOFADATABASETABLER10ALWAYSSELECTINTOANINTERNALTABLE,EXCEPTWHENTHETABLEWILLBEVERYLARGEIE,WHENTHEINTERNALTABLEWILLBEGREATERTHAN500,000RECORDSUSE“UPTONROWS”WHENTHENUMBEROFRECORDSNEEDEDISKNOWNR11DONOTUSENESTEDSELECTUSE“INNERJOIN”AND/OR“FORALLENTRIES”INSTEAD“FORALLENTRIES”ISUSEDOVER“LOOPATITAB/SELECT/ENDLOOP”R12WHENUSINGFORALLENTRIES,MUSTCHECKTHATTHETABLEUSEDINTHEWHERECLAUSEISNOTEMPTYR13WHENEVERPOSSIBLE,USEARRAYOPERATIONSINSTEADOFSINGLEROWOPERATIONSTOMODIFYYOURDATABASETABLESR14SINCEVIEWSDONOTHAVEAPRIMARYKEY,ORDERBYPRIMARYKEYSHOULDONLYBEUSEDINTHEDATABASETABLESR15SINCE“ORDERBYF1FN”ISNOTAUTOMATICALLYSUPPORTEDBYASORTEDINDEX,YOUSHOULDSORTTHERESULTSETWITHSORTONTHEAPPLICATIONSSERVERINSTEADOFWITHORDERBYF1FNONTHEDATABASESERVERR16THEUSEOFNEGATIVELOGICINSELECTSISAVOIDEDWHENEVERPOSSIBLEO17SECONDARYINDEXUSAGEWHENPOSSIBLE,INTHEWHERECLAUSETHEFIELDSOFTHEINDEXAREINTHESPECIFIEDORDERANDLINKEDBYTHELOGICALANDWITHCOMPARISONSFOREQUALITYOASECONDARYINDEXHASBEENCONSIDEREDIF1NONKEYFIELDSORFIELDSFORWHICHINDEXSUPPORTDOESNOTEXISTAREREPEATEDLYUSEDTOMAKESELECTIONS2ONLYASMALLPARTOFALARGETABLEISSELECTED53THEWHERECONDITIONOFTHESELECTISSIMPLE4FIELDSTHATMAKEUPTHEINDEXSIGNIFICANTLYREDUCETHESELECTIONSETOFTHERECORDSBYMATCHINGTHEUNIQUEQUALIFIERSINTHEWHERECLAUSENOTEPRIORTOCREATINGSECONDARYINDEXES,CONSULTATIONWITHTHEDATABASEADMINISTRATORISREQUIRED18INNERJOINSINA1NRELATIONSHIPBETWEENTWOTABLES,THETABLEWITHTHE1RELATIONSHIPISTHEPREFERREDDRIVINGTABLETHE1RELATIONSHIPISTHESMALLESTDATASETASDEFINEDBYTHEHEADER/ITEMRELATIONSHIPAND/ORTHESMALLESTDATASETASDEFINEDBYTHEWHERECLAUSERESTRICTIONSO110INTERNALTABLE序号需要注意的内容R(REQUIRE)/OOPTION1MOVECORRESPONDINGISUSEDONLYWHENTWOINTERNALTABLESHAVEIDENTICALFIELDSANDYOUONLYWANTTOMOVEAFEWRECORDSFROMONETOTHEOTHEROTHERWISE,MOVESHOULDBEUSEDR2SORTFIELDSONTHESORTSTATEMENTSHOULDNOTBELEFTASDEFAULTIESORTITABBYFLD1INSTEADOFSORTITABR3LOOPATITABWHEREKXXXSHOULDBEUSEDINSTEADOFLOOPATITAB/CHECKITABKXXXR4INTERNALTABLESAREFREEDWHENNOLONGERNEEDEDEITHERBYTHEFREECOMMANDORASUBROUTINEEXIT,ESPECIALLYWHENTHETABLESARELARGEORTHEPROGRAMISABATCHPROGRAMR5USEAPPENDLINESOFITABLETOMERGETWOINTERNALTABLESR6APPENDSORTEDBYUSEDONLYFORREPORTSSUCHAS“TOP50”OR“TOP100”R7FORREADOPERATIONS,THEKEYFIELDSARESPECIFIEDFORT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体检中心医疗纠纷预防与处理工作手册
- 纳米胶体软磁性材料典型计量特性测量规范
- 工矿危险化学品安全管理手册
- 食品安全与操作流程手册
- 起重机吊装作业风险辨识与防控措施手册
- 项目书风险评估与应对策略编写手册
- 船舶安全管理与应急处理手册
- 2026年保险合同纠纷代理服务合同二篇
- 2018新版gmp培训试题及答案
- 2025年海南省三亚市高职单招职业技能考试模拟试卷带答案详解(综合题)
- 原发性骨质疏松症药物达标治疗2026
- 2026浙江台州市路桥区交通运输局下属事业单位招聘编外聘用人员2人笔试备考题库及答案详解
- 统编版语文五年级(上册)古诗词解读
- 初中化学九年级跨学科主题复习:化学方程式的三重表征与模型建构导学案
- 2026年山东龙山产业发展投资集团有限公司招聘(32人)笔试参考题库及答案详解
- 2026年重症5c考试试题附规范答案(高阶版)
- 路灯平均照度、功率密度值计算
- 环境影响评价项目操作预案
- 2026工业机器人核心零部件市场现状及供需结构分析报告
- 2025-2026学年地质版三年级体育全一册(教案设计)
- 2026年芯片设计DFT工程师高频面试题包含详细解答
评论
0/150
提交评论