用call命令开启一个子程序的执行

上传人:子 文档编号:54400248 上传时间:2018-09-12 格式:PPT 页数:12 大小:137KB
返回 下载 相关 举报
用call命令开启一个子程序的执行_第1页
第1页 / 共12页
用call命令开启一个子程序的执行_第2页
第2页 / 共12页
用call命令开启一个子程序的执行_第3页
第3页 / 共12页
用call命令开启一个子程序的执行_第4页
第4页 / 共12页
用call命令开启一个子程序的执行_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《用call命令开启一个子程序的执行》由会员分享,可在线阅读,更多相关《用call命令开启一个子程序的执行(12页珍藏版)》请在金锄头文库上搜索。

1、COBOL for Mainframe Fundamentals,Ch8 子程序,子程序,COBOL 用CALL命令开启一个子程序的执行。使用CALL命令的函数是主调函数,CALL后面跟被调函数的函数名。一旦一个程序发出函数调用命令CALL,控制权就转移到被调函数,被调函数可以将控制权返回给主调函数,调用另一个子程序或者结束运行单元。,CALL 语句,语法: CALL program-name USING BY REFERENCE | BY CONTENT parm-1 RETURNING parm-n ON EXCEPTION statement-1 NOT ON EXCEPTION sta

2、tement-2 END-CALL,传递参数,主调函数: CALL program-name USING BY REFERENCE | CONTENT parm-1, parm-2, RETURNING parm-nparm1, parm2, 在 FILE SECTION 或 WORKING-STORAGE SECTION里定义被调函数:PROCEDURE DIVISION USING BY REFERENCE | CONTENT parm-1, parm-2, .RETURNING parm-nparm1, parm2, 在 LINKAGE SECTION 里定义注: 主调函数CALLUSI

3、NG 子句 定义的参数个数必须与被调函数PROCEDURE DIVISION 头部里USING 子句 定义的参数个数相同。,BY REFERENCE,主调函数与被调函数中的数据项共享同一块内存。被调函数可以修改数据项内容。缺省选项。,BY CONTENT,被调函数占用局部存储空间,该空间存有主调函数传递给它的数据项。主调函数可以修改,但被调函数不能修改数据项的内容。,BY VALUE,主要用于和非COBOL程序通信。类似于COBOL程序间的BY CONTENTS方式。,三个终止语句,EXIT PROGRAM 主函数: 不发生任何行为。 子程序: 返回调用它的程序,不终止运行单元。GOBACK

4、主函数: 返回调用函数 (可能是返回操作系统,并结束本次作业)。 子程序: 返回调用程序。STOP RUN Main Program主程序:返回调用函数 (可能是返回操作系统,并结束本次作业)。 Subprogram子程序: 立即返回调用主程序的程序。,例 1,MOVE REPORTA TO REPORT-PROG CALL REPORT-PROGON EXCEPTIONDISPLAY Program REPORTA notavailable, using REPORTB.MOVE REPORTB TO REPORT-PROGCALL REPORT-PROGEND-CALL END-CALL,

5、例 2,主程序 WORKING-STORAGE SECTION. 01 NUM1 PIC S9(4). 01 NUM2 PIC S9(4). 01 OUT1 PIC S9(6). . CALL SUBPGM USING NUM1,NUM2 RETURNING OUT1. DISPLAY OUT1. STOP RUN,主程序 LINKAGE SECTION. 01 NUM1 PIC S9(4). 01 NUM2 PIC S9(4). 01 OUT1 PIC S9(6).PROCEDURE DIVISION USING NUM1,NUM2RETURNING OUT1. ADD NUM1, NUM2

6、 TO OUT1.EXIT PROGRAM.,GLOBAL Usage用于全局,程序: PROGRAM-ID. program-name IS COMMON PROGRAM.数据项: 01 data-nameIS GLOBALother data-description entries文件 FD file-nameIS GLOBALother file-description entires,COPY 命令,语法: COPY member例子: WORKING-STORAGE SECTION COPY F-AREA.在成员FRECORD中.01 WK-REC.05 USERID PIC X(10).05 FILLER PIC X.05 PWD PIC X(10).,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号