42.29 程序模块

42.29 程序模块

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…     
 

    


        

你可能感兴趣的:(42.29 程序模块)