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