COBOL新新手问个简单的问题,程序的入口、出口在哪?

daliboy 2007-06-28 02:47:58
这几天刚接触该语言,感觉它既死板,又灵活。如题,COBOL分4的Division,我的理解是程序的入口应该在Procedure Division处,也就是Procedure Division就类似的于C的Main,对吗?
但是什么时候结束呢?既出口在哪呢?
例如如下代码:
PROCEDURE DIVISION USING BB,
AA.
MAIN-ROUTINE.

PERFORM 10000-OPEN-FILE.
PERFORM 20000-INIT-VARIABLE THRU
20000-INIT-VARIABLE-EXIT.

PERFORM 33000-VALID-MAIN-KEY THRU
33000-VALID-MAIN-KEY-EXIT

IF RECORDS-UPDATED > 0
PERFORM COMMIT-HEADER THRU
COMMIT-HEADER-EXIT
END-IF.

MOVE FUNCTION-KEY TO RET-FUNCTION-KEY.

PERFORM 99999-CLOSE-FILE.

MAIN-ROUTINE-EXIT.
GOBACK.

10000-OPEN-FILE.
......
我的理解程序正常执行完“PERFORM 99999-CLOSE-FILE.
”就结束了,“MAIN-ROUTINE-EXIT.
GOBACK.
”应该算异常处理。
不知以上分析正确否,欢迎指导,谢谢了先:)
...全文
350 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nanhaiyiou 2007-08-26
  • 打赏
  • 举报
回复
搂主,此子程序走到GOBACK的时候结束。但是调用此子程序的进程不终了,除非遇到stop run才结束进程!
Michael_Fung 2007-08-04
  • 打赏
  • 举报
回复
COBOL的程序是从头开始一直执行到底的.除非遇到STOP RUN语句.由于该程序是一个子程序,因此遇到GO BACK语句就会返回给主程序.
tisyou 2007-07-02
  • 打赏
  • 举报
回复
这是个子程序 应该通过主程序来调用,通过变量 AA BB , 对主程序传入传出数据
也就是说AA BB 就是接口
子程序的调用是由主程序中call语句来实现的
比如 在某主程序中 有这样的: call “你的子程序名“ using BB AA .
这样你的子程序就从头到尾执行一次。

daliboy 2007-06-29
  • 打赏
  • 举报
回复
no body use it?!
daliboy 2007-06-28
  • 打赏
  • 举报
回复
谢谢!等待中.......

3,424

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧