精通COBOL--11.7.2 嵌套子程序的调用权限

来源:互联网 发布:java项目中对并发 编辑:程序博客网 时间:2024/05/16 14:26

  在嵌套子程序中,程序通常只能调用其直接包含的子程序。若要调用其他子程序,必须在该子程序的标志部定义的程序名后面加上COMMON选项。例如,下面为一段嵌套子程序的大体结构。为便于观察,其中只显示其程序名及结束标志。该结构如下。

PROGRAM-ID.  P.

PROGRAM-ID.  P1  IS  COMMON.

   END PROGRAM  P1.

PROGRAM-ID.  P2  IS  COMMON.

   END PROGRAM  P2.

PROGRAM-ID.  P3.

      PROGRAM-ID.  P31 IS COMMON.

    END PROGRAM P31.

    PROGRAM-ID.  P32.

       PROGRAM-ID.  P321.

       END PROGRAM  P321.

END PROGRAM  P32.

   END PROGRAM  P3.

END PROGRAM P.

以上各程序调用及被调用的权限分别如下。

q      程序P可以调用程序P1P2P3,但不能被任何程序所调用。

q      程序P1可以调用程序P2。并且,该程序能被程序PP2P3P31P32P321所调用。

q      程序P2可以调用程序P1。并且,该程序能被程序PP1P3P31P32P321所调用。

q      程序P3可以调用程序P1P2P31P32。该程序只能被程序P所调用。

q      程序P31可以调用程序P1P2。并且,该程序能被程序P3P32P321所调用。

q      程序P32可以调用程序P1P2P31P321。该程序只能被程序P3所调用。

q      程序P321可以调用程序P1P2P31。该程序只能被程序P32所调用。

实际上,使用COMMON标注的程序是可以被同一嵌套层的其他程序所调用的。例如,P3可以调用P2,因为二者都被嵌套在程序P之后的同一层,并且P2被标注为COMMON。而P2则不可以反过来调用P3,因为P3并不被P2包含在内,并且P3也没标注为COMMON

原创粉丝点击