SAP模块化技术与异常处理.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SAP模块化技术与异常处理

模块化技术与异常处理 模块化: 好处有三: 使程序更加的清晰,易读,易于维护。 实现代码的复用。 实现数据封装,数据或功能仅通过接口与模块外部发生联系,这也相应地增加了程序的可读写和可维护性。 分类: 子程序 功能模块 子程序: 子程序的定义方式: Form (子程序名) [ using 参数名 type 类型] Form (子程序名) [ using 参数名] Form (子程序名) [ using 参数名 changing 参数名] ………… subr codes ………… Endform. 在调用此form时,调用的方式为: Perform 子程序名. 注意: 当定义的子程序有输入和输出参数的时候。一定要保持调用时传入的参数和在定义子程序的参数的类型要一致。 功能模块: 功能模块建立的方法与过程: 1. 进入功能函数的界面(t-code: se37 或者 se80 一下以se80为准) 2. 先将建立的类型选择为一个函数组: 3. 如果在以有的函数组下建立function group的话。直接输入所要建立的函数组名或者是已有的名字。 输入短文本,保存到本地对象。保存以后直接active本函数组。 错误提示: REPORT/PROGRAM statement missing, or program type is I (INCLUDE). 如果出现此错误。那么函数组肯定是没有active,进入se80对函数组active一下。就可以了。 4. 进入se37建立function group。 输入已有的函数组。保存到本地对象。 5. 进行对function group 的import 、export、changing 、tablelen进行设置。最后进入source code标签进行对此function group 进行代码的编辑。 6. 编码结束,active后执行程序进行调试。 7. 在se38程序中调用此function group 时的方式为: CALL?FUNCTION?Z_SAP4_TEST_YY ??EXPORTING ????INPUT_1????????= ????INPUT_2????????= *?IMPORTING *???OUTPUT_1???????= 变量的生存周期: 在程序中可以定义全局变量和局部变量。当全局变量和局部变量同名时,局部变量起作用,而全局变量的值不改变。还有一点就是如果当调用一个form并且传入其参数时,而form中对其值进行修改,那么在另一个form中调用全局变量时,其值不变。也就是说,在form中对全局变量进行修改以后,其修改的值值存在于此form中。 还可以建立静态变量,建立的方式为: Static 变量名 type 类型。 在程序中建立一个静态变量以后。无论时在程序中任何一个位置对其进行修改,那么其值会直接更新为修改以后的值。 代码的复用: 代码的复用可以大量的降低程序的耦合度,也可以让程序更加的清晰,易于维护,在开发的代码量也会相应的减少。 主要使用的方式有include程序、宏程序、function group等方式。主要说一下宏程序。 宏程序的建立方式: Define 宏的名字. statements End-of-definition. 在一个宏中可以调用多个宏,方式为。 Define 宏名字 statements. 调用宏的名字 并给他所需要的占位符的个数 End-of-definition. Define 之前调用的宏名字 statements. End-of-definition. 注意:在一个宏中最多可以定义9个占位符。而占位符的方式是1,2……9. 不可以递归调用,可以调用其他宏。 异常处理: 静态异常 这种异常引起的原因基本上是语法的错误,因此比较容易更改。 运行时异常 运行时异常的捕获与处理: 将需要处理异常的语句块放在,非类异常如下: Catch system-exceptions 非类异常的名字 = 数字. Endcatch. if sy-subrc = 数字. 进行异常处理. Endif. 类的异常: data MYREF type ref to CX_SY_ARITHMETIC_ERROR.?“定义一个异常类的对象 data ERR_TEXT type STRING.? data RESULT type I.? try.? ????RESULT = 1 / 0.? ??catch cx_sy_arithmetic_error into MYREF.? ????ERR_TEXT = MYREF-GET_TEX

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档