精通COBOL--16.4.3 RETURN到相同的程序

本文详细介绍了如何在COBOL程序中使用RETURN指令回到同一个程序,形成一个闭环的参数传递。文章通过一个示例程序解释了在交易ROLL中,如何在用户请求显示系统时间和退出之间循环进行,直到用户输入'EXIT'结束事务。程序利用EIBCALEN字段区分任务的首次启动和后续启动,并展示了相应的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  该方式实际上就是将同一个交易中的关联程序既作为参数的发送者,又作为参数的接受者。假设某一交易为ROLL,其关联的程序为ROLLPGM。根据这一条件,图反映了伪会话程序中先后任务对应同一个程序的情况。

需要注意的是,在该方式下,参数的传递将形成一个闭环。同时,在第一次启动任务时,是没有参数传递进来的,因此此时COMMAREA中的内容将为空。当COMMAREA中的内容为空时,该任务的EIB信息之一EIBCALEN将为0。在实际应用中,需要根据判断EIBCALEN的数值将任务的第一次启动和后续启动区分开来。

例如,以下程序采用了RETURN到相同程序(即自身)的方式。通过该程序所对应的交易,将可实现任意次输出系统时间的功能。用户每次输入“TIME”时,便显示出当前时间。该操作可循环进行,直到用户输入“EXIT”退出该项事务。相应代码如下:

IDENTIFICATION  DIVISION.

PROGRAM-ID.  ROLLPGM.                              

*

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值