1、宏模块
----------------------------------------------------------------------------------------
(1) 宏定义:
DEFINE <macro>.
<宏叙述>.
END-OF-DEFINITION.
(2) 宏使用:
<macro> [<p1> <p2>….]
* <p1> 为传入宏的参数值, 在参数间至少要给予一个空白
2、包含子程序
------------------------------------------------------------------
语法:INCLUDE <include program file>
作用:用于共享数据项,比如全局变量
3、子程序
------------------------------------------------------------------
1、声明:
FORM <subr> [<pass>].
<subroutine statement block>
ENDFORM.
2、调用:
(1) 内部调用:PERFORM <subr> [<pass>]
(2) 外部调用:
① 调用另一程序
PERFORM <subr>(<prog>) [<pass>] [IF FOUND]
② 调用另一专存放子程序的程序文件
PERFORM (<fsubr>) [IN PROGRAM (<fprog>) [<pass>] [IF FOUND]
* 参数传递
------------------------------------------------------------------
(1) 地址传递:
FORM <subr> [USING <f1> <f2>…] [CHANGING <f1>…]
或
PERFORM <subr> [USING <f1> <f2>…] [CHANGING <f1>…]
(2) 值传递:
FORM <subr> USING VALUE(<f1>…)
或
PERFORM <subr> USING <f1>
(3) 传入时值传递,传出时改变返回参数值
FORM ….. CHANGING VALUE(<f1>
或
PERFORM …. CHANGING …. <f1>
* Check控制:CHECK <Condition>,只有条件成立才继续往下子程序叙述
4、函数
------------------------------------------------------------------
(1) 查看系统函数
(2) 函数呼叫:
CALL FUNCTION <module>
IMPORTING F1=a1….
EXPORTING F1=a1….
CHANGING F1=a1…
TABLES F1=a1…
EXCEPTIONS F1=a1…