您想要修改程序还是只设置RETURN-CODE?
我怀疑设置一个RETURN-CODE,写一条消息,然后通过一个STOP RUN或者GOBACK你真正想做的终止程序.导致实际的ABEND可能没有必要.
在IBM批处理环境中,程序设置的RETURN-CODE将成为运行程序的JCL作业步骤的RC.这通常是您要设置和测试的内容.
将RETURN-CODE被设定MOVE荷兰国际集团的数值吧.例如:
DISPLAY 'No Detail Records found in file.'
MOVE 16 TO RETURN-CODE
GOBACK.
Run Code Online (Sandbox Code Playgroud)
您还可以使用CEE3DMP - 生成转储 实用程序从语言环境(IBM Mainframe选项)下运行的程序发出程序转储.
在较旧的IBM Mainframe COBOL程序中,您可能会看到对ILBOABN0例程的调用.此调用终止了您的程序并发出了转储.此例程现在已折旧,以支持上述技术.
最后,真正的旧程序可能会在其中包含代码以生成异常终止.这可以通过多种方式完成,但除以零通常是最喜欢的:
DIVIDE SOME-NUMBER BY ZERO GIVING SOME-NUMBER.
Run Code Online (Sandbox Code Playgroud)
每次都有效!
就个人而言,我建议设置RETURN-CODE过度调用ILBOABN0或数据异常tehcniques.
注意: RETURN-CODE特殊寄存器不是COBOL-85标准的一部分.它可作为IBM对该语言的扩展.如果您在非IBM兼容环境中工作,则可能需要使用不同的机制.
| 归档时间: |
|
| 查看次数: |
12778 次 |
| 最近记录: |