版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、模块化技术与异常处理模块化:a)好处有三:使程序更加的清晰,易读,易于维护。实现代码的复用。实现数据封装,数据或功能仅通过接口与模块外部发生联系,这也相应地增加了程序的可读写和可维护性。b)分类:i.子程序ii.功能模块子程序:子程序的定义方式:using参数名type类型using参数名using参数名changing参数名Form(子程序名)Form(子程序名)Form(子程序名)Endform.在调用此form时,调用的方式为:Perform子程序名.注意:当定义的子程序有输入和输出参数的时候。一定要保持调用时传入的参数和在定义子程序的参数的类型要一致。功能模块:功能模块建立的方法与过程
2、:进入功能函数的界面(t-code:se37或者se80一下以se80为准)先将建立的类型选择为一个函数组:3.如果在以有的函数组下建立functiongroup的话。直接输入所要建立的函数组名或者是已有的名字。函数组Z_TEST_SAP4输入短文本,保存到本地对象。保存以后直接active本函数组。错误提示:REPORT/PROGRAMstatementmissing,orprogramtypeisI_(INCLUDE).如果出现此错误。那么函数组肯定是没有active,进入se80对函数组active一下。就可以了。4.进入se37建立functiongroup。输入已有的函数组。保存到本
3、地对象。进行对functiongroup的import、export、changing、tablelen进行设置。最后进入sourcecode标签进行对此functiongroup进行代码的编辑。编码结束,active后回执行程序进行调试。在se38程序中调用此functiongroup时的方式为CALLFUNCTIONZ_SAP4_TEST_YYEXPORTINGINPUT_1=INPUT_2=*IMPORTINGOUTPUT变量的生存周期:在程序中可以定义全局变量和局部变量。当全局变量和局部变量同名时,局部变量起作用,而全局变量的值不改变。还有一点就是如果当调用一个form并且传入其参数时
4、,而form中对其值进行修改,那么在另一个form中调用全局变量时,其值不变。也就是说,在form中对全局变量进行修改以后,其修改的值值存在于此form中。还可以建立静态变量,建立的方式为:Static变量名type类型。在程序中建立一个静态变量以后。无论时在程序中任何一个位置对其进行修改,那么其值会直接更新为修改以后的值。代码的复用:代码的复用可以大量的降低程序的耦合度,也可以让程序更加的清晰,易于维护,在开发的代码量也会相应的减少。主要使用的方式有include程序、宏程序、functiongroup等方式。主要说一下宏程序。宏程序的建立方式:Define宏的名字.statementsEn
5、d-of-definition.在一个宏中可以调用多个宏,方式为。Define宏名字statements.调用宏的名字并给他所需要的占位符的个数End-of-definition.Define之前调用的宏名字statements.End-of-definition.注意:在一个宏中最多可以定义9个占位符。而占位符的方式是&1,&2&9.不可以递归调用,可以调用其他宏。异常处理:1.静态异常这种异常引起的原因基本上是语法的错误,因此比较容易更改。2.运行时异常运行时异常的捕获与处理:将需要处理异常的语句块放在,非类异常如下:Catchsystem-exceptions非类异常的名字=数字.End
6、catch.ifsy-subrc=数字.进行异常处理.Endif.类的异常:dataMYREFtypereftoCX_SY_ARITHMETIC_ERROR.“定义一个异常类的对象dataERR_TEXTtypeSTRING.dataRESULTtypeI.try.RESULT=1/0.catchcx_sy_arithmetic_errorintoMYREF.ERR_TEXT=MYREF-GET_TEXT().endtry.类异常的异常类型与名字和从属的关系:(Associatedsuperclass:CXSYARITHMETIC_ERROR)BCDZERODIVIDECXSYZERODIVI
7、DECOMPUTE_FLOAT_ZERODIVIDECX_SY_ZERODIVIDECOMPUTEINTZERODIVIDECX_SY_ZERODIVIDEADDFINTOVERFLOWCX_SY_ARITHMETIC_OVERFLOWBCDOVERFLOWCX_SY_ARITHMETIC_OVERFLOWCOMPUTEBCDOVERFLOWCXSYARITHMETICOVERFLOWCOMPUTECOSHOVERFLOWCXSYARITHMETICOVERFLOWCOMPUTEEXPRANGECXSYARITHMETICOVERFLOWC0MPUTEFL0ATDIV0VERFL0WCX_SY
8、_ARITHMETIC_OVERFLOWCOMPUTEFLOATMINUSOVERFLOWCX_SY_ARITHMETIC_OVERFLOWCOMPUTEFLOATPLUSOVERFLOWCX_SY_ARITHMETIC_OVERFLOWCOMPUTEFLOATTIMESOVERFLOWCX_SY_ARITHMETIC_OVERFLOWCOMPUTEINTABSOVERFLOWCXSYARITHMETICOVERFLOWCOMPUTEINTDIVOVERFLOWCXSYARITHMETICOVERFLOWCOMPUTEINTMINUSOVERFLOWCX_SY_ARITHMETIC_OVERF
9、LOWCOMPUTEINTPLUSOVERFLOWCX_SY_ARITHMETIC_OVERFLOWCOMPUTEINTTIMESOVERFLOWCX_SY_ARITHMETIC_OVERFLOWC0MPUTE_L0G10_ERR0RCX_SY_ARITHMETIC_OVERFLOW,CXSYARGOUTOFDOMAINC0MPUTE_L0G_ERR0RCX_SY_ARITHMETIC_OVERFLOW,CXSYARGOUTOFDOMAINCOMPUTEMATHOVERFLOWCX_SY_ARITHMETIC_OVERFLOWCOMPUTEPOWRANGECX_SY_ARITHMETIC_OV
10、ERFLOWCOMPUTESINHOVERFLOWCX_SY_ARITHMETIC_OVERFLOWC0MPUTEAC0SD0MAINCXSYARGOUTOFDOMAINCOMPUTEASINDOMAINCXSYARGOUTOFDOMAINCOMPUTEATANDOMAINCXSYARGOUTOFDOMAINC0MPUTEC0SHD0MAINCXSYARGOUTOFDOMAINC0MPUTEC0SD0MAINCXSYARGOUTOFDOMAINCOMPUTEEXPDOMAINCXSYARGOUTOFDOMAINCOMPUTEMATHDOMAINCXSYARGOUTOFDOMAINC0MPUTE
11、P0WD0MAINCXSYARGOUTOFDOMAINCOMPUTESINHDOMAINCXSYARGOUTOFDOMAINCOMPUTESINDOMAINCXSYARGOUTOFDOMAINCOMPUTE_SQRT_DOMAINCXSYARGOUTOFDOMAINCOMPUTE_TANH_DOMAINCXSYARGOUTOFDOMAINCOMPUTECOSLOSSCX_SY_PRECISION_LOSSCOMPUTEMATHLOSSCX_SY_PRECISION_LOSSCOMPUTESINLOSSCXSYPRECISIONLOSSCOMPUTETANLOSSCXSYPRECISIONLOS
12、SBCDFIELDOVERFLOWCX_SY_CONVERSION_OVERFLOWExceptiongroup:CONVERSION_ERRORS(Associatedsuperclass:CX_SY_CONVERSION_ERROR)BCDFIELDOVERFLOWCX_SY_CONVERSION_OVERFLOWCONVTOVERFLOWCX_SY_CONVERSION_OVERFLOWCONVTCODEPAGECXSYCONVERSIONCODEPAGECONVTNONUMBERCXSYCONVERSIONNONUMBERBCD_OVERFLOWCX_SY_ARITHMETIC_OVE
13、RFLOWExceptiongroup:CREATE_DATA_ERRORS(Associatedsuperclass:CX_SY_CREATE_ERROR)Thisgroupcontainsruntimeerrorsthatmayoccurduringthecreationofdataobjects.CREATE_DATA_UNKNOWN_TYPECX_SY_CREATE_DATA_ERRORCREATE_DATA_NOT_ALLOWED_TYPECX_SY_CREATE_DATA_ERRORCREATEDATALENNOTALLOWEDCX_SY_CREATE_DATA_ERRORCREA
14、TEDATAILLEGALLENGTHCX_SY_CREATE_DATA_ERRORCREATEDATAILLEGALDECIMALSCXSYCREATEDATAERRORCREATEDATAILLEGALINITSIZECXSYCREATEDATAERRORExceptiongroup:CREATE_OBJECT_ERRORS(Associatedsuperclass:CX_SY_CREATE_ERROR)Thisgroupcontainsruntimeerrorsthatmayoccurduringthecreationofobjects.CREATEOBJECTCLASSNOTFOUND
15、CXSYCREATEOBJECTERRORCREATEOBJECTCLASSABSTRACTCX_SY_CREATE_OBJECT_ERRORCREATEOBJECTCREATEPRIVATECX_SY_CREATE_OBJECT_ERRORCREATEOBJECTCREATEPROTECTEDCX_SY_CREATE_OBJECT_ERRORExceptiongroup:DATA_ACCESS_ERRORS(Associatedsuperclass:CX_SY_DATA_ACCESS_ERROR)Thisgroupcontainsruntimeerrorsthatmayoccurduring
16、subfieldaccess(withoffset/length)todataobjects.DATAOFFSETNEGATIVECX_SY_RANGE_OUT_OF_BOUNDSDATALENGTHNEGATIVECXSYRANGEOUTOFBOUNDSDATALENGTH0CXSYRANGEOUTOFBOUNDSDATALENGTHTOOLARGECX_SY_RANGE_OUT_OF_BOUNDSDATA_OFFSET_LENGTH_TOO_LARGECX_SY_RANGE_OUT_OF_BOUNDSREFIWRONGSECTIONCX_SY_RANGE_OUT_OF_BOUNDSSTRI
17、NGOFFSETNEGATIVECX_SY_RANGE_OUT_OF_BOUNDSSTRINGOFFSETTOOLARGECXSYRANGEOUTOFBOUNDSSTRINGLENGTHNEGATIVECXSYRANGEOUTOFBOUNDSSTRINGLENGTHTOOLARGECX_SY_RANGE_OUT_OF_BOUNDSSTRINGOFFSETLENGTHTOOLARGECXSYRANGEOUTOFBOUNDSDATAOFFSETLENGTHNOTALLOWEDCXSYOFFSETNOTALLOWEDSinceasubfieldaccesscanoccurinalmostallsta
18、tements,nokeywordscanbeassigned.Exceptiongroup:DYNAMIC_CALL_METHOD_ERRORS(Associatedsuperclass:CX_SY_DYN_CALL_ERROR)Thisgroupcontainsruntimeerrorsthatmayoccurduringadynamicmethodcall.Thesearenormallyerrorsthattriggerasyntaxerrorifthecallisstatic.DYNCALLMETHCLASSABSTRACTCXSYDYNCALLILLEGALCLASSDYNCALL
19、METHCLASSNOTFOUNDCXSYDYNCALLILLEGALCLASSDYNCALLMETHCLASSCONSTRUCTORCX_SY_DYN_CALL_ILLEGAL_METHODDYNCALLMETHCONSTRUCTORCX_SY_DYN_CALL_ILLEGAL_METHODDYNCALLMETHNOTFOUNDCX_SY_DYN_CALL_ILLEGAL_METHODDYNCALLMETHNOCLASSMETHODCX_SY_DYN_CALL_ILLEGAL_METHODDYNCALLMETHPRIVATECX_SY_DYN_CALL_ILLEGAL_METHODDYNCA
20、LLMETHPROTECTEDCXSYDYNCALLILLEGALMETHODDYNCALLMETHEXCPNOTFOUNDCXSYDYNCALLEXCPNOTFOUNDDYNCALLMETHPARAMKINDCX_SY_DYN_CALL_ILLEGAL_TYPEDYNCALLMETHPARAMLITLMOVECXSYDYNCALLILLEGALTYPEDYNCALLMETHPARAMTABTYPECXSYDYNCALLILLEGALTYPEDYNCALLMETHPARAMTYPECXSYDYNCALLILLEGALTYPEDYNCALLMETHPARAMMISSINGCXSYDYNCALLP
21、ARAMMISSINGDYN_CALL_METH_PARREF_INITIALCX_SY_DYN_CALL_PARAM_MISSINGDYNCALLMETHPARAMNOTFOUNDCXSYDYNCALLPARAMNOTFOUNDDYNCALLMETHREFISINITIALCX_SY_REF_IS_INITIALThefollowingkeywordsareassignedtothisexceptiongroup:CALLMETHODExceptiongroup:FILE_ACCESS_ERRORS(Associatedsuperclass:CX_SY_FILE_ACCESS_ERROR)T
22、hisgroupcontainsruntimeerrorsthatmayoccurduringfileaccess.Typicalexamplesareifthesystemcannotfindthefile,ifnomorespaceisavailabletowriteorcreatethefile,oriftheauthorizationtoaccessthefileismissing.DATASETCANTCLOSECX_SY_FILE_CLOSEDATASETCANTOPENCX_SY_FILE_OPENEXPORTDATASETCANNOTOPENCX_SY_FILE_OPENDAT
23、ASETWRITEERRORCX_SY_FILE_IODATASETREADERRORCXSYFILEIOEXPORTDATASETWRITEERRORCXSYFILEIODATASETSEEKERRORCX_SY_FILE_POSITIONDATASETNOPOSITIONCX_SY_FILE_POSITIONDATASETREADONLYCX_SY_FILE_OPEN_MODEDATASETNOTOPENCX_SY_FILE_OPEN_MODEOPENDATASETNOAUTHORITYCXSYFILE_AUTHORITYOPENPIPENOAUTHORITYCXSYFILE_AUTHOR
24、ITYDATASET_TOO_MANY_FILESCX_SY_TOO_MANY_FILESDATASET_NO_PIPECX_SY_PIPES_NOT_SUPPORTEDExceptiongroup:IMPORT_MISMATCH_ERRORS(Commonclass:CXSIMPORTMISMATCHERROR)ThisgroupcontainsruntimeerrorsthatmayoccurduringtheimportofdatafromtheABAPmemory,fromthedatabase,fromtheSHAREDBUFFER,orfromafileifthetypeorthe
25、lengthofthedatastoredisnotidenticalwiththatofthetargettype.CONNEIMPORTWRONGCOMPDECSCXSYIMPORTMISMATCHERRORCONNEIMPORTWRONGCOMPLENGCX_SY_IMPORT_MISMATCH_ERRORCONNEIMPORTWRONGCOMPTYPECX_SY_IMPORT_MISMATCH_ERRORCONNEIMPORTWRONGFIELDDECSCX_SY_IMPORT_MISMATCH_ERRORCONNEIMPORTWRONGFIELDLENGCX_SY_IMPORT_MI
26、SMATCH_ERRORCONNEIMPORTWRONGFIELDTYPECXSYIMPORTMISMATCHERRORCONNEIMPORTWRONGOBJECTTYPECXSYIMPORTMISMATCHERRORCONNE_IMPORT_WRONG_STRUCTURECX_SY_IMPORT_MISMATCH_ERRORIMPORT_ALIGNMENT_MISMATCHCX_SY_IMPORT_MISMATCH_ERRORIMPORTWRONGENDPOSCX_SY_IMPORT_MISMATCH_ERRORExceptiongroup:LOCALIZATION_ERRORS(Commo
27、nclass:CX_SY_LOCALIZATION_ERROR)Thisgroupcontainsruntimeerrorsthatmayoccurwhenyouswitchtoanothertextenvironment.Typicalexamplesareiftherequiredlanguageisnotallowedorifthesystemwantstoswitchtoacharactersetwhichhasnotbeenreleased.TEXTENVCODEPAGENOTALLOWEDCX_SY_LOCALIZATION_ERRORTEXTENVINVALIDCX_SY_LOC
28、ALIZATION_ERRORTEXTENVKEYINVALIDCXSYLOCALIZATIONERRORExceptiongroup:REMOTE_CALL_ERRORS(Associatedsuperclass:CX_SY_REMOTE_CALL_ERROR)Thisgroupcontainsruntimeerrorsthatmayoccurduringcallsinremotesystems(currentlyonlyCALLMETHOD).Typicalexamplesarenetworkerrorsortheunexpectedterminationoftheconnection.R
29、MCCOMMUNICATIONFAILURECX_SY_RMC_COMM_FAILURERMCINVALIDSTATUSCX_SY_RMC_INVALID_STATUSRMCSYSTEMFAILURECXSYRMCSYSTEMFAILURECALLMETHODNotassignedtoanexceptiongroup:ASSIGNCASTINGILLEGALCASTCXSYASSIGNCASTILLEGALCASTASSIGNCASTINGUNKNOWNTYPECXSYASSIGNCASTUNKNOWNTYPEASSIGNFIELDNOTINRANGECX_SY_ASSIGN_OUT_OF_R
30、ANGEDATASETOFFSETTOOLARGECX_SY_FILE_POSITIONDYNCALLMETHNOTIMPLEMENTEDCX_SY_DYN_CALL_ILLEGAL_METHODEXPORTBUFFERNOMEMORYCX_SY_EXPORT_BUFFER_NO_MEMORYGENERATESUBPOOLDIRFULLCXSYGENERATESUBPOOLFULLMOVECASTERRORCXSYMOVECASTERRORPERFORMPROGRAMNAMETOOLONGCXSYPROGRAMNOTFOUNDREPLACEINFINITELOOPCX_SY_REPLACE_I
31、NFINITE_LOOPI|-CX_SY_GEN_SOURCE_TOO_WIDEI|-CX_SY_GEN_SOURCE_TOO_WIDE|-CX_SY_CREATE_ERROR6、类异常类树CX_SY_ROOT|-cx_static_check|-CX_DYNAMIC_CHECK|-CX_SY_ARITHMETIC_ERROR|-CX_SY_ZERODIVIDE|-CX_SY_ARITHMETIC_OVERFLOW|CXSYARGOUTOFDOMAJN|-CX_SY_PRECISION_LOSS|I-cx_sy_assign_errorTOC o 1-5 h z|-CX_SY_ASSIGN_C
32、AST_ERROR|-CX_SY_ASSIGN_CAST_ILLEGAL_CAST|-CX_SY_ASSIGN_CAST_UNKNOWN_TYPE|-CX_SY_ASSIGN_OUT_OF_RANGE|-CX_SY_CODEPAGE_CONVERTER_INIT|-CX_SY_CONVERSION_ERROR|-CX_SY_CONVERSION_OVERFLOW|-CX_SY_CONVERSION_NO_NUMBER|-CX_SY_CONVERSION_CODEPAGE|-CX_SY_CONVERSION_BASE64|-CX_SY_CONV_ILLEGAL_DATE_TIME|TOC o 1-5 h z|-CX_SY_CREATE_OBJECT_ERROR|-CX_SY_CREATE_DATA_ERROR|-CX_SY_DATA_ACCESS_ERROR|-CX_SY_RANGE_OUT_OF_BOUNDS|-CX_SY_OFFSET_NOT_ALLOWED|-CX_SY_DYN_CALL_ERROR|-CX_SY_DYN_CALL_ILLEGAL_CLASS|-CX_SY_DYN_CALL_ILLEGAL_FUNC|-cx_sy_dyn_call_illegal_method|-CX_SY_DYN_CALL_PA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年全国教师资格之中学信息技术学科知识与教学能力考试素养提升题附答案
- 2025年天津大沽化工厂医院医护人员招聘笔试题库及答案详解
- 2026年枝江市第二人民医院医护人员招聘考试参考题库附答案详解
- 2026年禄劝县第一人民医院医护人员招聘考试模拟试题及答案详解
- 2026年高陵县医院医护人员招聘考试模拟试题及答案详解
- 2026年成都市慢性病医院医护人员招聘考试模拟试题及答案详解
- 2025年拜城县民族医院医护人员招聘笔试题库及答案详解
- 2026年餐饮店开业酬宾活动方案策划书
- 2025年上海市闵行区航华门诊部医护人员招聘笔试题库及答案详解
- 2026学年福建省福鼎市二年级数学期末通关黑金提分题(附答案)详细答案和解析
- 2026-2030中国油气管道工程建设行业现状调查与投资价值评估研究报告
- 检测实验室管理与质量控制手册
- 北师大版初中生物学八年级下册《生命的发生和发展》单元复习教学设计
- 2025年老年人能力评估实务一试卷含答案
- 施工现场排水监理实施细则
- 超声科奖惩制度
- (2025年)法医临床司法鉴定岗前考试试题附答案
- 医院救护车司机安全教育培训
- 湖南2025年湖南蓝山县事业单位招聘45人笔试历年参考题库附带答案详解
- 全国结核病技能竞赛题及答案
- 2026年1月浙江省高考(首考)英语试题(含答案)+听力音频+听力材料
评论
0/150
提交评论