题
是否有可能通过COBOL计划有意地裁员您的工作。假设我有一个输入文件,其标题,详细信息和预告片记录。我将编写一个读取此文件的COBOL PGM。如果在此文件中找不到详细信息记录,那么我想通过提供一些依据的消息和一些依据的代码来裁员我的工作。是否有可能?
解决方案
您想调整程序还是只是设置 返回代码?
我怀疑设置返回代码,写消息,然后通过 STOP RUN
或者 GOBACK
就是您真正想做的一切。可能不需要导致实际端。
在IBM批处理环境中,您的程序设置的返回代码成为JCL作业步骤的RC,该程序已在下面运行。这通常是您要设置和测试的内容。
这 RETURN-CODE
由 MOVE
为其具有数值。例如:
DISPLAY 'No Detail Records found in file.'
MOVE 16 TO RETURN-CODE
GOBACK.
您还可以使用该程序在语言环境(IBM Mainframe选项)下运行的程序转储 cee3dmp-生成垃圾场效用。
在较旧的IBM Mainframe COBOL程序中,您可能会看到通话 ILBOABN0
常规。此呼叫使您的计划迅速汇总并发布了转储。这个例程现在 贬值 赞成上面概述的技术。
最后,真正的旧程序可能会有代码来生成依据。这可以通过多种方式完成,但是零除以通常是最喜欢的:
DIVIDE SOME-NUMBER BY ZERO GIVING SOME-NUMBER.
每次都可以工作!
就个人而言,我建议设置 RETURN-CODE
过度打电话 ILBOABN0
或数据外观。
笔记: 返回代码特殊注册者不属于COBOL-85标准。它可以作为IBM扩展到该语言。如果您在非IBM兼容环境中工作,则可能需要诉诸其他机制。
其他提示
请参阅下面的链接,以了解如何将返回代码传递回JCL作业步骤以及强制加入代码。http://www.tek-tips.com/viewthread.cfm?qid=1058302&page=22
首先,您应该检查自己的商店/网站的工作标准所接受的内容。出于“逻辑”原因,大多数团队已经有一种公认的方法来故意裁定程序。我在我工作的一家公司有一个非常简单的程序,名为sysabnd2,我相信它是用汇编器编写的,该程序被称为“只是为了裁定该程序”。
也就是说,要使(不仅设置返回代码),您应该调用模块 cee3abd (或以前的版本 Ilboabn0, ,现在已弃用)。
有关详细信息,请参见:
运行异常末端的一种方法是,向用户终端或大型机计算机中心的操作员输出消息,并在必要时可能会向打印机输出一条消息,所有这些都取决于该程序的计算机类型。在COBOL中,可以在上面使用显示。并将标识符用于终端,操作员控制台或打印机,如在环境部门的特殊名称部分中所定义的。一个示例可能与此相似,使用适用于您的案例操作员 - 孔索的正确设备名称在特殊名称中超出OP2,带有“运行错误 - 无细节记录,在Out-op2上流产,并显示“向操作管理器”显示“报告” OUT-OP2并停止运行。在程序部门。任何工作或宏观和操作说明中都需要包括对这种情况的引用。
是的,只需调用一个不存在的模块,就可以通过COBOL程序有意地裁员您的工作。它将给出S806依次的代码。