ABAP8子程序模块..docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ABAP8子程序模块.

2.8 ABAP/4 Program Module ABAP/4中所谓的 Module 在一般语言称之为Subroutine, 其数据传递方式皆相似, 如 CALL BY VALUE,CALL BY REFERENCE 等, 可分成以下几个部分: 1.Macro Block 2.Include Program 3.Subroutine Program 4.Function Module Macro Block 在程序中可以定义一段宏叙述, 并且可以传入参数, 参数符号(Placeholder)可自 1, 2 至 9 1.宏的定义 DEFINE macro. 宏叙述 END-OF-DEFINITION. 2.宏的呼叫使用 macro [p1 p2….] p1 为传入宏的参数值, 在参数间至少要给予一个空白 Example:利用宏计算N次方 DATA RESULT TYPE I. DEFINE MULTI. RESULT = 1 ** 2. WRITE: / ‘1 ^ 2 = ‘,RESULT. END-OF-DEFINITION. MULTI 3 4. 执行结果为 3 ^ 4 = 81 Include Program 1.在ABAP/4中可以使用 Include 叙述加载另一个程序的全部叙述, 通常用于共享数据项的宣告, 很类似C 的Include header file 的做法. 语法: INCLUDE include program file Example: 程序YStart 的内容如下: ***INCLUDE YSTART. WRITE: / ‘User Name = ‘ ,SY-UNAME. WRITE:/ ‘Host Server = ‘,SY-HOST. 另一程序如下: PROGRAM YTEST1. INCLUDE YSTART. “载入 YSstart的所有内容 执行络果: User Name = MIS-CHOU Host Server = deidv01 2.Global 变量宣告应用 语法: DATA: BEGIN OF COMMON PART [name], data 宣告 END OF COMMON PART [name] 此常使用在 Include 的档案中, 如 ***INCLUDE INCOMMON. DATA: BEGIN OF COMMON PART NUMBERS, MID(8), MNUM TYPE I, END OF COMMON PART NUMBERS. Subroutine Procedure 在ABAP/4 Subroutine的呼叫可分成 Internal Call和 External Call, 前者撰写在程序 中, 后者存在另一程序中, 通常为专存放Subroutine的公用程序集, 可提供结不同的 程序呼叫. 1.Subroutine 的宣告 FORM subr [pass]. subroutine statement block ENDFORM. 2.呼叫的方法 (1).Internal Call 语法: PERFORM subr [pass] Example: NUM1 = 100. NUM2 = 200. PROFORM ADD. FORM ADD. SUM = NUM1 + NUM2. WRITE: / ‘NUM1 + NUM2 = ‘,SUM. ENDFORM. 执行结果: NUM1 + NUM2 = 300 (2).External Call 另一程序 语法: PERFORM subr(prog) [pass] [IF FOUND] subr:子程序名称 prog:存放子程序的程序名称 IF FOUND: 找到才执行 Example: PROGRAM FORMPOOL. FORM HEADER. WRITE: / ‘USER NAME: ‘,SY-UNAME. ENDFORM. 在程序中呼叫HEADER子程序 PROGRAM YTEST1. PERFORM HEADER(FORMPOOL) IF FOUND. (3).External Call 另一专存放子程序的程序文件 语法: PERFORM (fsubr) [IN PROGRAM (fprog) [pass] [IF FOUND] Example: 存放子程序的程序文件 PROGRAM FORMPO

文档评论(0)

dashewan + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档